Il.Socio Pubblicato: 5 Agosto 2009 Autore Segnalazione Share Pubblicato: 5 Agosto 2009 (modificato) credevo fossero gli export quelli "mancanti" nel fw.. Gli export sono le funzioni che una libreria mette a disposizione ad altri eseguibili. Gli import sono le funzioni un determinato eseguibile utilizza, ma che si trovano in librerie esterne. Ad esempio, la libreria gfxtransadapter.dll esporta la funzione MGfxTransAdapter::CreateL(MGfxTransClient_)_1 Significa che qualsiasi altro eseguibile potra' utilizzare questa funzione semplicemente importandola. Uno di questi e' gfxtrans.dll infatti noterai che questa funzione si trova tra i suoi import. Confronta ad esempio gfxtransadapter.dll e vedrai che, in realta' sono gli "import" quelli mancanti, questo perche' nel FW30 e' stato rimosso del codice, quindi gfxtransadapter.dll non ha piu' bisogno di importare funzioni da altre librerie, proprio perche' non fa piu' nulla, quindi gli bastano 4 funzioni in croce per assolvere al suo semplice compito di "non fare nulla" P.S. eseguibile = file .exe o .dll (piu' in generale un qualsiasi file contenente del codice eseguibile) libreria = file .dll (piu' in generale qualsiasi file che esporta delle funzioni) Modificato 5 Agosto 2009 da Il.Socio Link to comment Condividi su altri siti More sharing options...
uccaa Pubblicato: 5 Agosto 2009 Segnalazione Share Pubblicato: 5 Agosto 2009 chiaro.. grazie per la spiegazione! che dire.. te non sei proprio in grado di implementare il girotondo famoso con tanto di reindirizzamenti? Proprio non ti riesce? In poche parole.. per ora la giocata è impossibile visto che nessuno è in grado di fare un passaggio basilare al funzionamento a sto punto facciamo colleta per una box e ci downgradiamo i firmware XD Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 5 Agosto 2009 Autore Segnalazione Share Pubblicato: 5 Agosto 2009 (modificato) che dire.. te non sei proprio in grado di implementare il girotondo famoso con tanto di reindirizzamenti? Proprio non ti riesce? Molto meno... manca proprio la base... quello a cui ti riferisci tu aggiunge ulteriori complicazioni! Non sono in grado di fare qualcosa di molto piu' semplice, ovvero, portare una libreria che in teoria dovrebbe essere rimasta invariata tra i due fw... Questo perche' supponevo (erroneamente) che tutti i riferimenti presenti negli eseguibili fossero espressi sottoforma di offset relativi, invece ve ne sono alcuni che sono assoluti, ed altri che non so come interpretare. Per capire meglio, e' necessario confrontare i 2 file gfxtrans.dll del fw21 e del fw30... Modificato 5 Agosto 2009 da Il.Socio Link to comment Condividi su altri siti More sharing options...
uccaa Pubblicato: 5 Agosto 2009 Segnalazione Share Pubblicato: 5 Agosto 2009 si si ho capito il concetto Link to comment Condividi su altri siti More sharing options...
Bl@ckJ@ck4IT Pubblicato: 5 Agosto 2009 Segnalazione Share Pubblicato: 5 Agosto 2009 Ok grazie ancora per le delucidazioni a tutti Link to comment Condividi su altri siti More sharing options...
uccaa Pubblicato: 5 Agosto 2009 Segnalazione Share Pubblicato: 5 Agosto 2009 in poche parole.. Se vuoi i kastor devi comprare l'ultimo nokia uscito Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 5 Agosto 2009 Autore Segnalazione Share Pubblicato: 5 Agosto 2009 (modificato) Ho aggiornato nel primo post, la lista dei files modificati / aggiunti / rimossi: https://www.nokioteca.net/home/forum/index....st&id=28932 L'elenco dei files modificati e' stato rilevato tramite il programmino Remap ed il procedimento spiegato poco sopra. L'elenco di files modificati e' cambiato sensibilmente... Complessivamente, risulta siano stati modificati 560 files nel passaggio da FW21 a FW30, a differenza dei 2760 che uscivano fuori con il semplice "diff". P.S. Giusto per completezza, nel caso in cui qualcuno avesse intenzione di continuare... Modificato 5 Agosto 2009 da Il.Socio Link to comment Condividi su altri siti More sharing options...
95A31 Pubblicato: 5 Agosto 2009 Segnalazione Share Pubblicato: 5 Agosto 2009 (modificato) In poche parole, io non sono in grado di fare il porting di un file non modificato, quindi e' inutile che provi a farlo per un file che invece e' stato modificato.Finche' nessuno sara' in grado di fare il porting di un file non modificato, e' (imho) inutile procedere tramite patch... provare questo? [...] Trovatemi una libreria piccola che ri riesca a capire quando questa va o è corrotta. Voglio provare a "cancellare" l'originale e metterla in MisciShopApp e poi dire al cell di andarsela a pescare da li. Se quando è chiamata il programma chiamante non da errori allora la mia idea è giusta altrimenti addio overwrite. e come sempre [..] Se guardi bene è tutto merito suo il lavoro che si è svolto x raggiungere questo punto.. Io nn ho fatto nulla non ho mai prodotto nulla ho solo butato giu idee Ancora una volta grazie x il tuo impeccabile lavoro che stai\stavi portando avanti. EDIT. Puoi dirmi una funzione con riferimenti assoluti che ci do un'occhio? Modificato 6 Agosto 2009 da 95A31 Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 6 Agosto 2009 Autore Segnalazione Share Pubblicato: 6 Agosto 2009 EDIT. Puoi dirmi una funzione con riferimenti assoluti che ci do un'occhio? Qui c'e' un compare che mostra le differenze esistenti tra gfxtrans.dll FW21 e FW30, escludi le differenze dei primi 0x78 bytes che sono dell'header, e quelle al fondo che sono relative agli import... le altre differenze sono riferimenti assoluti. Qui c'e' la prima delle differenze come viene vista da IDA, nota i bytes differenti dove c'e' il cursore... Link to comment Condividi su altri siti More sharing options...
Xeon Pubblicato: 6 Agosto 2009 Segnalazione Share Pubblicato: 6 Agosto 2009 Scusate se interrompo il vostro lavoro....ma a che punto state.Cioè vicini a una soluzione o ancora lontani? Link to comment Condividi su altri siti More sharing options...
Killer Of Legend Pubblicato: 6 Agosto 2009 Segnalazione Share Pubblicato: 6 Agosto 2009 Sono abbastanza lontani, se non riescono a trovare le cose che sono state cambiate e a creare una patch con tutti i reindirizzamenti, credo che non potremo aver i nostri effetti... Dannato NSU! XD Link to comment Condividi su altri siti More sharing options...
uccaa Pubblicato: 6 Agosto 2009 Segnalazione Share Pubblicato: 6 Agosto 2009 Scusate se interrompo il vostro lavoro....ma a che punto state.Cioè vicini a una soluzione o ancora lontani? ma li leggi i post? c'è scritto in grande più volte che determinate cose NON LE SAPPIAMO FARE! e quelle determinate cose stanno alla BASE di tutto.. In poche parole, è come se dovessimo fare un tuning su una macchina scandalosa per assettarla da pista, e nessuno di noi sa come funziona la meccanica.. c'è un gommista ma manca il tecnico preparatore.. chiaro? Link to comment Condividi su altri siti More sharing options...
95A31 Pubblicato: 6 Agosto 2009 Segnalazione Share Pubblicato: 6 Agosto 2009 (modificato) @Il.Socio Mi sono perso tra immagazzinamenti di vaolri e salti.. Che valore dovremmo cambiare ? il valore delle XXXX in dword_XXXXXXX o proprio la definizione di dword_XXXXXXX ? Non è presente alcuna voce utile per le XXX di dword_XXXX nel file compilato, può darsi che la nokia\symbian adotti una codifica di immagazzinamento dei dati particolare o che il compilatore si diverta a ottimizzare il file binario rendedo il tutto illeggibile a livello esadecimale ma mi sembra strano anche perchè certi indirizzi (non so di cosa ) sono li belli in chiaro.. Dalla documentazione (generica) che ho visto fino ad ora sull'assembly ARM ho trovato solo accenni sull'opcode delle istruzioni, forse perchè bisognerebbe guardare la documentazione del processore specifico o perchè questa è disponibile solo a livello interno dell'azienda produttrice di cpu non so, fatto sta che farebbe comodo per decifrare i binari (anche se IDA è gia di per se un grandissimo aiuto). Altra possibilità è che le XXXX vengoano assegnate in automatico da IDA o definite nell'header in fase di compilazione (può essere alla voce iDataAddress?) Mi vergogno di me stesso... Modificato 6 Agosto 2009 da 95A31 Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 6 Agosto 2009 Autore Segnalazione Share Pubblicato: 6 Agosto 2009 no, no i vari dword_XXXXXX li mette IDA, sono solo delle label, ma non fanno parte del codice vero e proprio... Quello che e' rilevante invece, sono i bytes sulla sx, colorati in blu... (vedi jpg di gfxtrans.dll fw21) B4 59 7F 80 ==> ovvero, un dato che rappresenta un riferimento assoluto all'indirizzo 0x807F59B4 Quei bytes, sono gli stessi che differiscono nel compare hex (vedi jpg del compare) Link to comment Condividi su altri siti More sharing options...
95A31 Pubblicato: 6 Agosto 2009 Segnalazione Share Pubblicato: 6 Agosto 2009 (modificato) Io quei bytes non li vedo.. Bisogna spuntare qualche opzione? Io x vedere i vari riferimenti seleziono l'istruzion e poi vedo l'hex di ida.. Modificato 6 Agosto 2009 da 95A31 Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 6 Agosto 2009 Autore Segnalazione Share Pubblicato: 6 Agosto 2009 Hai ragione... devi cambiare il valore di questa impostazione: Options > General > Number of opcode bytes: 4 Link to comment Condividi su altri siti More sharing options...
95A31 Pubblicato: 7 Agosto 2009 Segnalazione Share Pubblicato: 7 Agosto 2009 Ok dato un occhio... allora.. modificando il 44 86 80 80 con hex edit e portandolo a 31 5A 09 00 ida lo interpreta con comando DCD e cono più come riferimento assoluto. Modificandolo a 45 86 80 80 mi diventa d_byte. Orami viene da pensare che il modificarlo così sia la strada corretta però bisogna fixare qualcoda nell'header (o qualchea altra parte) per cambiare l'indirizzo del valore assoluto. ES all'indirizzo 01234567 c'è il riferimento assoluto noi dobbiamo portarlo all'indirizzo76543210 allora modifichiamo i richiami da 01234567 a 76543210 e poi modifichiamo l'header da 01234567 a 76543210. Così facendo IN TEORIA itornerebbe tutto apposto. Quste sono le prime ideee che mi vengono ma è perfettamente possibile che l'header non centri nulla. Ora come sempre queste sno sempre ipotesi da verificare. Mi dispiace molto buttare giu solo idee e non dare un contributo pratico allo sviluppo.. Scusate Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 7 Agosto 2009 Autore Segnalazione Share Pubblicato: 7 Agosto 2009 Non credo di aver capito cosa intendi... Link to comment Condividi su altri siti More sharing options...
uccaa Pubblicato: 8 Agosto 2009 Segnalazione Share Pubblicato: 8 Agosto 2009 Ok dato un occhio... allora.. modificando il 44 86 80 80 con hex edit e portandolo a 31 5A 09 00 ida lo interpreta con comando DCD e cono più come riferimento assoluto. Modificandolo a 45 86 80 80 mi diventa d_byte. Orami viene da pensare che il modificarlo così sia la strada corretta però bisogna fixare qualcoda nell'header (o qualchea altra parte) per cambiare l'indirizzo del valore assoluto.ES all'indirizzo 01234567 c'è il riferimento assoluto noi dobbiamo portarlo all'indirizzo76543210 allora modifichiamo i richiami da 01234567 a 76543210 e poi modifichiamo l'header da 01234567 a 76543210. Così facendo IN TEORIA itornerebbe tutto apposto. Quste sono le prime ideee che mi vengono ma è perfettamente possibile che l'header non centri nulla. Ora come sempre queste sno sempre ipotesi da verificare. Mi dispiace molto buttare giu solo idee e non dare un contributo pratico allo sviluppo.. Scusate non sei capace a fare quello che hai in mente di fare? Link to comment Condividi su altri siti More sharing options...
daniele 92 Pubblicato: 12 Agosto 2009 Segnalazione Share Pubblicato: 12 Agosto 2009 tutti al mare ? Link to comment Condividi su altri siti More sharing options...
uccaa Pubblicato: 12 Agosto 2009 Segnalazione Share Pubblicato: 12 Agosto 2009 Link to comment Condividi su altri siti More sharing options...
DragonFire Pubblicato: 13 Agosto 2009 Segnalazione Share Pubblicato: 13 Agosto 2009 (modificato) io come betatester ci sono... ho l'n95-1 con firm 30.0.015 Modificato 13 Agosto 2009 da DragonFire Link to comment Condividi su altri siti More sharing options...
uccaa Pubblicato: 13 Agosto 2009 Segnalazione Share Pubblicato: 13 Agosto 2009 cerca gente che sia capace Link to comment Condividi su altri siti More sharing options...
Fez Vrasta Pubblicato: 13 Agosto 2009 Segnalazione Share Pubblicato: 13 Agosto 2009 mi verrebbe voglia di fare il downgrade per poter avere sti effetti mi sa che sarebbe piu facile creare un applicazione che sostituisca il menu... =/ mica male come idea... non penso sia tanto difficile no? Link to comment Condividi su altri siti More sharing options...
95A31 Pubblicato: 15 Agosto 2009 Segnalazione Share Pubblicato: 15 Agosto 2009 @daniele 92 Gia.. @uccaa No non sono capace. Se no lo avrei gia fatto non credi? @Il.Socio Intendo dire che se nell'header c'è scritto che all'indrizzo XXXXX c'è una word e tu modifichi una funzione che richiama quell'indirizzo con un indrizzo "a caso" l'OS non trova più una word ma bit "a caso" può trovare opcode delle istruzioni un byte di bay o chissa che altro.. Cioè bisogna modificare sia header che indirizzi in modo sincorono e corretto se si vuole ottenrere qualcosa di funzionante.. almeno credo... N.B. So di ripetermi ma mi sembra di fare veramente poco.. Ragazzi mi dispiace spararela idee "a caso".. Ma più di così non so fare 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