Blog literacki, portal erotyczny - seks i humor nie z tej ziemi
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Od: tato
Do: crackpl@egroups.com
Temat: Locus32 - graficzny edytor funkcji algebraicznych
--------------------------------------------------------------------------------
Cel : Locus32 - odszukac SN
Status : osiagnieto
Lokalizacja : PCWK 12/98
Narzedzia : Sice
Metoda:
Standartowe BPX na MessageBoxA, GetDlgItemTxtA, GetWindowTextA,
GetKeyboardType, MessageBoxA zawodza. Dopiero BPX LoadStringA przynosi
jakies efekty. Zatem do dziela !
Po uruchomieniu programu "podziwiamy" na gornej belce okienka napis
"(Unregistered Locus332 will expire in 32 days.)" !
Otwieramy menu Help/About Locus. Okienko dyssponuje dwoma klawiszami:
nazwanymi Register i OK. Jak latwo zgadnac wybieramy to pierwsze.
W pole "Type in your User name" wprowadzamy np. znaki "rantantitla"
zas w pole "Type in User code" "nasz" kod - tzn. cokolwiek, lub zgola
nic !. Po wcisnieciu ^D wchodzimy w Sice i ustawiamy pulapke na BPX
LoadStringA. Jeszcze raz ^D (lub X, lub F5) i zatwierdzamy OK.
Program zatrzymuje sie poslusznie na pierwszym rozkazie realizujacym
polecenie LoadStringA. Zatem F11 i jestesmy w kodzie programu, w
miejscu skad wywolywana jest funkcja User32:LoadStringA. Wylaczmy
BPX LoadStringA (nie bedzie wiecej potrzebne, "nasz" SN i tak nie
pasuje). Poszukajmy stringu "rantantitla" w pamieci komputera
poleceniem s 30:0 l ffffff 'rantantitla'. Sice lokalizuje go
(poleceniem "s" mozemy sprawdzic, ze nawet trzykrotnie). Zapamietajmy
adres pierwszego wystapienia (mozna przywolac znowu s 30:0 l ....).
Zalozmy pulapke na "odczyt" tego stringu poleceniem BPMB nasz_adres R
i wylaczmy ja na razie.
Dalej F5 i komunikat o blednym kodzie ! OK i ^D. W Sice "gasimy"
wszystkie pulapki procz tej na string 'rantantitla'. I w okienku
rejestracji wybieramy OK. Sice zatrzymuje sie na poleceniu REPZ MOVSB
(tzn. powtarzaj dopoki nie_zero przesuniecie bajtow spod DS:ESI do
ES:EDI). Poniewaz program "zdazyl" juz cos przesunac "nasz" string
"rantantitla" zaczyna sie teraz pod ES:EDI-3, nasza uwage powinnismy
przeniesc na nowa lokalizacje. Poleceniem BPMB zakladamy nowa pulapke
na nowy adres i "gasimy" obie. Po F5 ogladamy okienko z komunikatem
"This is not a valid registration code". Dalej jak poprzednio, OK i
^D, uaktywniamy ostanio zalozona pulapke, ^D i wracamy do okna
rejestracji. OK i Sice zatrzymuje sie znowu na instrukcji REPZ MOVSD i
teraz interesujace nas "miejsce" znajduje sie bodaj pod ES:EDI-C. Ale
to nie koniec: bez gaszenia ostatniej pulapki wciskay F5 i powtornie
zatrzymujemy sie na ciagu rozkazow MOVSB. Poleceniem d ES:EDI-3
ustawiamy sie na poczatek naszego User Name, klawiszami Alt-Down
przesuwamy podgglad pamieci tak by nad naszym stringiem bylo trohe
miejsa (jakies 3 linijki), gasimy nasza pulapke, naciskamy F12 i
mozemy "podziwiac" pojawiajacy sie znikad SN ("$"+8 cyfr).
Oczywiscie, po podaniu tego SN i User Name dla ktorego program
usluznie go wygenerowal spowoduje zalegalizowanie naszej kopii i
utworzenie w katalogu programu zaszyfrowanego pliku-klucza !
Usuniecie tego pliku i ponowne uruchomienie programu umozliwi nam
stwierdzenie, ze przed "naszym" kluczem jest generowany jeszcze
conajmniej jeden klucz.
przykladowe dane:
User name : tato/CPL
SN : $D3AACCB8
ilosc maszyn : 200
tato@iname.com