Visualizzazione stampabile
-
Quote:
Originariamente inviato da
Hirishiolo
a quel che ricordo ai tempi il problema stava in una libreria "xxx.so" che si bypassava con HideMyRoot, poichè decompilarla e ricompilarla mi veniva difficile...
Purtroppo tutto nasce da queste librerie native (.so) che non si sa perché su certi kernel non vengono caricate perfettamente in memoria e quindi non funzionano a dovere (semplifico e banalizzo).
L'app di premium play fa uso di queste librerie per determinate chiamate e questo fa sì che su alcuni dispositivi non funzioni perfettamente mandandola in crash. Non è quindi (ora) un problema di root o di protezioni, ma di difetto di compatibilità che i programmatori (che possiedono il sorgente dell'app) dovrebbero risolvere e non so perché non lo facciano.
Al momento mi trovo davanti uno scoglio non semplice: una chiamata a queste librerie è abbastanza complessa e non può essere semplicemente elusa perché tutto vada a buon fine.
Una ipotesi di lavoro è quella di ricostruire tutta la call (e tutte le altre procedure a catena) della libreria .so che i devices non compatibili non eseguono e aggiungerlo al codice dell'app in modo tale che poi i risultati vengano processati nelle istruzioni seguenti, pena altrimenti ulteriori errori soprattutto nella fase di verifica dei diritti che platform purple.com esegue.
Non è semplice e non so se io sia in grado di farlo. :( Purtroppo non solo non trovo molte info in rete su queste librerie .so da analizzare, ma non ci sono neppure altri utenti interessati alla cosa.
Vedremo.
Buona befana a tutti.
-
ma in realtà io pensavo che la libreria .so che ho indicato facesse dei controlli supplementari sul root (e infatti con HideMyRoot funzionava), invece per il codice java bastava eludere i 3 controlli del checkRoot()...
-
Quote:
Originariamente inviato da
Hirishiolo
ma in realtà io pensavo che la libreria .so che ho indicato facesse dei controlli supplementari sul root (e infatti con HideMyRoot funzionava), invece per il codice java bastava eludere i 3 controlli del checkRoot()...
Ritengo che sia così come dico almeno in riferimento alle ultime versioni 5.x Questo spiegherebbe il motivo per cui non basti più nascondere il root perché l'app vada ed è il motivo perché non ci siano versioni moddate in giro. Proprio perché (spero davvero di sbagliarmi) non è èiù questione di protezione, ma di esecuzione di istruzioni a basso livello che sono incompatibili con certi devices, quelli in cui anche se il root non c'è l'app va in crash.
A proposito, quale debug log avevi utilizzato per verificare che il file .so (dxdrmdlc oppure dlcCore forse?) s'accorgesse del root?
-
dunque mi pare avessi cercato informazioni circa l'errore che riscontravo nel log di android quando facevo partire PremiumPlay, da lì ero arrivato alla conclusione che alcune app non andavano con il root a causa di quella libreria, e avevo trovato info nel forum di xda riguardo l'app RootCloack:
App: Yelo TV - Telenet
Method: Detects root via native library (built with Android NDK). Unsure of exact method, but the strings "ERROR: Device is rooted. aborting execution" and "ERROR: Debbuger running. aborting execution" can be found in the library.
Relevant Files: libDxDrmDlcCore.so
-
Quote:
Originariamente inviato da
Hirishiolo
dunque mi pare avessi cercato informazioni circa l'errore che riscontravo nel log di android quando facevo partire PremiumPlay, da lì ero arrivato alla conclusione che alcune app non andavano con il root a causa di quella libreria, e avevo trovato info nel forum di xda riguardo l'app RootCloack:
App: Yelo TV - Telenet
Method: Detects root via native library (built with Android NDK). Unsure of exact method, but the strings "ERROR: Device is rooted. aborting execution" and "ERROR: Debbuger running. aborting execution" can be found in the library.
Relevant Files: libDxDrmDlcCore.so
Intanto grazie per la ricerca e per la puntualizzazione.
Purtroppo logcat non mi dà questo tipo di informazioni quando l'app va in crash e quindi non mi aiuta a ricercare il motivo.
Disassemblando questa libreria nativa non si trova purtoppo nessuna funzione chiaramente legata al check del root.
Se però fosse questo il problema, l'app non dovrebbe andare in crash su device senza root ed invece succede spessissimo. Questo è il dubbio che mi fa propendere per l'altra ipotesi.
Al momento c'è una cosa chiara nella situazione in cui si trova l'app e tra l'altro ho trovato conferma su un altro forum:
su certi devices alcune funzioni jni che si rifanno a librerie native non fanno il loro dovere (lì si parlava di getdeviceuniqueid) e questo crea problemi di funzionamento a tutta l'app naturalemente.
Ora il perché questo succeda non (mi) è chiaro: se fosse problema di api, forse l'unica soluzione sarebbe aggiornare il proprio device a versioni android superiori con api più aggiornate, ma è un campo che conosco poco. Tanto più che ho un boxtv con android 6 ed il problema si presenta lo stesso....
-
Riprendo il discorso. Purtroppo lavorare con queste librerie native non è facile né ho tali competenze per arrivare a debuggarle. Se qualcuno sa come si può fare, è il benvenuto.
Sono riuscito a disassemblare con non poca difficoltà questa libreria e purtroppo non ho trovato le stringhe ascii di cui si parlava e nemmeno in logcat trovo l'avviso che si è accorto che
si è sotto root (anche se non è vero!).
Cmq la protezione presente in questa libreria si spiegherebbe perché su certi devices (a prescindere dalla versione api) restituisca i giusti valori e l'app funzioni e su altri invece restituisca null (evidentemente perché al check del root la routine si blocca) ed alla fine l'app vada in crash.
-
Buonasera ragazzi. Sono qui perchè devo dire che quest'app mi sta veramente facendo uscire di testa. Ho un LG G2 rootato e con Custom ROM, e credo che il problema possa dipendere dal primo fattore, anche se non ho alcun avviso a riguardo. Praticamente ho provveduto a "nascondere" il root tramite app esterne, tipo RootCloak e HideMyRoot, e sembrava andare tutto bene, in quanto l'app non mi restituiva più l'avviso riguardo al dispositivo rootato.. tuttavia ogni volta che avvio qualche canale, dopo la pubblicità, l'app crasha. Mi sapete dire se è dovuto comunque al root? Perchè anche tempo fa il dispositivo era rootato, ma allo stesso modo riuscivo a vedere tutto, ora invece non più (dopo aver formattato). Probabile che dipenda dall'ultima versione e che installandone una vecchia si possa risolvere?
Grazie a tutti in anticipo :laughing:
-
Io ho un asus zenfone selfie, rom originale dove premium play funziona regolarmente ma sul box tv Bqeel M9C S905x niente. Non c'è proprio nulla da fare?
-
Ciao a tutti,
ho un oneplus one che vorrei aggiornare la cyanogen che era il sistema operativo originale non svilupperà più e quindi vorrei paassare al nuovo sistema operativo oneplus hydrogen, l'unico problema è appunto premium play che uso spesso.
da quello che ho letto non ci sono speranze? perchè ovviamente per passare a hydrogen devo roottare ecc.
grazie
-
Pare di no purtroppo...
Inviato dal mio LG-H815 utilizzando Tapatalk