Bl@ckJ@ck4IT Pubblicato: 26 Giugno 2009 Segnalazione Share Pubblicato: 26 Giugno 2009 (modificato) nn si è ancora arrivati a una soluzione??? Si continua a lavorare, quando arriverà la soluzione la scriveremo a caratteri cubitali stanne certo intanto ringrazio ancora tutti per le dritte DRTRVCT2_1.DLL e DRTRVCT2_2.DLL mi pare che siano identici inoltre: 1) DRTRVCT2_2.DLL ha come dipendenze solo Euser.dll 2) DRTRVCT2_1.DLL è in presente molte altre dipendenze...mi viene da pensare che se lo siano dimenticati lì come seconda versione della DRTRVCT2_1.dll (un copia e incolla)... cmq... si potrebbero recuperare quei 7.0 kb di spazio che occupa DRTRVCT2_2.dll per usarli con rompatcher Modificato 27 Giugno 2009 da Bl@ckJ@ck4IT Link to comment Condividi su altri siti More sharing options...
Bl@ckJ@ck4IT Pubblicato: 3 Luglio 2009 Segnalazione Share Pubblicato: 3 Luglio 2009 Esplorando la cartella z:\system\install di un n95 fw21 ho potuto notare la presenza di un file sis chiamato "N81.sis" che nel fw31 non c'è....... Che sia il file di installazione delle librerie dell'N81 responsabili degli effetti? Link to comment Condividi su altri siti More sharing options...
Bl@ckJ@ck4IT Pubblicato: 9 Luglio 2009 Segnalazione Share Pubblicato: 9 Luglio 2009 Qualcuno col firmware 21 può controllare se ha in c:\private una tra le seguenti cartelle: 10281f89 10281f90 10282e4c 10282e4d 10282e4a 10282e49 10282e50 10282e51 10282e52 10282e53 10282e54 10282e55 10282e56 10282e57 2000B472 2000B473 2000B474 2000B475 2000B476 101f4cd2 e in caso positivo postarle in un file zip? Grazie Link to comment Condividi su altri siti More sharing options...
95A31 Pubblicato: 9 Luglio 2009 Segnalazione Share Pubblicato: 9 Luglio 2009 (modificato) Qualcuno col firmware 21 può controllare se ha in c:\private una tra le seguenti cartelle:10281f89 [...] 101f4cd2 e in caso positivo postarle in un file zip? Grazie Ho trovato solo la cartella 101F4CD2 Modificato 10 Luglio 2009 da 95A31 Link to comment Condividi su altri siti More sharing options...
Bl@ckJ@ck4IT Pubblicato: 10 Luglio 2009 Segnalazione Share Pubblicato: 10 Luglio 2009 (modificato) Ti ringrassio provo a darci un occhiata :-) parlando con un mio amico è venuto fuori che certi uid sono per così dire "criptati" e alcuni "nascosti"..non visibili quindi tramite i metodi usati finora..me l'ha detto perché sta impazzendo per aggiungere delle features ad un E71 e sta smanettando un po'.. Non c'è modo di creare un HelloWorld2 che passa a Ewsrv.exe le librerie di kastor? avevo trovato un Rload tempo addietro ma non saprei come implementarlo.. Sto provando ad usare HelloWorld, mi dice OldValue = 2147483647 poi NewValue = 0 però se poi vado a vedere Effetti Tema è ancora su Disattiva e se provo a rifare la stessa operazione non dice OldValue = 0 (quindi non lo cambia). L'ho scoperto perché se vado a cambiare Effetti Tema da Temi e torno su HelloWorld mi dice OldValue = 0 e poi NewValue = 0... Testato su Fw31.0.0.17 Modificato 10 Luglio 2009 da Bl@ckJ@ck4IT Link to comment Condividi su altri siti More sharing options...
95A31 Pubblicato: 10 Luglio 2009 Segnalazione Share Pubblicato: 10 Luglio 2009 (modificato) [...]Non c'è modo di creare un HelloWorld2 che passa a Ewsrv.exe le librerie di kastor? avevo trovato un Rload tempo addietro ma non saprei come implementarlo.. [...] E' una mia opinione però se lavori a così "alto livello" mi sa che nn risolverai molto Non voglio scoraggiare nessuno Anzi io ti sto sempre seguendo Continua così vedrai che prima o poi qualcosa salta fuori Modificato 10 Luglio 2009 da 95A31 Link to comment Condividi su altri siti More sharing options...
Bl@ckJ@ck4IT Pubblicato: 10 Luglio 2009 Segnalazione Share Pubblicato: 10 Luglio 2009 (modificato) E' una mia opinione però se lavori a così "alto livello" mi sa che nn risolverai molto Non voglio scoraggiare nessuno Anzi io ti sto sempre seguendo Continua così vedrai che prima o poi qualcosa salta fuori Ti ringrazio le sto provando davvero tutto :-) qui ho trovato un e-book interessante Develop_Symbian_E-Book tra cui a pagina 143 si dice che gli exe non hanno bisogno di UID (e che spesso è impostato a 0) quindi la ricerca del socio si restringe perché deve escludere tutti gli EXE nella ricerca del MagicValue dato che non hanno UID RLibrary API ClassSymbian OS provides an API class called RLibrary to load and invoke DLL functions at runtime. The import library uses this API to access the DLL and so it’s instructive to have a quick look at this class, even though the import library shields you from needing to use it. The key methods of RLibrary are Load() and Lookup(). The Load()method is used to load a specific DLL and associate it with the class. The Lookup() method will look up the DLL function with the ordinal value passed to it. DLL INTERFACE FREEZING 131 The following is a simple example of using RLibrary. It loads a DLL called MyDll.dll and calls the DLL function whose ordinal value is 1: RLibrary lib; lib.Load(_L("MyDll.dll")); TLibraryFunction MyFirstFunc=library.Lookup(1); MyFirstFunc(); lib.Close(); In addition to its use by system code to access import libraries, an application can make explicit use of the RLibrary class. Explicit use is necessary when using DLLs that act as plug-ins, such as polymorphic DLLs. In questo punto dice che si possono usare due funzioni Load() e Lookup(). La prima carica la dll la seconda invece, tramite un ordinale come parametro, carica la relativa funzione all'ordinale specificato. Si potrebbe creare un programmino che, in un ciclo, esegue il metodo Lookup e scrive se trova o non trova una funzione a quell'ordinale. In questo modo avremmo una punta dell'iceberg delle funzioni contenute nelle librerie tfx varie... Questo PDF invece lo devo ancora guardare Modificato 10 Luglio 2009 da Bl@ckJ@ck4IT Link to comment Condividi su altri siti More sharing options...
Killer Of Legend Pubblicato: 12 Luglio 2009 Segnalazione Share Pubblicato: 12 Luglio 2009 Non voglio portarvi sulla cattiva strada: Io avrei questa cosa in mente: Senza toccare i file presenti in ROM, se potete, create un programmino da installare che è capace di interpretare i file presenti in E(Memory Card) e possiamo bypassare qualsiasi controllo, così possiamo sia copiare l'intera ROM e quindi i file necessari per far partire i Kastor da un cellulare con Kastor attivi, sia caricarli da Memory Card, così facendo si avranno un programma che carica i nostri Kastor e gli interi effetti in E. Spero di non aver detto una cavolata. Link to comment Condividi su altri siti More sharing options...
Bl@ckJ@ck4IT Pubblicato: 12 Luglio 2009 Segnalazione Share Pubblicato: 12 Luglio 2009 (modificato) Non voglio portarvi sulla cattiva strada:Io avrei questa cosa in mente: Senza toccare i file presenti in ROM, se potete, create un programmino da installare che è capace di interpretare i file presenti in E(Memory Card) e possiamo bypassare qualsiasi controllo, così possiamo sia copiare l'intera ROM e quindi i file necessari per far partire i Kastor da un cellulare con Kastor attivi, sia caricarli da Memory Card, così facendo si avranno un programma che carica i nostri Kastor e gli interi effetti in E. Spero di non aver detto una cavolata. Rieccomi qua l'idea è buona, ho già un po' di documentazione sull'intercettazione degli eventi di sistema (popup, listbox ecc.) ma un mio amico mi ha fatto tornare coi piedi per terra perché è certo che un implementazione via software avrebbe delle prestazioni decisamente inferiori rispetto alle librerie già ottimizzate della ROM Nel frattempo ecco un veloce confronto dei KB persi e guadagnati nelle librerie principali dal fw21 al fw31 (tre cifre significative dopo il punto) Legenda: [nomefile] = da [dim (KB) fw21] a [dim (KB) fw31] (differenza in KB) Report: [psln.exe] = da 28.800 a 28.880 (+0.080) [pslnengine.dll] = da 10.900 a 10.910 (+0.010) [gfxtrans.dll] = da 13.300 a 13.260 (-0.040) [gfxtransadapter.dll] = da 6.550 a 0.628 (-5.922) Modificato 12 Luglio 2009 da Bl@ckJ@ck4IT Link to comment Condividi su altri siti More sharing options...
Bl@ckJ@ck4IT Pubblicato: 12 Luglio 2009 Segnalazione Share Pubblicato: 12 Luglio 2009 (modificato) Domanda: ho provato a copiare pslnengine.dll e psln.exe del fw21 su c:\ e ad attivare c2z. Quando cerco di entrare nei temi mi esce un -1. sapete dirmi perché? Inoltre ho l'impressione che anche se ho copiato gfxtrans e gfxtransadapter su c:\ non me li vada a prendere..si può verificare in qualche modo? Il.Socio tramite il tuo SISXplorer modificato potresti dirmi quali files installa il N81.sis in allegato? N81.sis Modificato 12 Luglio 2009 da Bl@ckJ@ck4IT Link to comment Condividi su altri siti More sharing options...
uccaa Pubblicato: 12 Luglio 2009 Segnalazione Share Pubblicato: 12 Luglio 2009 incredibile ci sia ancora qualcuno che ci spera nei kastor XD comunque il -1 è il segno d'errore.. non so dirti con precisione il perchè, ma è il codice relativo all'errore Link to comment Condividi su altri siti More sharing options...
95A31 Pubblicato: 13 Luglio 2009 Segnalazione Share Pubblicato: 13 Luglio 2009 (modificato) [...]l'idea è buona, ho già un po' di documentazione sull'intercettazione degli eventi di sistema (popup, listbox ecc.) ma un mio amico mi ha fatto tornare coi piedi per terra perché è certo che un implementazione via software avrebbe delle prestazioni decisamente inferiori rispetto alle librerie già ottimizzate della ROM [...] [gfxtransadapter.dll] = da 6.550 a 0.628 (-5.922) In effetti un'implementazione via software risulterebbe lenta e pesante (visto che l'N95 non ha molta RAM) . Per ottimizzarla/implementarla ci si potrebbe ispirare alle librerie della ROM In ogni caso resta sempre la soluzione più realistica. Come hai notato il punto cruciale nel porting dei Kastor sta nel file gfxtransadapter.dll che differisce di molto da quelli nel FW 30/31. La soluzione della sovrascrittura di qualche altro file è improponibile xkè la quantità di dati che vengono scovrascritti sarebbe troppo grande e causerebbe instabilità nel sistema. Quindi resterebbe da trovare indirizzi di memoria ROM che non vengono utilizzati, piazzare li i dati mancanti e sperare che tutto funzioni. Modificato 13 Luglio 2009 da 95A31 Link to comment Condividi su altri siti More sharing options...
Bl@ckJ@ck4IT Pubblicato: 13 Luglio 2009 Segnalazione Share Pubblicato: 13 Luglio 2009 La soluzione della sovrascrittura di qualche altro file è improponibile xkè la quantità di dati che vengono scovrascritti sarebbe troppo grande e causerebbe instabilità nel sistema. Quindi resterebbe da trovare indirizzi di memoria ROM che non vengono utilizzati, piazzare li i dati mancanti e sperare che tutto funzioni. Sto cercando di creare il famoso programma che carica in ram le dll perse nell'aggiornamento ... Ipotesi: non potremmo sovrascrivere quei settori della rom che non usiamo? tipo, a me il Music Store fa solo polvere...se potessimo sovrascrivere quella porzione di indirizzi di memoria, tanto penso che pochi o nessuno usino quell'applicazione.. Link to comment Condividi su altri siti More sharing options...
uccaa Pubblicato: 13 Luglio 2009 Segnalazione Share Pubblicato: 13 Luglio 2009 riesci a scriverlo veramente? Link to comment Condividi su altri siti More sharing options...
95A31 Pubblicato: 13 Luglio 2009 Segnalazione Share Pubblicato: 13 Luglio 2009 Sto cercando di creare il famoso programma che carica in ram le dll perse nell'aggiornamento ...Ipotesi: non potremmo sovrascrivere quei settori della rom che non usiamo? tipo, a me il Music Store fa solo polvere...se potessimo sovrascrivere quella porzione di indirizzi di memoria, tanto penso che pochi o nessuno usino quell'applicazione.. Buona fortuna x i programma ( Io purtroppo non posso aiutarti in questo campo). Si si potrebbe . Però da soli è un po come buttarsi dal 2° piano e sperare di rimaner vivi.. Alex_N70,Il.Socio voi che dite? Link to comment Condividi su altri siti More sharing options...
Bl@ckJ@ck4IT Pubblicato: 14 Luglio 2009 Segnalazione Share Pubblicato: 14 Luglio 2009 (modificato) Buona fortuna x i programma ( Io purtroppo non posso aiutarti in questo campo).Si si potrebbe . Però da soli è un po come buttarsi dal 2° piano e sperare di rimaner vivi.. Alex_N70,Il.Socio voi che dite? Sto cercando di implementare un ciclo del metodo LookUp(). In pratica questa funzione richiede come parametro un ordinale. Sto creando un while che si comporta così: int contatore = 0; // o un valore più sensato di 0, devo studiarmi gli ordinali while (contatore < [numeroelevatoascelta]){ se (funzione LookUp(contatore)) // quindi se la funzione ha successo significa che ha trovato qualcosa { scrivi o restituisci l'ordinale (il contatore) o se riesci il nome della funzione } altrimenti non fare nulla { } contatore = contatore + 1 } questo è lo pseudo codice che ho in mente una volta fatto lo lascio li a macinare anche per giorni non mi importa...così almeno otterremmo la lista degli ordinali funzionanti... Riguardo al MagicValue ho notato che ogni dll non ha un solo UID bensi 3: UID, UID2 e UID3... che sia da cercare negli UID2 e UID3? Modificato 14 Luglio 2009 da Bl@ckJ@ck4IT Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 14 Luglio 2009 Autore Segnalazione Share Pubblicato: 14 Luglio 2009 (modificato) Ti consiglio di leggere i post precedenti, ma soprattutto consultare il materiale a disposizione nel primo post... Cosi' almeno risparmi tempo ed eviti di fare lavori inutili (copiare pslnengine.dll e psln.exe del fw21 su c:\ e ad attivare c2z) o rifare lavori gia' completamente fatti (trovare gli ordinali delle varie funzioni)... Per gli ordinali, il loro riferimento e' gia' presente nei file .idc es: http://www.nokioteca.net/home/forum/index....t&p=1275316 per la libreria gfxtrans.dll (N95 firmware 21) all'ordinale 4 si trova la funzione GfxTransEffect::IsRegistered e fisicamente, in memoria ROM, e' mappata sull'indirizzo 0X807F2920 Riguardo al codice per caricare libreria e richiamare un metodo tramite ordinale vedi qui: http://www.nokioteca.net/home/forum/index....t&p=1278047 Quello che pero' e' difficile da fare e' richiamare un metodo passando gli opportuni parametri e credo si possa fare solo a livello arm. Quello che hai riportato riguardo all'UID 0 per gli exe e' corretto solo per versioni Symbian < 9... Su Symbian 9.x Anche gli exe devono avere UID univoco. UID1/UID2 identificano la tipologia del file, solitamente l'unico UID rilevante e' UID3... ad ogni modo, magicvalue lo avevo ricercato tra UID1/2/3 ma senza successo, sono ancora dell'idea che sia il riferimento ad una variabile globale che viene piazzata nel TLS. @95A31, purtroppo il codice ARM lo mastico troppo poco per poter realizzare in tempi brevi qualcosa di decente e funzionante... Modificato 15 Luglio 2009 da Il.Socio Link to comment Condividi su altri siti More sharing options...
Bl@ckJ@ck4IT Pubblicato: 15 Luglio 2009 Segnalazione Share Pubblicato: 15 Luglio 2009 (modificato) Innanzitutto ti ringrazio per la collaborazione, la costanza è il primo ingrediente del successo appena riesco tiro in mezzo anche un mio amico che già smanetta per il suo E71 , devo solo trovarlo e schiavizzarlo Tornando a noi, oltre al metodo LookUp() c'è anche il Load() quindi potrei aiutarti a creare uno schema logico delle funzioni (i parametri che mancano) che vengono richiamate dato che gli ordinali ce li abbiamo già tutti :-) fammi sapere se possiamo dare una mano oltre alle varie Kastorate che ci vengono in mente io continuo a studiare e a ricercare..speriamo che la Nokia non ci prenda sul tempo con un nuovo Kastor-firmware nel frattempo Nell'ipotesi nata tra me e 95A31 sarebbe possibile sovrascrivere indirizzi di memoria di applicazioni che non usiamo? Tipo "Info Prodotto" per esempio, sfido io a trovare qualcuno che lo trovi utile in pratica, mettiamo caso che Info Prodotto vada dall'indirizzo 80000800 a 80000888 abbiamo 00000088 spazio dove sovrascrivere le funzioni che hanno tolto a gfxtransadapter. Poi nelle dll che richiamavano tali funzioni si cambiano gli indirizzi che richiamano in quelli messi da noi al posto di Info Prodotto tramite RomPatcher.. è probabile che quel -1 esca perché all'indirizzo specificato o non trova nulla (spazio vuoto) oppure non trova quello che stava cercando perché magari al suo posto vi è un'altra funzione Modificato 15 Luglio 2009 da Bl@ckJ@ck4IT Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 15 Luglio 2009 Autore Segnalazione Share Pubblicato: 15 Luglio 2009 (modificato) potrei aiutarti a creare Mi sono perso qualche pezzo per strada!? sei tu che: Sto cercando di creare il famoso programma che carica in ram le dll perse nell'aggiornamento quindi, al piu', sono io che "potrei aiutarti a creare" Ma come dicevo, la mia conoscenza di arm non e' proprio sufficiente per questo compito, ed imho, e' indispensabile... a creare uno schema logico delle funzioni (i parametri che mancano) che vengono richiamate Prenditi tempo per leggere e capire il post che ti ho segnalato prima (e piu' in generale i post precedenti) perche' anche questo c'e' gia'... Nei file .idc noterai che i parametri accettati dai vari metodi sono gia' presenti, il problema e' passarglieli a livello arm. Oltretutto, sia per gli import che per gli export di ciascuna .dll Riguardo al sovrascrivere il codice di un'altra applicazione, suppongo sia possibile... perche' no... Modificato 15 Luglio 2009 da Il.Socio Link to comment Condividi su altri siti More sharing options...
95A31 Pubblicato: 15 Luglio 2009 Segnalazione Share Pubblicato: 15 Luglio 2009 (modificato) [...]Nell'ipotesi nata tra me e 95A31 sarebbe possibile sovrascrivere indirizzi di memoria di applicazioni che non usiamo? Tipo "Info Prodotto" per esempio, sfido io a trovare qualcuno che lo trovi utile in pratica, mettiamo caso che Info Prodotto vada dall'indirizzo 80000800 a 80000888 abbiamo 00000088 spazio dove sovrascrivere le funzioni che hanno tolto a gfxtransadapter. [...] Sto seriemente pensando di fare ciò.. Ora sto vedendo cosa andare a sovrascrivere. - Music Store è troppo piccolo. - Info Prodotto è al limitie ma mi concentro su quello. Se lo spazio non dovesse bastarmi penso si sovrascrivere MusicShopApp.exe e relative dll. Sapete a che applicazione corrisponde MusicShopApp.exe ? Come si può raggiugere tramite UI? E' utille? Posso sovrascrivere tranquillamente? Ora vedo di modificare lo Staticfeatures.dll del FW 30 in modo da nn avere un file "vecchio" rispetto al firmware. Modificato 15 Luglio 2009 da 95A31 Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 15 Luglio 2009 Autore Segnalazione Share Pubblicato: 15 Luglio 2009 (modificato) Per lo statcifeatures.dll la sostituzione e' piu' sicura perche' non e' detto che la feature 666 venga controllata solo da psln.exe, magari lo stesso check e' presente anche in altri eseguibili e rischi di perderteli corrompendo la corretta esecuzione degli effetti. Inoltre, puo' darsi che esistano anche altre features che entrano in gioco per la gestione degli effetti e che sono state rimosse nei fw successivi. Imho, meglio lasciarlo cosi' per ora, SE POI ( lo spero ) tutto dovesse funzionare, allora varra' la pena di mettersi ad ottimizzare il processo per evitare sostituzioni manuali dei files. Modificato 15 Luglio 2009 da Il.Socio Link to comment Condividi su altri siti More sharing options...
Bl@ckJ@ck4IT Pubblicato: 15 Luglio 2009 Segnalazione Share Pubblicato: 15 Luglio 2009 (modificato) Ho aperto MusicStore che sembrava essere quello più vicino all'eseguibile MusicShopApp.exe ma controllando con TaskMan rimane aperto solo MusicStore.exe per tutta la durata della navigazione..a mio parere puoi andare tranquillo perché secondo me quell'Exe si attiva solo quando arrivi alla pagina di acquisto di una canzone Se non bastasse Info prodotto ho trovato anche che MyNokia è grande 20,17kb e anch'esso a mio parere è inutile Modificato 15 Luglio 2009 da Bl@ckJ@ck4IT Link to comment Condividi su altri siti More sharing options...
uccaa Pubblicato: 16 Luglio 2009 Segnalazione Share Pubblicato: 16 Luglio 2009 è bello perché non ci capisco un ca.. Però mi piace vedere che troviate soluzioni.. O almeno che le cerchiate.. Che dire.. Faccio la ragazza ponpon a sto punto xD Link to comment Condividi su altri siti More sharing options...
95A31 Pubblicato: 16 Luglio 2009 Segnalazione Share Pubblicato: 16 Luglio 2009 (modificato) Il.Socio sai indicarmi le dll che implementano le funzioni del TLS? Se non erro dovrebbe essere Cone.dll, confermi? Se dovrebbe essere lui, dalle dipendenze i file più probabili che implementino il famoso UID sono: aknlistloadertfx.dll aknskins.dll akntransitionutils.dll animation.dll gfxtrans.dll gfxtransadapter.dll psln.exe PslnApplicationShellPlugin.dll pslnengine.dll pslnframework.dll pslngsplugin.dll psui.dll Ora bisogna vedere a quali funzioni di cone.dll accedono ste benedette DLL trovare chi mette processi in memoria e tra questi sperare di trovare qualche riferimento all'UID. Purtroppo il porting si va a farsi benedire se non si finisce il giro... Non ho voglia di importare funzioni alla e sperare che vada.. Qualcino mi aiuti !!! Modificato 16 Luglio 2009 da 95A31 Link to comment Condividi su altri siti More sharing options...
Bl@ckJ@ck4IT Pubblicato: 16 Luglio 2009 Segnalazione Share Pubblicato: 16 Luglio 2009 [...] a sua volta la .pslnengine_41_SetEffects richiama la GfxTransEffect_Enable (di gfxtrans.dll) per richiedere l'attivazione degli effetti.Questa funzione deve restituire R7 = 0 Da quel che ho capito, dentro alla funzione GfxTransEffect_Enable all'indirizzo 0x8080576A viene fatta una call a 0x80805A7A che al momento restituisce un valore "errato". Dentro 0x80805A7A ho trovato il riferimento al UID 0x102822A6 (che nel decompilato ho indicato con _MagicValue) [...] [...] Credo che quella funzione 0x80805A7A si occupi di recuperare dal TLS (Thread Local Storage) l'istanza della classe dedicata alla gestione degli effetti (identificata con UID _MagicValue e contenuta sempre in gfxtrans.dll). [...] La prima ipotesi che mi viene in mente è che sia in gfxtrans.dll ma bisogna verificare quale dll trova all'indirizzo 0x80805A7A nel fw21 Link to comment Condividi su altri siti More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Accedi Ora