E anche questa è fatta ... FLASH 5.0 |
|
|
Data |
by "Fox" |
|
29/09/2000 |
Published by Quequero |
|
Che bello il mio primo tutorial ... |
Beh, niente di difficile, ma il target è interessante :) bravo Fox |
... speriamo non sia l'ultimo!!! |
UIC's form |
|
UIC's form |
Difficoltà |
(X)NewBies ( )Intermedio ( )Avanzato ( )Master |
Ora andremo ad analizzare il bellissimo programma della Macromedia, programma nuovo ma sempre la stessa protezione ....
Introduzione |
Tools usati |
URL o FTP del programma |
Notizie sul programma |
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:
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
|
Ringrazio void per avermi indirizzato verso la retta via ... :)))
Disclaimer |