Cel : Piranha Panic 1.03 Co : serial Czym: W32dasm+SoftICE
Start: Fajna gierka udostepniajaca w wersji niezarejestrowanej 2 poziomy. Ma ona szereg 'skomplykowanych algorytmow szyfrujacych', ale z nasza wiedza to nie problem. I-e spostrzezenia: Okno glowne ma napis '-unregistered demo version' Wniosek: program na poczatku sprawdza czy gierka jest zarejestrowana czy nie - wczesniejsze ustawienia breakpointow na getdlgitemtexta i zmienianie flag przy skokach pokazalo, ze Piranha zapisuje dane w pliku pirpanic.ini. So na poczatku te dane odczytuje. Zarejestruj sie pod jakas fajnym nickiem. Jako serial wpisz co chcesz. Chodzi o to, aby znalezc prawidlowy serial dla naszego nicka. Zdisasmujmy prog w W32dasm. W string reference (->Refs/String Data References) szukamy '-unregistered demo version' W32Dasm skacze do:
:0040F8A5 6892030000 push 00000392
Szukamy I-ego skoku warunkowego przed nim. Spisujemy skad nastapil:
Referenced by a (U)nconditional or (C)onditonal Jump at Address: |:0040f840(C)
Ladujemy proga do Loadera Numegi. Ustawiamy breakpoint na ten adres. I Voila - patrzymy w ostatni podejrzany rejestr EDI
LEA EDI,[ESP+34] : d edi
Widzimy nasz nick. Przejrzyjmy okno danych w gore (ALT+strzalka) - obok napisu 'Piranha' nasz prawidlowy serial. Jezeli ALT+strzalka nie dziala to wpisz DATA - polecenie to zmienia sposob wyswietlania tego okna. Wychodzimy z SI. Uruchamiamy Piranhe wpisujemy ow stary uprzednio wpisany nick i spisany serial. I mamy full versje. Nie podaje tutaj zadnych danych bo: a) byloby to 'wyjatkowe' chamstwo w stosunku do autora tak fajnej gierki shareware.(bo chamstwo to juz jest) b) sposob ten prawdopodobnie dziala na innych versjach tej gierki so adresy wzgledne moga byc inne.
Ptasiek/IND