Macro Magic for Windows 95,98,NT by n1ghtm4r3

Cel   : Macro Magic for Windows 95, Windows 98, and Windows NT
Gdzie : Chip 9/98
Co    : Serial
Czym  : W32Dasm

Uruchamiamy W32Dasma, wczytujemy program:

Disassembler --> Open File to Disassemble --> Macros.exe

chwilke czekamy i

Debug --> Load Process

Pojawily nam sie jeszcze jakies dwa nowe okna. Przesunmy je (narazie nam nie sa potrzebne). Nastepnie:

Refs --> String Data References

no i szukamy ciagu znakow:

"You have entered an invalid registration "

klikamy na nim dwa razy i mamy cos takiego:

:00453035 B850314500        mov eax, 00453150 ; tutaj jest nasz kursor
:0045303A E8C198FEFF        call 0043C900
:0045303F 8B45FC            mov eax, dword ptr [ebp-04]
:00453042 E8B5FDFAFF        call 00402DFC
:00453047 A154B84600        mov eax, dword ptr [0046B854]
:0045304C E853BDFDFF        call 0042EDA4

patrzymy co jest wyzej:

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

|:00452F66(C)     ; !!! tutaj znajduje sie adres z kad jest wywolywana funkcja pokazujaca ten napis, tak wiec sprawdzamy ten adres
|
:0045302B 43                      inc ebx
:0045302C 83FB1F                  cmp ebx, 0000001F
:0045302F 0F85F5FDFFFF            jne 00452E2A

* Possible StringData Ref from Code Obj ->"You have entered an invalid registration "
                                        ->"number.  If you are a registered "
                                        ->"user of Macro Magic, please contact "
                                        ->"Iolo for a valid code at mm@iolo.com"
                                        ->"or 1(626)793-3993."
                                  |
:00453035 B850314500              mov eax, 00453150
:0045303A E8C198FEFF              call 0043C900
:0045303F 8B45FC                  mov eax, dword ptr [ebp-04]
:00453042 E8B5FDFAFF              call 00402DFC
:00453047 A154B84600              mov eax, dword ptr [0046B854]
:0045304C E853BDFDFF              call 0042EDA4

tutaj jest ten adres

(odwrocilem kolejnosc linijek abys tego nie musial czytac od konca)

        l
       lll - to jest strzalka :)
       RŽU
:00452F7D 53                      push ebx
:00452F78 6890000000              push 00000090
:00452F76 8BD8                    mov ebx, eax
:00452F71 E85AF7FAFF              call 004026D0
:00452F6C B890000000              mov eax, 00000090
:00452F66 0F85BF000000            jne 0045302B  ; z tad jest wyswietlana informacja o nieprawidlowym numerze patrzymy co jest linijke nizej (wlasciwie wyzej)
:00452F61 E84A0DFBFF              call 00403CB0 ; a ha! pewnie tutaj program poprawnosc kodu rejestracyjnego
:00452F60 58                      pop eax
:00452F5D 8B55E4                  mov edx, dword ptr [ebp-1C]   ; !!!
:00452F58 E89B020000              call 004531F8
:00452F55 8D45E4                  lea eax, dword ptr [ebp-1C]
:00452F52 FF75F4                  push [ebp-0C]
:00452F4F FF75F8                  push [ebp-08]
:00452F4E 50                      push eax

W miejscu w którym posawilem wykrzykniki zakladamy pulapke (najezdzamy tam podswietlona linia i wciskamy klawisz F2). Nastepnie uruchamiamy program poprzez F9. Wciskamy klawisz "Register Now" i wpisujemy jakikolwiek ciag cyfer w moim przypadku to: 594241954897 i zatwierdzamy. Zglasza nam sie W32Dasm, wciskamy F7 i w okienku gdzie sa wypisane pionowo takie przyciski (eip, eax, ecx (..), esp, UA1, UA2), wciskamy F7, jeszcze tylko podswietlamy zawartosc rejestru edx (klikamy na ten przycisk w pionowym rzedzie) i mamy swoj ulubiony numer seryjny.

Serial : 98(..)37