Arial CD Ripper v1.5.5 |
|
|
|
Program Tipi:Convert. |
|
OllyDbg v1.10 |
|
|
|
|
Arial CD Ripper Delphi ileyazılmış,Serialle korunuyor.Biz seriali bulacagız .Patch için degişik yöntemler kullanacagız.
I- SERİAL
Simdi programa dönün.OK.tusuna basın.Breakpoint calıstı.Ollydbg ye döndük.
77D5353D F3:A5 REP MOVSD ==>Burada durdu.F2 ile breakpointi kaldırın.ALT+F9 yapın.
77D5353F 8BC8 MOV ECX, EAX
77D53541 83E1 03 AND ECX, 3
77D53544 F3:A4 REP MOVSB
77D53546 E8 E3FBFFFF CALL 77D5312E
77D5354B 5F POP EDI ; 0017DE40
77D5354C 5E POP ESI ; 0017DE40
77D5354D 8BC3 MOV EAX, EBX
77D5354F 5B POP EBX ; 0017DE40
77D53550 5D POP EBP ; 0017DE40
77D53551 C2 1000 RET 10
0044E160 |. 8943 0C MOV DWORD PTR DS:[EBX+C], EAX ==>ALT+F9 yapınca buraya geldik.F8 ile ilerleyin.
0044E163 |> 8B03 MOV EAX, DWORD PTR DS:[EBX]
0044E165 |. 83F8 0C CMP EAX, 0C
0044E168 |. 75 1B JNZ SHORT 0044E185
0044E16A |. 8B53 08 MOV EDX, DWORD PTR DS:[EBX+8]
0044E16D |. 52 PUSH EDX ; /Arg1 = 00150608
0044E16E |. 8B4B 04 MOV ECX, DWORD PTR DS:[EBX+4] ; |
0044E171 |. 8BD0 MOV EDX, EAX ; |
0044E173 |. 8BC6 MOV EAX, ESI ; |
0044E175 |. E8 5AB6FFFF CALL 004497D4 ; \Arial_CD.004497D4
0044E17A |. EB 09 JMP SHORT 0044E185
0044E17C |> 8BD3 MOV EDX, EBX
0044E17E |. 8BC6 MOV EAX, ESI
0044E180 |. E8 E7CEFFFF CALL 0044B06C
0044E185 |> 5D POP EBP ; 0012F638
0044E186 |. 5F POP EDI ; 0012F638
0044E187 |. 5E POP ESI ; 0012F638
00573A05 |. 8B83 1C030000 MOV EAX, DWORD PTR DS:[EBX+31C]
00573A0B |. E8 2462EDFF CALL 00449C34
00573A10 |. A1 78B05800 MOV EAX, DWORD PTR DS:[58B078]
00573A15 |. 8B00 MOV EAX, DWORD PTR DS:[EAX] ; Arial_CD.00430A0C
00573A17 |. 8B4D F8 MOV ECX, [LOCAL.2] ==>Girdiğimiz sallama serial.
00573A1A |. 8B55 FC MOV EDX, [LOCAL.1] ==>Girdiğimiz isim.
00573A1D |. E8 823F0100 CALL 005879A4 ==>Karsılaştır.
00573A22 |. 84C0 TEST AL, AL ==>Sonuc dogru ise AL=1 ve Full versiyon
00573A24 74 7E JE SHORT 00573AA4 ==>AL=0 ise Trial versiyon
00573A26 |. A1 78B05800 MOV EAX, DWORD PTR DS:[58B078]
00573A2B |. 8B00 MOV EAX, DWORD PTR DS:[EAX] ; Arial_CD.00430A0C
00573A2D |. 8B55 FC MOV EDX, [LOCAL.1]
00573A30 |. E8 CB420100 CALL 00587D00
00573A35 |. 6A 40 PUSH 40
00573A37 |. B9 CC3A5700 MOV ECX, 00573ACC ; ASCII "Congratulations!"
00573A3C |. BA E03A5700 MOV EDX, 00573AE0 ; ASCII "Register successfully! Thank you for your support!"
00573A41 |. A1 9CB35800 MOV EAX, DWORD PTR DS:[58B39C]
00573A46 |. 8B00 MOV EAX, DWORD PTR DS:[EAX] ; Arial_CD.00430A0C
00573A48 |. E8 6F76EFFF CALL 0046B0BC
Şimdi Bir sefer F9 a basın.Program çalıssın.Ollydbg de CTRL+G yapın.Önümüze gelen
ekrana 00573A1D yazıp OK tusuna basın.F2 ile 00573A1D satırına Breakpoint koyun.
Programa dönün Register bölümünde OK tusuna tekrar basın.Breakpoint calıstı.00573A1D satırında durduk.
00573A1D |. E8 823F0100 CALL 005879A4 ==>burada durduk.F7 ile call içine bakalım.
00573A22 |. 84C0 TEST AL, AL
00573A24 74 7E JE SHORT 00573AA4
005879A4 /$ 55 PUSH EBP ==>F7 yapınca buraya geldik.F8 ile devam
005879A5 |. 8BEC MOV EBP, ESP
005879A7 |. 83C4 E4 ADD ESP, -1C
005879AA |. 53 PUSH EBX
005879AB |. 33DB XOR EBX, EBX
005879AD |. 895D F4 MOV [LOCAL.3], EBX
005879B0 |. 894D F8 MOV [LOCAL.2], ECX
005879B3 |. 8955 FC MOV [LOCAL.1], EDX
005879B6 |. 8B45 FC MOV EAX, [LOCAL.1]
005879B9 |. E8 AAD8E7FF CALL 00405268
005879BE |. 8B45 F8 MOV EAX, [LOCAL.2]
005879C1 |. E8 A2D8E7FF CALL 00405268
005879C6 |. 33C0 XOR EAX, EAX
005879C8 |. 55 PUSH EBP
005879C9 |. 68 167A5800 PUSH 00587A16
005879CE |. 64:FF30 PUSH DWORD PTR FS:[EAX]
005879D1 |. 64:8920 MOV DWORD PTR FS:[EAX], ESP
005879D4 |. 33DB XOR EBX, EBX
005879D6 |. 8D55 E4 LEA EDX, [LOCAL.7]
005879D9 |. 8B45 FC MOV EAX, [LOCAL.1]
005879DC |. E8 672DFEFF CALL 0056A748
005879E1 |. 8D45 E4 LEA EAX, [LOCAL.7]
005879E4 |. 8D55 F4 LEA EDX, [LOCAL.3]
005879E7 |. E8 D02DFEFF CALL 0056A7BC ==>keygen
005879EC |. 8B55 F4 MOV EDX, [LOCAL.3] ==>gercek serial
005879EF 8B45 F8 MOV EAX, DWORD PTR SS:[EBP-8]==>Girdigimiz sallama serial
005879F2 |. E8 CDD7E7FF CALL 004051C4 ==>Karsılastır.
005879F7 |. 75 02 JNZ SHORT 005879FB ==>Sonuc yanlış ise eax ı sıfırla AL=0 Trial versiyona devam.
005879F9 |. B3 01 MOV BL, 1
005879FB |> 33C0 XOR EAX, EAX
005879FD |. 5A POP EDX
005879FE |. 59 POP ECX
005879FF |. 59 POP ECX
00587A00 |. 64:8910 MOV DWORD PTR FS:[EAX], EDX
00587A03 |. 68 1D7A5800 PUSH 00587A1D
00587A08 |> 8D45 F4 LEA EAX, [LOCAL.3]
00587A0B |. BA 03000000 MOV EDX, 3
00587A10 |. E8 D7D3E7FF CALL 00404DEC
00587A15 \. C3 RET
II- PATCH
A-)Birinci Yöntem:
00573A1D |. E8 823F0100 CALL 005879A4 ==>Burada Karsılaştırma vardı.F7 ile calle girin
PATCH ÖNCESİ
005879A4 55 PUSH EBP
005879A5 8BEC MOV EBP, ESP
005879A7 83C4 E4 ADD ESP, -1C
005879AA 53 PUSH EBX
PATCH SONRASI
005879A4 33C0 XOR EAX, EAX
005879A6 90 NOP
005879A7 40 INC EAX ==>EAX ve AL=1 oldu
005879A8 90 NOP
005879A9 90 NOP
005879AA C3 RET ==>AL=1 olarak geri dön.
B-)İkinci Yöntem:
PATCH ÖNCESİ
005879EC |. 8B55 F4 MOV EDX, [LOCAL.3] ==>(ASM KODU:[LOCAL.3]= DWORD PTR SS:[EBP-C])Gercek serial burada
005879EF 8B45 F8 MOV EAX, DWORD PTR SS:[EBP-8] ==Sallama serial
005879F2 |. E8 CDD7E7FF CALL 004051C4 ==>Karşılaştır.
005879F7 |. 75 02 JNZ SHORT 005879FB
005879F9 |. B3 01 MOV BL, 1
005879FB |> 33C0 XOR EAX, EAX
PATCH SONRASI
005879EC |. 8B55 F4 MOV EDX, [LOCAL.3] ==>Gercek serial
005879EF 8B45 F4 MOV EAX, DWORD PTR SS:[EBP-C] ==>Artık EAX gercek seriali alıyor
005879F2 |. E8 CDD7E7FF CALL 004051C4 ==>İki gercek seriali kontrol et.
005879F7 |. 75 02 JNZ SHORT 005879FB ==>Sonuc artık dogru AL=1
005879F9 |. B3 01 MOV BL, 1
005879FB |> 33C0 XOR EAX, EAX
C-)Üçüncü Yöntem:
PATCH ÖNCESİ
00573A1D |. E8 823F0100 CALL 005879A4
00573A22 |. 84C0 TEST AL, AL
00573A24 74 7E JE SHORT 00573AA4 ==>Sonuc yanlıs ise döngüye gir.(Herhangi bir mesaj göstermiyor)
00573A26 |. A1 78B05800 MOV EAX, DWORD PTR DS:[58B078] ;Programcı burada büyük hata yapmış.Geriye dogru herhangi bir kontrol yok.
00573A2B |. 8B00 MOV EAX, DWORD PTR DS:[EAX]
00573A2D |. 8B55 FC MOV EDX, [LOCAL.1]
00573A30 |. E8 CB420100 CALL 00587D00
00573A35 |. 6A 40 PUSH 40
00573A37 |. B9 CC3A5700 MOV ECX, 00573ACC ; ASCII "Congratulations!"
00573A3C |. BA E03A5700 MOV EDX, 00573AE0 ; ASCII "Register successfully! Thank you for your support!"
PATCH SONRASI
00573A1D |. E8 823F0100 CALL 005879A4
00573A22 |. 84C0 TEST AL, AL
00573A24 90 NOP ==>Sonuc yanlıs ise herhangi bir şey yapma devam et.
00573A25 90 NOP
00573A26 |. A1 78B05800 MOV EAX, DWORD PTR DS:[58B078]
00573A2B |. 8B00 MOV EAX, DWORD PTR DS:[EAX]
00573A2D |. 8B55 FC MOV EDX, [LOCAL.1]
00573A30 |. E8 CB420100 CALL 00587D00
00573A35 |. 6A 40 PUSH 40
00573A37 |. B9 CC3A5700 MOV ECX, 00573ACC ; ASCII "Congratulations!"
00573A3C |. BA E03A5700 MOV EDX, 00573AE0 ; ASCII "Register successfully! Thank you for your support!"
Yukarıdaki şekilde hangi patchı yaparsak yapalım sonucta kayıtlanıyor.Kayıtlı olup olmadıgını programın oldugu dizindeki
AudioConverter.inidosyasından bakıyor.Patch uygulamasından sonra gercek seriali bu dosyaya yazıyor.
Bu tutoriali yazmaktaki amacım programcılara ,programlarını daha iyi korumaları için yol göstermektir..
Son olarak şunu söyleyeyim:Bir programı kullanarak para kazanıyorsanız,o programı mutlaka satın alın.Emeğe değer verin...
Lisansız kullanımdan tutoriali hazırlayanlar sorumlu değildir.
Bu yazıda yazım yanlışları , bilgi hatası
olabilir.Eğer bir yanlış bulursanız bana mail atın düzeltmeye çalışırım.
E-Mail: kresuz