TransSoft FTP Control by McKiler

Hmm.. witam w kolejnym odcinku naszej telenoweli. Na warsztat tym razem wezmiemy moze niezbyt znany programik (rzadko pojawia sie na polskich CoverCD), ale nawet jesli go nie masz mozesz przejrzec ten tutorial, aby co nieco sie dowiedziec o innych programach niz SoftIce :-)

Postaramy sie znalezc prawidlowe dane rejestracyjne do tego programu, bez ingerencji w kod, a nastepnie wygenerujemy odpowiedniego patcha. Jest to dosc duzo roboty, ale w ten sposob otrzymamy w pelni prawidlowo zarejestrowany produkt. Do pracy niezbedne beda nastepujace narzedzia:

- SoftIce - hmmm, chyba go masz.. :-))))

- WinRoute Pro - zajmuje 400kb, jest na TUCOWS - lub dowolny inny serwer proxy, co to takiego wyjasnie pozniej

- FileMon - program sledzi wszystkie odwolania do plikow

- RegMon - program sledzi odwolania do rejestru

Dwa ostatnie programy zajmuja po 30kb i mozna je znalezc na wiekszosci stron poswieconych crackowaniu.

Po odpaleniu programu widzimy klasyke, 30-days evaluation i nasza ulubiona opcje w menu: "Apply registration code". Widzimy trzy pola. Do pierwszego 'Username' wpisujemy 'McKiler/CrackPL'99'. Do drugiego np. '54321'. E-mail: 'billg@microsoft.com'.

Tradycyjne pulapki nie dzialaja gdyz program jest napisany w Delphi. Skorzystamy wiec z pulapki 'bpx hmemcpy'. Teraz czeka nas cierpliwe wciskanie klawiszy F12, F10,F8. Dopiero w 3 (jest ich 7) wywolaniu hmemcpy dochodzimy do bardzo ciekawego momementu. Na nastepny raz mozna od razu wpisac BPX 015F:00404129.

[...]
015F:00404123  7426                JZ      0040414B                  (NO JUMP)
015F:00404125  8B0E                MOV     ECX,[ESI]
015F:00404127  8B1F                MOV     EBX,[EDI]
015F:00404129  39D9                CMP     ECX,EBX

Hmm... bardzo znajome porownanie. Sprawdzmy co jest pod ecx, a co pod edx. Wartosci wygladaja na jakies smieci. Ale to nie sa smieci. Popatrzmy dokladnie co SI nam pokazuje po wpisaniu '? ebx'.

32333435  0842216501  "2345"

A wiec wartosc po przeliczeniu na ASCII to fragment naszego wpisanego seriala, tyle ze odwrotnie wpisanego. Natomiast pod ecx mamy:

5A235848  1512265800  "Z#AB"

Czy musze cokolwiek wyjasniac? Chyba wszyscy widza co jest grane... Idziemy dalej. Jako ze programik juz chce nam wywalic ze kod nieprawidlowy, a to jeszcze nie jest caly kod, idziemy dalej po drodze zmieniajac flagi

015F:0040412B  7558                JNZ     00404185                  (JUMP (0x19))
:r fl z
015F:0040412D  4A                  DEC     EDX
015F:0040412E  7415                JZ      00404145                  (JUMP (0x19))
:r fl z
015F:00404130  8B4E04              MOV     ECX,[ESI+04]
015F:00404133  8B5F04              MOV     EBX,[EDI+04]
015F:00404136  39D9                CMP     ECX,EBX

No i mamy nastepne porownanie.

:? ecx
0000585A  0000022618  "XZ"
:? ebx
00CC0031  0013369393  "E 1"

Teraz sklecimy z tego kod.

2345 - Z#AB, czyli 5432 - BA#Z

1. (ten smiec pojawil sie bo nasz kod mial za malo liter) - XZ, czyli .1 - ZX

A wiec 54321 CMP BA#ZZX

Hmm, wpisales kod i nie dziala? Nie ma tak latwo, musisz sam go znalezc, ten tutaj jest troche zmieniony :)

Wylaczamy pulapki, wpisujemy jeszcze raz dane i yyyeeeaahh !!!! Kod prawidlowy! O nie! Nie tak szybko. Program teraz chce wyslac e-mail potwierdzajacy do producenta. Oczywiscie nie damy mu tego zrobic (jesli czytasz to tylko dla kodow rejestracyjnych, to zmykaj stad, a jesli wyslesz ten e-mail to otrzymasz odpowiedz od firmy i to raczej nieprzyjemna). Skad mozemy wiedziec co ten programik doczepia do tej wiadomosci, moze nawet wycinac nasze id z rejestru. Nigdy, przenigdy nie wolno wysylac seriali do producenta programu! No, chyba ze chcesz go ostrzec przed kiepskim zabezpiczeniem. Wracamy do programu. Jak mozna sie domyslic program chce jedynie WYSLAC e-mail, nie chce nic w zamian. Mozemy wiec go "przekonac" zeby taki e-mail wyslal. Zapewne juz ostrzysz sobie w32dasm, ale nie bedzie on tutaj potrzebny. Teraz wyjasnie pojecie serwera mail proxy. Takie cos dziala jak "posrednik" przy wysylaniu poczty. Po podaniu go jako serwera smtp (serwer ktory zajmuje sie wysylaniem poczty), nasz program wysle e-maila wg wszelkich regul! A gdzie go wysle? Bezpiecznie do folderu na naszym dysku! Swietny programik, WinRoute Pro, moze dzialac jako mail proxy. Uruchamiamy w nim te usluge, wysylamy z dowolnego programu pocztowego jakakolwiek wiadomosc (musimy w konfiguracji konta jako serwer SMTP podac 127.0.0.1 - jest to adres lokalny kompa) i widzimy ze zostaje ona zapisana w folderze WinRoute Pro. Podobnie robimy z naszym programem. Pyta sie on o nasz serwer STMP (wieeelkie dzieki dla autorow programu, niezmiernie nam tym ulatwiaja prace hehe), wpisujemy 127.0.0.1 i programik wysyla sobie e-mail! I to juz koniec! Mamy zarejestrowany program i to wedlug wszelkich wytycznych autora. Z ciekawosci mozna podejrzec co programik wysyla do autorow. Uff, niby nic tam nie bylo, tylko kod rejestracyjny, zadnych danych z naszego komputera, ale po co ryzykowac. Dobra, zarejestrowalismy program, ale co zrobic jesli chcemy np. Przeinstalowac system czy przeniesc program na inny komputer. Przeciez za kazdym razem nie bedziemy wysylac e-maila do autorow. Trzeba znalezc wiec miejsce gdzie program zapisuje dane rejestracyjne. W rejestrze nic komenda Find nie znajdziemy, w plikach tez nic, przesukiwanie tez nic nie daje. Czyli program zapisuje gdzies dane zakodowane. Tutaj z pomoca przychodza programy RegMon oraz FileMon. FileMon (bez Bonifacego hehe) pokazuje mnostwo smieci, patrzymy tylko na te ktore sa wywolane przez nasz program (FTP Control), jednak w tych plikach ktore otwiera (sa to tylko jego pliki konfiguracyjne) nic nie znajdujemy. Czas na RegMona. Tutaj wpisow ktore moga nas zainteresowac jest znacznie mniej, a najbardziej podejrzanym wydaje sie wpis w kluczu

[HKEY_CURRENT_USER\SOFTWARE\Windows]

Odpalamy regedit.exe i widzimy tam dwie wartosci:

[HKEY_CURRENT_USER\SOFTWARE\Windows\ActUser]

[HKEY_CURRENT_USER\SOFTWARE\Windows\ActKey]

Sa w nich "jakies" smieci. Zapisujemy sobie ten klucz do pliku *.reg i kasujemy go z rejestru. Hurra! Program znowu nie jest zarejestrowany. A wiec ten plik *.reg to po prostu dzialajaca rejestracja. Jeszcze jedna uwaga na sam koniec. Po tym wszystkim musisz wejsc do panelu sterowania -> dodaj/usun programy i wybrac TransSoft FTP Control. Tak bedzie lepiej dla wszystkich.

Pozdrowienia dla calego CrackPL oraz "sympatykow" !