Menu

Da Time limit a Registrato by Furb3T

---------> Furb3T<---------

presenta:

Da Time Limit a Registrato.

    Salve a tutti i miei carissimi lettori, oggivi voglio deliziare con un prg che ha dell'incredibile: voi pensavate di avere un prgshareware per le mani con tanto di nag screen e time limit, ed invece i programmatoriavevano previsto la possibilità di registrarsi senza però far vedere questa opzioneall'utente, e solo dopo un'analisi del codice assembler ho scoperto questa variante....SIETE CURIOSI !!!! Benissimo procediamo.

    Il prg target è AdobeImageReady 1.0 e lo strumento che andremo ad utilizzare saràil classico Softice. Come sipresenta il prg quando viene lanciato? Con una classica nag screen che indica tra l'altroil tempo residuo di vita del prg. A questo punto potremmo già agire eliminando il timelimit e la nag, come? semplicemente usando il cmd  BPXDIALOGBOXPARAMA, in questo modo possiamo vedere dove il prgeffettua il controllo del tempo e qual è la call che fa apparire sullo schermo la nag.Tuttavia questo tutorial si prefigge altri interessi, come vi avevo accennato all'inizio,quindi lascio questa operazione a chi vuole divertirsi ( consiglio a chi volesse seguirequesta strada, che deve stare attento ed inserire un'istruzione che vada a modificare EDXaltrimenti il prg crasherà).

    Bene bene ora entriamo nel merito deltutorial. Prima di tutto portate la data del vostro sistema 2 mesi avanti, in questo modoquando lancerete il prg, questo si dovrebbe presentare con una nag che vi dice che avete terminato il periodo di prova. Fatto ciò, fissate in Softice un BPX  DIALOGBOXPARAMA  e lanciatel'applicazione; sicuramente entrerete in Sice, quindi premete F12 e sarete di nuovo nelprg che avrà caricato la nag. Premete l'unico tasto che potete premere, cioè QUIT, esarete di nuovo dentro Sice. Ora fate caso ad una cosa; voi siete nell'istruzionesuccessiva alla call che crea la nag, e questa istruzione vi dice :  CMP  EAX, 06 , ma se andate a vedere EAXpotete vedere che ha come valore  EAX = 00000007 ; ciò vuol dire che premendo iltasto QUIT viene ritornato al controllo il valore 7, e dato che QUIT è l'unico tasto cheè possibile premere perchè esiste quell'istruzione CMP EAX,06 ?? Per scoprirlo che hofatto, ho modificato il valore di EAX, con il comando  R  EAX =  00000006 , a questo punto il  JE chesi trova subito dopo il CMP  è true e quindi avviene il salto che ci porta.............. ma che succede, ritorniamo nel prg e compare un nag dove vengono richiestele informazioni dell'utente per registrarsi, wow abbiamo trovato un'insieme di istruzioniche erano state nascoste.

    Riempite tutti i campi e premete NEXT,comparirà una nuova schermata dove vi verrà richiesta la modalità di pagamento tramiteCarta di Credito; niente paura inserite un qualunque codice a 10 cifre nel campo delnumero della carta di credito, inserite una qualunque scadenza e premete NexT; adesso vichiederà come volete contattare la sociètà, optate telefonicamente, quindi nellaschermata successiva vi verrà richiesto di inserire il codice di sblocco del prg, codiceche dovrebbe esservi stato dato dalla Adobe. Ok inseriamo un codice qualunque e mettiamo in Sice un BPX HMEMCPY,  premete F5, ritornerete quindi nel prg, premete OK e vediamo che succede. Eccoci rientratiin Sice, F12 per circa 10 volte e vi ritroverete dentro una dll di image ready edesattamente rsagnt32.dll, steppate con F10 fino ad arrivare a queste istruzioni:

1000B2DA   DEC ECX   -----> ECX  contiene il numero di cifre del codice che abbiamoinserito
1000B2DB   CMP ECX,00A
   ----> sele cifre del codice sono diverse da 10 allora non avviene il
1000B2DE    JE 1000B31B          
    salto

per non modificare troppo il prg, inseriamo un codice a 10 cifree ripetiamo l'operazione; questa volta il JE sarà soddisfatto e avverrà il salto, quindiarriviamo all'istruzione 1000B31B:

1000B31B  MOV  EDX , [100317D4]
1000B321   PUSH  1002B580  
------>se fate D 1002B580 vedrete un codice alfanumerico
1000B326   ADD  EDX , 00000106
1000B32C  PUSH  EDX
1000B32D  PUSH  1002B560   
1000B332   CALL  1000B950
1000B337   ADD  ESP , 00C
1000B33A  PUSH  1002B570  
-----> in1002B570 c' è il codice che abbiamo inserito
1000B33F   PUSH  1002B580
1000B344   CALL  1001FAB0 
----->questa call verifica che il codice inserito sia giusto e se lo è
1000B349   ADD  ESP , 008                 ritornacome valore di EAX = 0
1000B34C  TEST  EAX , EAX
1000B3AB    JNE  1000B3AB

Dato che avendo inserito un numero a caso di 10 cifre sicuramentenon sarà quello giusto, avete due alternative:  1) Entrate nella call che si trovasu 1000B344 e cercate di capire come viene generato il vero codice, oppure ( molto piùsemplicemente)  2) quando vi trovate sull'istruzione 1000B349, modificate il valoredi Eax con il comando R  EAX =  0, in entrambi i casi il prg vi dirà che da quel momento in poi èregistrato, e voi non avrete più scocciature con le nag iniziali e con il time limit.

Ringraziamenti : A tutto il  mio gruppo preferito RingZer0.

 


Top: Sicurezza su Internet - Back
Previous: ReVerSinG by Furb3T - Up: Sicurezza su Internet - Next: Dongle: primi passi by Furb3T

This page last updated: Friday 08 November 2002 at 3:58pm

Please send any comments on this page to Astalalista.

Labelled with ICRA

This page is powered by Copyright Button(TM).
Click here to read how this page is protected by copyright laws.

Use this button to
NOT browser button


begin banner Exchange zone

Member of BannerPower Rotation System

Home Main Portal Translate Tell A Friend Create Page Create Site Search Site Search WWW E-mail Login Insert A Link Free for All Free Dating Forum disabled-come soon Guestbook Links Vote For Us disabled-come soon Vertical Blinds | Purchase Text Ads | Free Flash Games | Beaded Necklace | Blinds