E anche questa è fatta ... FLASH 5.0
Introduzione
Sempre di flash 5 si tratta :)
Tools usati
- SoftIce 4.05
- Windasm
- Code Fusion
URL o FTP del programma
Notizie sul programma
Non conoscete Flash????? Male, molto male!!!!!
Essay
Come da copione ci spostiamo nella sezione "Buy" di Flash per usare i "dlgitemtexta" e compagnia.
Entrando in sice mi sono perso nelle innumerevoli call senza fine.
Infatti non compare nessuna "messageboxexa" ad informarci che abbiamo sbagliato seriale.
Quindi quasi inattaccabile.
Cerchiamo un'altra strada.
"FLASHPOP.TTY" dal suggerimento di void e il file eseguibile che si occupa di registrarvi il programma.
In pratica voi nella vostra cartella avrete:
CTL3D32 DLL 45.056
FLASH TTY 8.550.400 <-- Il programma FLASH
FLASH EXE 237.568 <-- L'eseguibile Flash "30 day" comprensivo di controllo CRC
FLASHPOP TTY 163.840 <-- Il registratore di programma
FLASHTKY TTY 148.126
LANGUAGE TTY 552.960
LICENSE TXT 9.898
README~1 HTM 5.740
RSAGENT HLP 18.357
RSAGNT32 TTY 290.816 <-- Quello che si occupa di farvi comprare il programma
Dopo la registrazione vedremo cosa succederà!!!
Carichiamo FLASHPOP.TTY con il Symbol Loader e carichiamo il modulo.
Vediamo una finestra tipo "Copia in corso" e dopo un pò una "dialogboxparama" che ci informa che per attivare questa funzione dobbiamo acquistare il programma.
Dissassembliamo il file e cerchiamo come Funzione importata "dialogboxparama". La prima che troveremo e quella che fa comparire la finestra tipo "Copia in corso". Andiamo alla seconda:
Jump at Address:
|:00403DBD(C)
|
:00403DCC mov ecx, 000003FF
[...]
:00403E1E push 00435600
* Reference To: USER32.wsprintfA, Ord:02ACh
|
:00403E23 Call dword ptr [00423230]
[...]
:00403E40 push eax
* Reference To: USER32.DialogBoxParamA, Ord:0093h
|
:00403E41 Call dword ptr [00423220] <-- La dialog da saltare
[...]
Tutto il blocco parte da un jumper in 403DBD
Ricarichiamo il Symbol Loader mettendo un BPX su 403DBD
:00403DBD je 00403DCC <--consigliamolo di non saltare con un "r fl z"
:00403DBF pop edi
:00403DC0 pop esi
:00403DC1 or eax, FFFFFFFF
:00403DC4 pop ebx
:00403DC5 add esp, 00001280
:00403DCB ret
Tasto F5 ma la finestra si chiude senza risultati.
Riproviamo.
Ricarichiamo il symbol loader, non salto al 403DBD. F12, F12 e mi ritrovo all'indirizzo 40183E.
:0040183E mov esi, eax
:00401840 cmp esi, FFFFFFFF
:00401843 jne 0040185B <-- Se non salto esco dalla call. Altro "r fl z"
:00401845 push 00000000
:00401847 Call dword ptr [004231E0]
:0040184D pop edi
:0040184E pop esi
:0040184F xor eax, eax
:00401851 pop ebx
:00401852 add esp, 00001540
:00401858 ret 0010
:0040185B mov ebx, dword ptr [004231E0]
:00401861 mov edi, dword ptr [004231E4]
:00401867 test esi, esi
:00401869 jne 004018AF
:004018A7 push ecx
:004018A8 push edx
:004018A9 call edi
:004018AB push 00000000
:004018AD call ebx
:004018AF call 004016A0
:004018B4 cmp esi, 00000001
:004018B7 jne 004019D6
Ora sono alla 4018B7. Dal sice vedo più sotto una call "findfirstfilea" che secondo il mio intuito mi portera alla vittoria ma il jne mi conduce proprio alla fine della call quindi ennesimo "r fl z" e via con F5.
Succede qualcosa. Si sente hd che ronza e alla fine un bel
"Questa applicazione ha eseguito un operazione non valida e sarà terminata".
Poco importa. Andiamo a vedere cosa è successo:
CTL3D32 DLL 45.056
FLASH EXE 8.550.400
FLASHPOP TTY 163.840
LICENSE TXT 9.898
README~1 HTM 5.740
Tutti i files non attinenti al programma sono scomparsi
Il programma funziona perfettamente ma notiamo una cosa.
I file FLASH.TTY e FLASH.EXE hanno la stessa dimensione ma se guardiamo con qualsiasi File compare sono diversi.
Vengono cambiati esattamente 4084 byte.
Impossibile creare una patch per cambiare tutti quei byte.
...In caso formatto l'hd e devo reinstallare Flash 5.0 :-)...
In questo mi viene in aiuto Code Fusion scaricabile dal sito http://come.to/kobik. Il quale crea un file di patch con qualsiasi numero di differenze.
Per oggi abbiamo finito.
Alla prossima...
Fox96
Note finali
Ringrazio void per avermi indirizzato verso la retta via ... :)))
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.