Ma wanam è un altro modulo?
Visualizzazione stampabile
Ma wanam è un altro modulo?
ragazzi io possiedo un tablet Onda V975m.
Allora sul mio note 2 l'app funziona perfettamente.
Ho trasferito l'apk sul tablet. L'app si apre , ma dopo il login mi dice ke ci sono problemi di connessione.
Sul tablet ce la 4.3 stock con root
Esistono metodi per farlo funzionare?
Inoltre nemmeno skygo funziona del tutto. Mi dice di attivare l'opzione dal sito sky.
Ma è tutto attivato.
Abbonamenti validi sia per premium ke per sky
A come ho capito il tuo tablet deve risultare un Samsung.
Io ho messo sul mio mk809 la rom Finless che me lo modifica in GT-qualcosa, ma evidentemente non è il modello giusto...modificando il build.prop già ho fatto un casino una volta...
E' prevista una versione ufficiale per smartphone?
Per ora no
Sciurtone io sto come te. Mk809 II con finless. Già provato con build e compagnia ma ho dovuto riflasharlo una volta per boot loop. Uffa.
Riassumendo un poco:
Samsung S3 no root
Nexus 5 no root
qualcuno è riuscito a farlo funzionare?
Thanks
a qualcuno funziona su un mtk?
allora stavo guardando un po' l'apk decompilato... io cambierei la funzione che richiama 3 funzioni per controllo del root con un ritorno sempre falso.
"\smali\it\mediaset\premiumplay\utils\security\Sec urityUtils.smali"
poi ho notato che nel seguente file ci sono delle richieste sul tipo di sistema operativo etc etc... forse modificando questi si può fare andare l'apk anche su cyano...codice:.method public isDeviceRooted()Z
const/4 v0, 0x0
return v0
.locals 1
.prologue
.line 137
invoke-direct {p0}, Lit/mediaset/premiumplay/utils/security/SecurityUtils;->checkRootMethod1()Z
move-result v0
if-nez v0, :cond_0
invoke-direct {p0}, Lit/mediaset/premiumplay/utils/security/SecurityUtils;->checkRootMethod2()Z
move-result v0
if-nez v0, :cond_0
invoke-direct {p0}, Lit/mediaset/premiumplay/utils/security/SecurityUtils;->checkRootMethod3()Z
move-result v0
if-nez v0, :cond_0
const/4 v0, 0x0
:goto_0
return v0
:cond_0
const/4 v0, 0x1
goto :goto_0
.end method
"\smali\it\mediaset\premiumplay\utils\security\Aut henticateUtils.smali"
codice:.method public getDeviceIdentifiers()Ljava/lang/String;
.locals 5
.prologue
.line 48
const/4 v1, 0x0
.line 50
.local v1, deviceIdentifiers:Ljava/lang/String;
const/4 v3, 0x0
.line 52
.local v3, sb:Ljava/lang/StringBuilder;
sget v4, Landroid/os/Build$VERSION;->SDK_INT:I
invoke-static {v4}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v0
.line 53
.local v0, androidVersion:Ljava/lang/String;
invoke-virtual {p0}, Lit/mediaset/premiumplay/utils/security/AuthenticateUtils;->getMACAddress()Ljava/lang/String;
move-result-object v2
.line 55
.local v2, macAddress:Ljava/lang/String;
if-eqz v0, :cond_0
if-eqz v2, :cond_0
.line 56
new-instance v3, Ljava/lang/StringBuilder;
.end local v3 #sb:Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
.line 58
.restart local v3 #sb:Ljava/lang/StringBuilder;
const-string v4, "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 59
const-string v4, "<deviceIdentifiers xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 60
const-string v4, "<Element>"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 61
const-string v4, "<Name>ANDROID</Name>"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 62
const-string v4, "<Value>"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 63
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 64
const-string v4, "</Value>"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 65
const-string v4, "</Element>"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 66
const-string v4, "<Element>"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 67
const-string v4, "<Name>MAC</Name>"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 68
const-string v4, "<Value>"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 69
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 70
const-string v4, "</Value>"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 71
const-string v4, "</Element>"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 72
const-string v4, "</deviceIdentifiers>"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 74
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 77
:cond_0
return-object v1
.end method
però non so che valori sostituire, qualche programmatore a cui funziona sa dirmi che valori corretti di rom stock restituire?codice:public AuthenticateUserResponse AuthenticateUser(String _username, String _password) {
String username = _username;
String password = _password;
String deviceIdentifiers = AuthenticateUtils.getInstance().getDeviceIdentifiers();
String iPadId = AuthenticateUtils.getInstance().getIpadID();
Log.d("deviceIdentifiers", deviceIdentifiers);
Log.d("iPadId", iPadId);
String applicationId = AuthenticateUtils.getInstance().getApplicationVersionCode() != null ? AuthenticateUtils.getInstance().getApplicationVersionCode() : ;
try {
applicationId = URLEncoder.encode(applicationId, "UTF-8");
if((!TextUtils.isEmpty(username)) && (!TextUtils.isEmpty(password))) {
username = URLEncoder.encode(username, "UTF-8");
password = URLEncoder.encode(password, "UTF-8");
}
} catch(UnsupportedEncodingException e) {
return null;
}
url = "action=AuthenticateUser";
url = "&channel=IPAD";
url = "&applicationId=" + applicationId;
url = "&androidDecriptFlag=Y";
if((!TextUtils.isEmpty(username)) && (!TextUtils.isEmpty(password))) {
url = "&username=" + username;
url = "&password=" + password;
}
ArrayList<NameValuePair> parameters = new ArrayList<NameValuePair>();
parameters.add(new BasicNameValuePair("action", "AuthenticateUser"));
parameters.add(new BasicNameValuePair("channel", "IPAD"));
parameters.add(new BasicNameValuePair("applicationId", applicationId));
parameters.add(new BasicNameValuePair("deviceIdentifiers", deviceIdentifiers));
parameters.add(new BasicNameValuePair("ipadId", iPadId));
if((!TextUtils.isEmpty(username)) && (!TextUtils.isEmpty(password))) {
parameters.add(new BasicNameValuePair("username", username));
parameters.add(new BasicNameValuePair("password", password));
}
HttpHelper httpHelper = new HttpHelper(url);
try {
JSONObject jsonObj = HttpHelper.readServerAnswer(httpHelper.post(parameters, true));
return AccountJSONHelper.getInstance().json2AuthenticateUserResponse(jsonObj);
} catch(JSONException localJSONException1) {
}
return new AuthenticateUserResponse(PPError.JSONError());
}
Raga io ho un s2 non rootato, ho installato l'ultima versione di premium play è funziona, solo che non è adattato allo schermo, c'è qualcosa che posso fare per adattarlo? Grazie anticipatamente
su galaxy nexus funziona? Ho la cyano 11..
Inviato dal mio Galaxy Nexus usando Androidiani App
senza root non riesci ad adattarlo perchè ti serve il modulo xposed e app setting
per info vai qui: https://www.androidiani.com/forum/mo...-2-mado79.html
In prima pagina è presente solo la versione "ufficiale".. leggevo che ne esiste una modificata dove la trovo? Su galaxy nexus che procedura devo seguire. Scusate per il doppio post. grazie
Inviato dal mio Galaxy Nexus usando Androidiani App
io potrei provare a sostituire i dati della cyano con quelli di una versione funzionante... questo sembrerebbe ciò che viene inviato in fase di login, potrebbe essere questo che incide... se qualcuno sapesse cosa inviare potrei provare a inserirlo e creare una apk modificata funzionante...
codice:public String getDeviceIdentifiers() {
String deviceIdentifiers = 0x0;
StringBuilder sb = 0x0;
String androidVersion = String.valueOf(Build.VERSION.SDK_INT);
String macAddress = getMACAddress();
if((androidVersion != null) && (macAddress != null)) {
sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
sb.append("<deviceIdentifiers xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">");
sb.append("<Element>");
sb.append("<Name>ANDROID</Name>");
sb.append("<Value>");
sb.append(androidVersion);
sb.append("</Value>");
sb.append("</Element>");
sb.append("<Element>");
sb.append("<Name>MAC</Name>");
sb.append("<Value>");
sb.append(macAddress);
sb.append("</Value>");
sb.append("</Element>");
sb.append("</deviceIdentifiers>");
deviceIdentifiers = sb.toString();
}
return deviceIdentifiers;
}
Da un ricerca su Google, i valori per Build.VERSION.SDK_INT dovrebbero essere questi Build.VERSION_CODES | Android Developers
Potresti provare a far girare quel pezzo di codice su un emulatore.
Piuttosto, prova a cercare dove viene visualizzato quel messaggio 'connessione assente' dopo il tentativo di login, magari c'è qualche chiamata che non viene fatta correttamente.
A proposito, come hai fatto a disassemblare il codice ? E soprattutto, come fai a riassemblarlo in modo che possa essere installato (dovresti come minimimo cambiare il numero di versione e credo che il pacchetto sia firmato digitalmente) ?
Forse posso evitarti di perder tempo su questa cosa del login: il problema dell'errore di connessione che ritorna in molti sistemi non sembra infatti dipendere dalla stringa di login.
Tempo fa mi dedicai qualche ora a fare lo stesso lavoro che stai facendo tu ma poi dovetti sospendere per mancanza di tempo...
In ogni caso, mi resi conto che quell'errore, o meglio, quella stringa di errore (internamente denominata "mds_generic_error"), è associata a circa una ventina di possibili eventi di errore di diverso genere.
Mi ricordo che mi fece ammattire un pò, fino a quando non decisi di fare lo spoofing dei pacchetti di rete che l'app invia al momento del login. In questo modo, mettendo a confronto il comportamento di due dispositivi diversi (un asus tf300 su cui l'app gira regolarmente ed una tv-dongle su cui non riesco a farla girare per via del mancato login) ho scoperto che nei due casi il pacchetto di dati di login inviato al server e quello ricevuto in risposta dal server erano identici!
Insomma, io mi son convinto che la causa che genera l'errore di connessione non dipenda dal processo di login, ma che sia in realtà da ricercare altrove nell' app (ci sono infatti altri punti in cui viene fatta un'analisi delle 'proprietà' del sistema).
Per quanto riguarda il discorso del root, dovrebbe effettivamente bastare cambiare l'ultima assegnazione della variabile v0 alla fine del pezzo di codice smali che hai evidenziato (metodo: "isDeviceRooted()"):
codice::cond_0
const/4 v0, 0x1 <---------- cambiare qui da 0x1 a 0x0
goto :goto_0
.end method
per il messaggio l'ho già cercato, come dice anche Pet, e non porta a niente. Per disassemblare e riassemblare c'è molto software semplice cerca con google (io uso AndroidMultitool).
grazie 1000 per l'analisi dettagliata! allora non perdo tempo col login e proverò a vedere se scovo altri punti del codice che danno quell'errore! Cavolo basterebbe capire dove potrebbe stare la differenza fra una stock e una cyano!!
p.s. sì anche come dici tu funziona il codice, ma esegue codice inutile invece di restituire subito la funzione ;)
Esatto, esegue lo stesso i tre controlli ma poi non ne tiene conto...
Per quanto riguarda il punto di generazione dell'errore in questione, avevo anche provato a moddare l'app inserendo delle varianti diverse per ogni occorrenza di 'mds_generic_error' ed
avevo trovato che l'errore viene generato in questo punto di 'MainFragmentActivity':
il che indica che i vari check compiuti in "AuthenticateUserResponse" non danno "OK", ma nemmeno "KO_REGISTER" o "KO_COMPLETE_REGISTER", e finiscono appunto in un errore generico..codice:...
if (localAuthenticateUserResponse == null)
{
MainFragmentActivity.this.showErrorDialog("", MainFragmentActivity.this.getString(2131296377), "");
}
else if (!localAuthenticateUserResponse.getResultCode().equalsIgnoreCase("OK"))
{
if (localAuthenticateUserResponse.getResultCode().equalsIgnoreCase("KO_REGISTER"))
MainFragmentActivity.this.showErrorDialog("", MainFragmentActivity.this.getString(2131296367), "");
else if (localAuthenticateUserResponse.getResultCode().equalsIgnoreCase("KO_COMPLETE_REGISTER"))
MainFragmentActivity.this.showErrorDialog("", MainFragmentActivity.this.getString(2131296369), "");
else
MainFragmentActivity.this.showErrorDialog("", MainFragmentActivity.this.getString(2131296378), ""); <--- qui da l'errore (dovrebbe essere 2131296366 nell'app non mod)
}
else
...
Dunque non è un problema di registrazione/login (e nemmeno di connettività, naturalmente) ma altro.
con rom stock su un telefono mtk6592 da connessione assente
Anche a me sul mio Olipad 100 modificato con cyanogenmod da connessione assente al login!
Sarebbe fantastico se qualche esperto riuscisse nell' impresa di farlo funzionare.
Nota a margine: è davvero uno scadalo che le due emittenti di contenuti a pagamento, non permettano a TUTTI I Suoi Abbonati, di ricevere i loro contenuti se non in possesso di device di una marca specifica! :bd:
quindi il punto sta qui:
ora... nel mio codice non lo trovo... versione vecchia o deassembler differente?!?codice:else if (!localAuthenticateUserResponse.getResultCode().equalsIgnoreCase("OK"))
Si, sta li. Una prova che si potrebbe fare è quella di eliminare tutta la parte relativa a quel test di condizione, quindi a partire da quel "else if" (compreso) con tutto il contenuto tra le {} e lasciare dall' "else" successivo in poi, ma a quel punto il comportamento dell'app diventerebbe per me imprevedibile (soprattutto in caso di eventi "KO_REGISTER" o "KO_COMPLETE_REGISTER", ovvero di mancato login... cosa succederebbe?)
Comunque, il tool che uso io è APK_OneClick 4.2.
Il codice che ti ho segnalato si trova all'interno del 'ServiceThread' in 'MainFragmentActivity', quasi immediatamente all'inizio del thread stesso.
Salve, a qualcuno funziona la versione per smartphone o quella normale su S4 stock?
Ciao a tutti!
vorrei acquistare un minipc che mi permetta di vedere premium play. me ne consigliate uno su cui gira di sicuro senza problemi? grazie
Qualcuno può farla girare su LG 7 2 p710? Grazie
allora prova la guida che trovi qui
https://www.androidiani.com/forum/mo...-2-mado79.html
il problema è che per smartphone serve app setting per adattare la schermata altrimenti non riesci a farlo funzionare.
sei costretto a fare il root, comunque una volta che hai installato il modulo app setting e settato i parameri come nella guida puoi togliere il root
io ho scaricato da Google premium play mod e installato su uno smatphone Samsung galaxy note 3 xò quando effettuo il login mi dice che non ho la connessione al cell. sia in rete 3g e sia in wi-fi qualcuno a soluzioni?
Testato anche con la guida non funziona nnt della guida
Inviato dal mio SM-N9006 usando Androidiani App
Succede a qualcun altro che se cercate di entrare nell'area clienti dal browser vi dà "password o user name errati" pur essendo giusti? Nell'applicazione entro normalmente...
Mentre nel browser i dati erano registrati... Strano vero?
Edit : tutto ok... Si era smemorizzata e non mi ricordavo che la prima lettera era maiuscola.!
Scusate bisogna per forza usare app setting (non sono pratico) per smartphone con schermo più piccolo rispetto ad un s4? Non esiste una versione già adattata ed eventualmente postarla? Grazie
Non credo
Occorre appsetting
Non sono un esperto di modding e rooting di dispositivi Android, ma mi sono trovato a combattere con un problema che affligge molti, cioè il messaggio di manganza del segnale wifi/3g al momento del login all'app.
Ho un S4 mini, un Tablet Mediacom S2 e un minipc MINIX NEO X5, tutto in "versione stock" non moddata o roottata.
L'app in oggetto si installa su qualsiasi supporto e funziona egregiamente TRANNE che sul MINIX X5.
Mi appare il "solito" messaggio di mancanza "rete" al login.
Stranamente, immettendo un login sbagliato segnala "password incorretta" (quindi la testa, e la rete la usa).
Facendo un TEST del segnale, dall'apposita interfaccia dell'app, il login funziona... ma solo perchè mi dirotta sulla pagina web, dalla quale si riproducono i video solo con Ms SilverLight.
Ho provato un po di tutto, fino a quando mi sono munito di un adattatore miniHDMI -> HDMI per collegare il tablet Mediacom alla TV, sul quale tutto gira perfettamente.
Risultato???
Password errata!!!
Questo perchè ho fisicamente collegato l'uscita segnale tramite HDMI.
Riavviando senza cavo, tutto OK... mi vedo BigBangTheory!! o_O
Leggendo qua e la ho scoperto che un'altra App "gemella", quella di SKYGO per essere precisi, non supporta l'attivazione della porta HDMI del device, impedendo il funzionamento.
E' ovvio che si sta parlando di due App diverse, per due servizi concorrenti, ma non mi stupirei se lo sviluppatore ufficiale (e la piattaforma di riproduzione dei video) fosse la stessa.
Quindi deduco: con i minipc, e tutte le periferiche, collegate via cavo HDMI, niente PremiumPlay (e SKYGO).
Questo forse perchè non si entri in competizione con la vendita di decoder e SmartTV certificate... o per scelte commerciali... o solo per impedire una copia illegale, stadi fatto sembra che si possa utilizzare il servizio solo se guardato sullo schermo del device, smartphone o tablet che sia.
Potrei dire che sono sicuro che esista un modo per "mascherare" la connessione HDMI mediante script su piattaforme rootate... anche se anche solo la procedura di ROOT è causa di malfunzionamenti per queste App...
(e tutti i nodi tornano al pettine... infatti perchè impedire il funzionamento se si ha il root???)
Quindi credo che senza modifiche da parte del produttore, o di chicchessia, non si riuscirà mai a vedere PremiumPlay da un device ad una TV, senza ricorrere all'apposito decoder o senza le smartTV compatibili.
mmmh ottima e attenta analisi, ma nella mia idea, come dici tu, se si riesce a "mascherare" la connessione HDMI con appositi script, si è a posto per vedere sulla TV! Il problema rimane solo togliere il controllo del root, che come ho visto non mi sembra complicato (almeno a prima vista), e a molti con root l'app funziona... il vero problema che ho incontrato io è farla funzionare con CyanogenMod...
Ti funziona anche sul Mediacom ? Come ? Ho un 10.1 S2 anch'io ma non c'è verso di passare attraverso l'infame messaggio di connessione assente.
Ho verificato sul mio tablet (non ho comunque il cavo HDMI adatto quindi non potrei comunque collegarlo alla TV) e l'HDMI è disattivato, ma l'app non funziona ugualmente. Se per altri il motivo potrebbe essere questo potevano anche visualizzare un messaggio più chiaro.Quote:
Ho provato un po di tutto, fino a quando mi sono munito di un adattatore miniHDMI -> HDMI per collegare il tablet Mediacom alla TV, sul quale tutto gira perfettamente.
Risultato???
Password errata!!!
Questo perchè ho fisicamente collegato l'uscita segnale tramite HDMI.
Riavviando senza cavo, tutto OK... mi vedo BigBangTheory!! o_O
Leggendo qua e la ho scoperto che un'altra App "gemella", quella di SKYGO per essere precisi, non supporta l'attivazione della porta HDMI del device, impedendo il funzionamento.
Non so la piattaforma, ma lo sviluppatore è chiaramente lo stesso: non possono avere gli stessi difetti se sviluppati da persone diverse (comunque basta andare nelle info dell'app per vedere chi l'ha sviluppata). Stranamente però l'app Infinity, che sostanzialmente dovrebbe fare le stesse cose ed è perfino su una piattaforma simile con silverlight, funziona su tutti i tablet. Forse in questo caso hanno utilizzato una software house più intelligente che sa lavorare bene.Quote:
E' ovvio che si sta parlando di due App diverse, per due servizi concorrenti, ma non mi stupirei se lo sviluppatore ufficiale (e la piattaforma di riproduzione dei video) fosse la stessa.
Magari, a me basterebbe. Come al solito queste limitazioni, che si applicano solo a chi paga gli abbonamenti regolari, non fanno altro che favorire la pirateria. Per Premium Play devo acquistare un tablet Samusung ? Se la tengono. Non funziona collegato ad un televisore perchè vogliono vendere i decoder dei loro amici imprenditori ? Se la tengono. Mi scarico i film in HD dal mulo e che vadano a quel paese. Tanto più adesso che pare arrivi la mazzata dell'equo compenso.Quote:
Questo forse perchè non si entri in competizione con la vendita di decoder e SmartTV certificate... o per scelte commerciali... o solo per impedire una copia illegale, stadi fatto sembra che si possa utilizzare il servizio solo se guardato sullo schermo del device, smartphone o tablet che sia.
Scusate lo sfogo ma ogni tanto ci sta.
aiuto non riesco a trovare silverlight per il mil sansung smt111 tab3 lite