cracokwanie kurs VCLCRK


_ _ _ _ _ _ _
/ \_____/ \______ / \____ / \___________/ \ / \_______/ \____
\ \ \ \ \_ \ \ \ \ \ \
_____/ . \ . \/ /\ \ / . \ . \________\ . \ /_ _____
| / /_ / /_ /_ / \ \ /_ / \_ /_ / / \ _/ \_ |
| / / \_/ \ \_/ \ \__/ \ / \_/ \ \_/ \ / / / \ |
|__\ \ / \ / / \ / . \___/ \_ / /__|
\ / / / \ / / \ / \ \____/ /
\____ /\____/ /___\__ \\____ /\____/\ / \______/ \_____ /
\_/ \____/ \_/ \_/ \__/ \_/

- t h e h o m e o f p o l i s h c r a c k e r s -

proudly presents:

`~*ńż[ a tutorial:................................................VCL Cracking ]żń*~`
`~*ńż[ written by:.................................................ImagiNativE ]żń*~`
`~*ńż[ date:........................................................02.04.1999 ]żń*~`

`~*ńż[ english readers note: ]żń*~`
[
[ the following tutorial has been written in polish language... if you're ]
[ interested in english version please place your request for translation ]
[ at http://crackpl.cjb.net... ]

Co: TSM Blowfish for Delphi 4.0
Skad: http://sunsite.icm.edu.pl/delphi/ftp/d20free/blownreg.zip
Czym: W32Dasm, Hiew (i oczywiscie Delphi)

TSM Blowfish jest to komponent realizujacy ciezkie zadanie jakim jest
szyfrowanie czegokolwiek. Komponent ten jest dostarczany w kilku wersjach
- poczawszy od Delphi 2.0 po najnowsza jego wersje, oraz C++ buildera.
Jako ze dysponuje czwarta wersja kompilatora, o niej tez bedzie mowa.
Sadze jednak ze w innych wersjach tego komponentu bedzie bardzo podobnie.

Ale do rzeczy. Ktoregos pieknego dnia tkwiac przed kompem stwierdzilem ze
musze sobie napisac jeden programik. Mniejsza o to, do czego mial sluzyc,
wazne ze czesc danych z ktorymi mial pracowac powinna byc szyfrowana.
Wpadl mi wtedy w oko blowfish - 64 bitowy klucz, szybki algorytm itd.
Poza tym freeware(????). Zaczalem pisac program... Odpalam go po kompilacji
a tam... messagebox 'You have not registered blwfish...' itd. Postanowilem
wtedy, ze zapatchuje sobie execa i bedzie spokoj. Jednak po namysle
stwierdzilem, ze nie ma sensu po kazdej kompilacji dekompilowanie proga,
szukanie stringow, patchowanie go. Dekompilacja pliku blowfish.dcu nie dala
efektow - wdasm glupieje poniewaz jest to nie znany przez niego typ pliku.

Ale... zrobmy cos takiego:

1. Odpalamy delphi, piszemy jakis malutki program uzywajacy blowfisha.
2. Kompilujemy go i wychodzimy z delphi.
3. Po odpaleniu - wiadomo - messagebox.
4. Uruchamiamy W32Dasm, deasemblujemy nasz programik.
5. Teraz standardowo - String Data References i szukamy tekstu ktory byl
w okienku. U mnie wygladalo to mniej wiecej tak:

* Possible StringData Ref from Code Obj ->"You have not yet registered Blowfish. "
->"Contact "
->"to do so and remove this message."
|
:0046449C B8B0444600 mov eax, 004644B0
:004644A1 E8729BFEFF call 0044E018

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0046449A(C)
|
:004644A6 C3 ret

6. Popatrzmy wyzej...

:00464488 E897E3F9FF call 00402824
:0046448D B864000000 mov eax, 00000064
:00464492 E835E5F9FF call 004029CC
:00464497 83F85F cmp eax, 0000005F
:0046449A 7C0A jl 004644A6 *****************

* Possible StringData Ref from Code Obj ->"You have not yet registered Blowfish. "

7. Interesuje nas linia 0046449A. Po analizie kodu, stwierdzilem ze sprawdzany
jest czas systemowy, i po pwenym czsie (nie chcialo mi sie sprawdzac od ktorego
dnia) prog krzyczy ze uzywasz niezarejestrowanego blowfisha. Wyzej wymieniony
skok jest wykonywany wtedy, gdy mamy jeszcze troche czasu. Sprobujmy.
Po zamianie w pliku exe naszego proga 7C0A na EB0A nie pokazuje sie zadna
wiadfomosc. OK. Teraz trzeba zrobic cos zeby zawsze tak bylo.
8. Jak juz pisalem, dekompilacja pliku blowfish.dcu nie daje efektow.
Ale mozna przeciez poszukac ciagu bajtow ze zdekompilowanego execa w pliku
dcu. Nie ma sensu szukac odwolan (call) poniewaz bedazapewne inne niz
w pliku exe. Pozostaje jeszcze tylko

:0046448D B864000000 mov eax, 00000064

oraz

:0046449A 7C0A jl 004644A6

9. Poszukajmy ich w pliku blowfish.dcu. Odpalamy hiewa, wczytujemy do niego plik
blowfish.dcu. Naciskamy F7, w polu HEX wpisujemy interesujacy nas ciag czyli:
B864000000 (mov eax, 00000064) i naciskamy enter. Znalazl?
Sprawdzamy teraz czy kilkanascie bajtow dalej znajduje sie drugi interesujacy
nas ciag - 7C0A (jl 004644A6). Jest? Jest. Mozemy zatem podmienic go na
EB0A. Naciskamy na bajcie 7C F3 i wpisujemy EB. Potem wiadomo- F9 i esc.
10. Ponownie odpalamy delphi. Otwieramy nasz projekt i ponownie go kompilujemy.
11. Odpalamy nasz programik - NAG nie pokazal sie - o to nam chyba chodzilo...


______ ______ ______ ______
/ \ / \ / \ / \
_________________________________________________/ . // / // / // / /
| \__/ /_\__ /_\__ /_\__ /|
|[CP!]: http://www.hyperreal.art.pl/cypher/crkpl / // / // / // / / |
|________________________________________________/ // / // / // / /__|
\___/ \_______\\_______\\_______\


Wyszukiwarka

Podobne podstrony:
cracokwanie kurs musk1[1]
cracokwanie kurs u crack3
cracokwanie kurs GetRight331
cracokwanie kurs katcd
cracokwanie kurs ftpcontr
cracokwanie kurs winpopplus
cracokwanie kurs winzip70
cracokwanie kurs tutorial2
cracokwanie kurs Tiger
cracokwanie kurs janio1
cracokwanie kurs u crack2
cracokwanie kurs How to XARA 3D
cracokwanie kurs WINFAX
cracokwanie kurs ?Plus
cracokwanie kurs locus32
cracokwanie kurs ?lphi5

więcej podobnych podstron