Come Patchare IDA Pro 4.01


03/02/2000

by "Cieli Sereni "

 
 

UIC's Home Page

Published by Quequero


"L'Uomo è un lupo per l'uomo" Hobbes

Qualche mio eventuale commento sul tutorial :)))

"L'Uomo è un lupo per l'uomo" Hobbes
UIC's form
E-mail: [email protected]
UIC's form

Difficoltà

(X)NewBies ( )Intermedio ( )Avanzato ( )Master

 

Dopo alcuni giorni di fusione con il mio computer sono riuscito ad patchare IDA Pro 4.01. Ciò che tentero di fare è quello di spiegare cosa ho fatto.


Come Patchare IDA Pro 4.01

Written by Cieli Sereni

Introduzione


Salve a tutti, questo che vi propongo è il mio primo tute, quindi non sputatemi sul viso se non è il massimo, cercherò di migliorarmi.

Tools usati

W32Dasm, uno sconosciuto Deassemblatore, Debugger ;
Hex Workshop, un famoso editor esadecimale, ma va bene qualunque altro.

URL o FTP del programma

Il programma può essere reperito all'indirizzo www.datarescue.com, ma non ricordo la sezione.

Notizie sul programma 

Il programma è il miglior deassemblatore, debugger esistente in commercio. Per ulteriori informazioni guardate il tute Que nella UIC.

Essay

Let's go, appena prite IDA vi appare un bel Message Box, da ora MB, che indica i limiti della Evaluation Version, da ora EV, guardiamo cosa dice. La EV ha le seguenti limitazioni: 

1) Solo MS Windows (PE) files possono essere deassemblati; Ci possiamo anche stare....

2) Il tempo è limitato; E ci ripossiamo anche stare.... (k...o)

3) Il salvataggio è disabilitato. E qui non ci stò e che k...o

Premetto che parlerò di altre limitazioni trovate quà e là fra le stringhe. Per partire, a spregio, apriamo il file Command.com, un file per DOS, per vedere il MB che esce fuori, per via della prima protezione. Ci appare la famosa MB chiamata "Information" e dice che non può deassemblarlo perchè una EV etc. . Aprimao W32Dasm e deassembliamo IDAG.EXE, una volta deassemblato, andate nel menù "Refs" e cliccate su "String Data References" e guardiamo che cosa viene fuori, la stringa Information esiste, ma non è quello il nostro bersaglio, continuando a girare fra le stringhe troviamo questa che è più interessante: "%s is not a valid PE file.". Bingo.

"Sorry, the demo version will not "
->"disassemble itself"

:00426840 push 004BA038
:00426845 call 00403DE4
X     <------------ Crea la MB che non può deassemblare se stesso.
:0042684A pop ecx
:0042684B xor eax, eax
:0042684D mov edx, dword ptr [ebp-28]
:00426850 mov dword ptr fs:[00000000], edx
:00426857 jmp 00426A7B 
X      <------------ Salta alla chiamata che riporta alla finestra principale di IDA.
Jump at Address:
|:0042683E
:0042685C mov ecx, dword ptr [004C0F30]
.......................................
:0042686B push [ebp-2C]

"%s is not a valid PE file."

:0042686E push 004BA087
X     <------------ Atterrate qui dopo la chiamata alla stringa.
:00426873 call 00403E3C     
<------------ Crea la MB del "not valid PE files".
:00426878 add esp, 00000008
:0042687B xor eax, eax
:0042687D mov edx, dword ptr [ebp-28]
:00426880 mov dword ptr fs:[00000000], edx
:00426887 jmp 00426A7B 
X     <------------ Salta alla chiamata che riporta alla finestra principale di IDA.

Come potete vedere ci troviamo la nostra protezione cercata, più un'altra (non segnalata fra l'altro). Per far saltare queste due protezioni basta prendere gli offset dei punti segnati con una X aprire Hex, cercarli, ed a e sostituire in questo modo:

call 00403DE4  6838A04B0090909090905933C08B55D8 <- Non crea più la MB che non può deassemblare se stesso.
jmp  00426A7B  6489150000000090909090908B0D300F
<- Non salta alla chiamata che riporta alla finestra principale di IDA.
call 00403E3C A04B00909090909083C40833C08B55D8
<- Non crea più la MB del "not valid PE files".
jmp  00426A7B 6489150000000090909090908B55D4A1
<- Non salta alla chiamata che riporta alla finestra principale di IDA.

E la prima più una quarta protezione sono saltate. Per quanto concerne la seconda non ho ancora capito che cavolo di protezione sia, perché ho mandato ho mandato l'orologio del mio computer avanti fino al 31/12/2099, niente, ho aperto un programma, deassemblato un file qualsiasi mandato l'orologio avanti di 14 giorni per vedere se era la sessione di lavoro ad essere limitata nel tempo, ma niente. Chi riuscisse a capire che c...o è per piacere mi può mandare una e-mail ???!!!??? Come vi avevo premesso c'è un'altra stringa interessante, si chiama "Evaluation Version".

Una volta trovata la stringa, prendete l'offset del primo e dell'ultimo componente, aprite Hex e inserite il primo offset, sostituite le prime due cifre con 90. Inserite il secondo e sostituite le ultime due cifre con 90. Ora, tutto quello che si trova nel mezzo và sostituito con 90.

E0140090909090909090909090909090|90909090909090909090909090909090|90909090909090909090909090909090

90909090909090909090909090909090|90909090909090909090909090909090|90909090909090909090909090909090

90909090909090909090909090909090|90909090909090909090909090909090|90909090909090909090909090909090

90909090909090909090909090909090|90909090909090909090909090909090|90909090909090909090909090909090

9090B8010000008B55D0648915000000

Fatto ciò, la MB alla partenza di IDA è scomparsa. Per quanto concerne la 3° protezione, non sono riuscito a trovarla :((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((, se qualcuno riesce a farlo per piacere mi può contattare, chiunque mi potrà aiutare verrà nominato anche nel tute.

Saluti

!!Cieli Sereni!!

Note finali

Sò già che questo tute è veramente mini, ma d'altra parte essendo ancora un Newbies credo di aver fatto abbastanza, spero che qualcuno riesca ad aiutarmi per completare il tute.Ringrazio per primi Quequero e TiN_MaN, che sono veramente mitici e che con i loro corsi mi hanno insegnato quelle pochissime cose che sò. E naturalmente a tutti i mitici raga della UIC, nessuno escluso. Per chi mi volesse uccidere per alcuni errori nel patchare IDA, mi avverta così che possa migliorarmi, e poi se non si inizia mai a fare qualcosa, come si può sapere se ci riesce o no?????

!!Cieli Sereni!! 

Disclaimer

Vorrei ricordare che il software va comprato e  non rubato, dovete registrare il vostro prodotto dopo il periodo di valutazione. Non mi ritengo responsabile per eventuali danni causati al vostro computer determinati dall'uso improprio di questo tutorial. Questo documento è stato scritto per invogliare il consumatore a registrare legalmente i propri programmi, e non a fargli fare uso dei tantissimi file crack presenti in rete, infatti tale documento aiuta a comprendere lo sforzo immane che ogni singolo programmatore ha dovuto portare avanti per fornire ai rispettivi consumatori i migliori prodotti possibili.
Noi reversiamo al solo scopo informativo e di miglioramento del linguaggio Assembly.

 
UIC's page of reverse engineering, scegli dove andare:

Home   Anonimato   Assembly    CrackMe   ContactMe   Forum       
    Iscrizione   Lezioni    Links   NewBies   News   Playstation        
  Tools   Tutorial   Search   UIC Faq

UIC