Reversing under PalmOS..impariamo a usare il debugger! | ||
12-05-2003 |
by Pincopall |
|
|
Published by Quequero | |
|
Grazie pincuzzo, e' proprio divertente il reversing su Palm :), colgo pure io l'occasione per salutare xgri che non si vede da molto su #crack-it |
... sono la stessa persona? :-pp |
.... |
|
.... |
Difficoltà |
(P)NewBies ( )Intermedio ( ) Avanzato ( )Master |
Allora, mi sono arrivate un sacco di e-mails riguardo l'utilizzo di un debugger per il reversing sotto palmOS, alcune sono arrivte anche nella ML della UIC chiedendo che qualcuno facesse un tutorial a riguardo...bene, eccolo qua =), come target usiamo l'unico CrackMe per palmOS che c'è alla UIC fatto dal nostro amico spagnolo Xgrimator che ha pure una bella crew che si interessa d palm; troveremo il seriale giusto per registrarci e poi vedremo pure come modificare il crackme perchè ci registri con qualsiasi serial =).
Introduzione |
Tools usati |
URL o FTP del programma |
Notizie sul programma |
Essay |
Dunque partiamo,
facciamo partire il POSE, clikkiamo il pulsante destro e installiamo la
nostra nuova applicazione, ovvero l'Xgrimator CrackMe, lo lanciamo e vediamo
che ci chiede di inserire il nostro nome ed il nostro serial, ne mettiamo
2 a caso e premiamo "Get It!" a meno di un culo pazzesco che vi avrà fatto
indovinare il serial al volo, la risposta sarà una message box in cui
vi viene dato anche dei "Son of a bitch" :-p. Potremmo, sapendo quali
sono le API più usate per il confronto di serial e la creazione di Message
Box, già usare il debugger, ma siccome noi queste API nn le conosciamo
=)) ci facciamo tutto il percorso per benino =).
Dunque copiamo il file xgrCrackme1.prc nella stessa cartella sia del PilotDis
che del Prc2Bin.
DA prompt di DOS andiamo nella cartella del PilotDis e digiatiamo "PilotDis
xgrCrackme1.prc" otterremo nella stessa cartella un file .s da aprire
con il notepad che è il disassemblato del crackme, già quiì potremmo cercare
alcune parole tipo "bitch" :p per vedere quando il programma le usa, ma
facciamo tutti i passaggi senza badare al fatto che questo è un CrackMe
e per cui d stringhe ce ne sono abbastanza poche, e usiamo anche il Prc2Bin
=).
Andiamo allora, sempre dal prompt, nella cartella del Prc2Bin, e digitiamo
"Prc2Bin xgrCrackme1.prc" quello che otteniamo è una marea di file .bin,
da leggere anch'essi con il notepad in cui sono riportati i vari form
e le varie stringhe che il prog usa, apriamo dunque ogni file finchè non
troviamo quello contenente la stringa d errore, e troviamo che il nostro
"ricercato" è il file Talt03e9.bin
Andiamo allora dentro il disassemblato che abbiamo ricavato poco fa e
cerchiamo la stringa "03e9", ovviamente questo numero lo troveremo parekkie
volte ma solo una volta è quella giusta, ed è facile riconoscerla =) :
00000a9e PEA -11(A6) 00000aa2 MOVE.W #1007!$3ef,-(A7) 00000aa6 BSR L35 00000aaa ADDQ.L #8,A7 00000aac PEA L45 00000ab0 PEA -11(A6) 00000ab4 sysTrapStrCompare --- Questa call confronta i seriali 00000ab8 ADDQ.L #8,A7 00000aba MOVE.W D0,D3 00000abc MOVEQ #0,D4 00000abe CMP.W D4,D3 00000ac0 BNE L31 --- Se nn sono uguali si salta al punto L31 ovvero ERRORE! 00000ac4 MOVE.W #1002!$3ea,-(A7) --- Se son uguali si arriva fino al BRA.. 00000ac8 sysTrapFrmAlert 00000acc ADDQ.L #2,A7 00000ace BRA L32 --- ..e da quì alla msg box OK! =)
00000ad2 3f3c03e9 L31 MOVE.W #1001!$3e9,(A7) --- Quì viene formata la msg box d'errore
00000ad6 sysTrapFrmAlert 00000ada ADDQ.L #2,A7 00000adc L32 MOVE.W #1007!$3ef,-(A7) --- Msg Box di congratulazioni =) 00000ae0 BSR L34 00000ae4 ADDQ.L #2,A7 00000ae6 MOVE.W D0,D3 00000ae8 MOVEQ #0,D4 00000aea CMP.W D4,D3 00000aec BNE L33
|
Un saluto all'autore del CrackMe, Xgrimator, un bravissimo palm-reverser
spagnolo che ogni tanto è pure venuto in #crack-it...e AUGURI se non ci
sentiamo da quì al 30 Luglio =)
Un saluto quindi a tutto il chan #crack-it nonchè ad #hackmaniaci e #asm.
Una dedica particolare a Maria che furoreggia in chan :p e che mi ha suggerito
la frase da mettere sopra =) ah..e che mi ha insegnato una filastrocca
troppo bella! Ciauuuu
Disclaimer |
E' un CrackMe...è stato pensato e codato per essere crackato e gode quando viene reversato, quindi...lo ho solo fatto godere :p
Noi reversiamo al solo scopo informativo e di miglioramento del linguaggio Assembly.