Jump to content
Nokioteca Forum

Disassemblare Un File .app


BluDestiny
 Share

Recommended Posts

  • 3 settimane dopo...
Raga non riesco a trovare nè disassemblatori nè guide che mi spieghino come disassemblare un file .app.

Per favore qualcuno può indicarmi il modo per farlo? E' importante grazie!!

un file .app è una DLL compilata per processore ARM (o quello che c'e' sul tuo telefono, che ne so...)

magari fosse possibile decompilarli in modo semplice! b) Si potrebbero scoprire tutti i segreti dei cellulari!

potresti provare a cercare se esistono i sorgenti del GCC.EXE che sta negli SDK Symbian e serve a compilare i programmi per i cellulari: se esistesse, lo si potrebbe usare per dedurre come viene creato un .app.... b)

Link to comment
Condividi su altri siti

Ce l'ho fatta ho trovato la versione di ida che mi funge.

Però adesso con mio stupore ho scoperto che non ci ho concluso niente.

Quando disassembla (a parte che non sa trovare l'entry point) mi da solo righe in esadecimale "apparentemente senza senso". Nessuna stringa, nessuna chiamata a funzioni. Probabilmente ho bisogno di qualche altro tool

Link to comment
Condividi su altri siti

Ce l'ho fatta ho trovato la versione di ida che mi funge.

Però adesso con mio stupore ho scoperto che non ci ho concluso niente.

Quando disassembla (a parte che non sa trovare l'entry point) mi da solo righe in esadecimale "apparentemente senza senso". Nessuna stringa, nessuna chiamata a funzioni. Probabilmente ho bisogno di qualche altro tool

eh eh, ti tocca imparare il linguaggio macchina dell'ARM... b)b)

Link to comment
Condividi su altri siti

Ciao Blu, il problema credo che sia nel modo in cui e' stato compilato quell'eseguibile. (thumb / arm4 / armi)...

Vedi anche qui:

http://newlc.com/Overview-of-the-Compilation-system.html

Il codice risulta incomprensibile xche' ida cerca di interpretarlo tutto in arm (CODE32), dovresti marcare alcune sezioni di codice come thumb (CODE16) e poi farlo rianalizzare ad ida...

Ida ti permette di switchare da un set di istruzioni ad un'altro con Alt+g e seleziona T=0 per CODE32 e T=1 per CODE16

Per iniziare, prova ad analizzare un'altro file che sei certo sia stato compilato in arm... Prendi ad esempio flashsms b)

Modificato da Il.Socio
Link to comment
Condividi su altri siti

Ma non capisco.......In pratica scelgo il file (flash sms.app) e lui mi chiede se voglio disassemblarlo a 16 o 32 bit. Io li provo tutti e due ma il risultato non cambia.

Questo è l'inizio del codice:

«

seg000:0000 seg000 segment byte public 'CODE' use16

seg000:0000 assume cs:seg000

seg000:0000 assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing

seg000:0000 db 79h ; y

seg000:0001 db 0 ;

seg000:0002 db 0 ;

seg000:0003 db 10h ;

seg000:0004 db 0CEh ; +

seg000:0005 db 39h ; 9

seg000:0006 db 0 ;

seg000:0007 db 10h ;

seg000:0008 db 97h ; ù

seg000:0009 db 0DCh ; _

seg000:000A db 20h ;

seg000:000B db 10h ;

seg000:000C db 9Eh ; ×

seg000:000D db 0B9h ; ¦

seg000:000E db 0DCh ; _

seg000:000F db 0DAh ; +

seg000:0010 db 45h ; E

seg000:0011 db 50h ; P

seg000:0012 db 4Fh ; O

seg000:0013 db 43h ; C

seg000:0014 db 0 ;

seg000:0015 db 20h ;

seg000:0016 db 0 ;

seg000:0017 db 0 ;

seg000:0018 db 0CCh ; ¦

seg000:0019 db 0BCh ; +

seg000:001A db 14h ;

seg000:001B db 35h ; 5

seg000:001C db 0 ;

seg000:001D db 0 ;

seg000:001E db 0 ;

seg000:001F db 0 ;

seg000:0020 db 1 ;

seg000:0021 db 0 ;

seg000:0022 db 0BFh ; +

seg000:0023 db 0 ;

seg000:0024 db 40h ; @

seg000:0025 db 84h ; ä

seg000:0026 db 74h ; t

seg000:0027 db 28h ; (

seg000:0028 db 2Ch ; ,

seg000:0029 db 0EBh ; Ù

seg000:002A db 0E0h ; Ó

seg000:002B db 0 ;

seg000:002C db 3 ;

seg000:002D db 0 ;

seg000:002E db 0 ;

seg000:002F db 1 ;

seg000:0030 db 2Ch ; ,

seg000:0031 db 8 ;

seg000:0032 db 0 ;

seg000:0033 db 0 ;

seg000:0034 db 0 ;

seg000:0035 db 0 ;

seg000:0036 db 0 ;

seg000:0037 db 0 ;

seg000:0038 db 0 ;

seg000:0039 db 10h ;

seg000:003A db 0 ;

seg000:003B db 0 ;

seg000:003C db 0 ;

seg000:003D db 0 ;

seg000:003E db 10h ;

seg000:003F db 0 ;

seg000:0040 db 0 ;

seg000:0041 db 20h ;

seg000:0042 db 0 ;

seg000:0043 db 0 ;

Naturalmente posso fargli interpretare queste righe esadecimali ma creerebbe delle righe di codice senza senso.

Dov'è che sbaglio?

Modificato da BluDestiny
Link to comment
Condividi su altri siti

Ciao Blu, ho usato ida 4.7 e qualcosa e non ho incontrato alucn problema particolare...

Quando apri il file accertati di selezionare il processore arm dalla combo in alto e gia' che ci sei togli la spunta su rename .dll entries...

Se non e' presente il processore arm nella lista allora la versione di ida che stai utilizzando non va bene.

L'ho provato con flashsms, unlockme ed fexplorer

Link to comment
Condividi su altri siti

Post Rimosso.

Mentre il reversing a scopo di fornire interoperabilita' tra i programmi e' esplicitamente definita come una pratica perfettamente legale nei paesi dell'unione europea, il cracking ovviamente non lo e', attenzione a non far degenerare l'intera discussione, altrimenti dovro' cancellarla...

Link to comment
Condividi su altri siti

già perchè il problema è compilare e per farlo oltre ai vari tools di sviluppo sono necessari i sorgenti che ovviamente da ida non sono disponibili.

non sono sicuro se con un editor hex almeno valori di variabili puoi comunque cambiarli. che dici socio? penso che qualcosina si può fare...

Link to comment
Condividi su altri siti

Ida tira fuori il sorgente arm del programma, certamente non puo' risalire al sorgente originale con cui e' stato scritto.

Il reversing consiste per l'appunto nel partire dal codice arm e ricostruire man mano, variabili, strutture dati, funzioni, interi algoritmi, al fine di capire il funzionamento complessivo di una porzione del programma...

Cambiando i codici hex (opcode) delle istruzioni, si cambia di fatto il normale flusso di esecuzione del programma ed in questo contesto, capacita' permettendo, tutto puo' essere fatto.

In tutto cio' la conoscenza dell'assembly arm e' indispensabile.

Link to comment
Condividi su altri siti

Please sign in to comment

You will be able to leave a comment after signing in



Accedi Ora
 Share

×
×
  • Crea Nuovo...

Informazione Importante

Questo sito utilizza i cookie per analisi, contenuti personalizzati e pubblicità. Continuando la navigazione, accetti l'utilizzo dei cookie da parte nostra | Privacy Policy