                    _________\          |            __________  
                   /          \      __-+-  __      |         /\ 
                  /___________/     /'( |_  )`\     |________/  \
                 |   \       /     / . \/^\/ . \            /   /
                  \   \           /  _)_`-'_(_  \          /   / 
                   \   \         /.-~   ).(   ~-.\        /   /  
                    \   \       /'     /\_/\     `\      /   /   
                     \  /     __  ___  " __"  __  _ _  \/   /    
                      \/     / _)(  ,)  (  ) / _)( ) )  \__/_    
                            ( (_  )  \  /()\( (_  )  \           
                             \__)(_)\_)(_)(_)\__)(_)\_)          
                                ___             __               
                               (  ,\o l a n d  (  )              
                                ) _/ cRACKING   )(__             
                               (_)      gROUP  (____)            
                                    ____     /\                  
                                   /  \     /  \                 
                                  /\   \   /   /                 
                                    \   \ /   /                  
                                     \___\___/      by GustawKit

Program		: [SupStat v.1.0]
Gdzie		: [PCWK 1B/99]
Narzedzia 	: dowolny pod Win - np. SofTIce

Program SupStat jest programem statystycznym do obslugi gry systemowej w liczbowe gry losowe. Jest to program polski i dla grajacych np. w totolotka moze okazac sie uzyteczny. Postanowilem opisac sposob lamamania tego program ze wzgledu na nietypowy proces rejestracji. Program po znainstalowaniu zglasza sie w wersji demo ale posiada mozliwosc wpisania danych rejestracyjnych. Program generuje unikalny numer np. 00A190E6-0D6C10E4, ktory wraz z danymi personalnymi wysylamy aby po rejestracji otrzymac poprawny numer rejestracyjny.

Program jest prosty do zcrackwowanie ale postanowilem go opisac, moze poczatkujacy cos z tego tekstu wyniosa a przynajmniej przerabiajac ten program poczuja klimat crackowania.
Zabieramy sie wiec do pracy w standardowy sposob. Uruchamiamy SupSat wraz z debuggerem, wpisujemy ulubione dane rejestracyjne i zastawiamy pulapki na funkcjach pobierajacych dane z okienka dialogowego. Najlepiej od razu pulapki na funkcji API - hmemcpy czyli bpx hmemcpy. Po nacisnieciu Ok debuger przejmie kontrole i znajdziemy sie gdzies w kernel'u. Kilka razy F12 (pret) i dochodzimy do kodu programu SupSat mniejwiecej tu :

014F:004AB2D0  8B55E4              MOV     EDX,[EBP-1C]  
014F:004AB2D3  58                  POP     EAX
014F:004AB2D4  E89F8BF5FF          CALL    00403E78
014F:004AB2D9  7418                JZ      004AB2F3
014F:004AB2DB  668B0D5CB44A00      MOV     CX,[004AB45C]
014F:004AB2E2  B201                MOV     DL,01
014F:004AB2E4  B868B44A00          MOV     EAX,004AB468
014F:004AB2E9  E862E40100          CALL    004C9750
014F:004AB2EE  E933010000          JMP     004AB426

Nie bedziemy analizowac tu kodu bo to nieistotne, wkazdym razie sledzimy kod i zawartosci rejestrow i pamieci az dochodzimy do takiego fragmentu :

014F:004AB3EF  8B55E4              MOV     EDX,[EBP-1C]  --> wpisany kod
014F:004AB3F2  8B45F8              MOV     EAX,[EBP-08]  --> poprawny kod
014F:004AB3F5  E87E8AF5FF          CALL    00403E78
014F:004AB3FA  7422                JZ      004AB41E
014F:004AB3FC  668B0D5CB44A00      MOV     CX,[004AB45C]
014F:004AB403  B201                MOV     DL,01
014F:004AB405  B8F4B44A00          MOV     EAX,004AB4F4

A wiec w EDX i EAX sa adresy numerow rejestracyjnych, wpisanego przez nas i poprawnego. Nastepnie wywolanie funkcjia CALL w ktorej jest porownywanie tych danych i odpowiednie ustawienie rejestrow i flag. Pozniej znany skok good/bad.

Okazuje sie, ze po wpisaniu poprawnego kodu wzglednie modyfikacji samego skoku JZ program prosi i dyskietke na ktorej tworzy wersje instalacyjna pelnej wersji programu i podaje nowy numer seryjny do wpisania w pelnej wersji. Wtedy usuwamy wersje demo z dysku i instalujemy pelna wersje z dyskietki.

Po analizie zawartosci z dyskietki wersji pelnej z wersja demo okazuje sie, ze na dyskietce mamy nowy plik ss.sys w ktorym zawarte sa informacje o pelnej wersji. Setup przy instalacji sprawdza czy ten plik jest i jego zawartosc i odpowiednio instaluje wersje demo lub pelna.

To tyle, wiecej nie warto sie kodem zajmowac.

Mam nadzieje, ze jezeli ktos wygra w totolotka przy pomocy tego programu to zakupi kilka licencji u jego autorow :)

