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 ju jest)
b) sposob ten prawdopodobnie dziala na innych versjach tej gierki so adresy wzgledne moga byc inne.

Ptasiek/IND
