İcraProfesörü v2.3.0.1 |
|
|
|
Program Tipi:İcra Takip programı. |
|
OllyDbg v1.10,PEiD |
|
|
|
|
İcraProfesörü Microsoft Visual Basic ile yazılmış,Crypto ve pack
yok.Serialle korunuyor.Açılışta bir serial veriyor.Karşılık seriali dogru
yazarsak demo yazısı Tamam oluyor. Gercek seriali 2 yoldan bulacagız.Birinci si
klasik takip,diğeri tembel işi.Breakpoint ile dogrudan gercek seriali bulacagız.
Önce Klasik yol:
Simdi programa dönün.Serialin son bölümünde 5 yazın.Breakpoint calıstı.Ollydbg ye döndük.
00CD68D7 . /7D 36 JGE SHORT 00CD690F
00CD68D9 . |6A 64 PUSH 64
00CD68DB . |EB 29 JMP SHORT 00CD6906
00CD68DD > |8B16 MOV EDX, DWORD PTR DS:[ESI] ;Buraya bir jump var.
00CD68DF . |56 PUSH ESI
00CD68E0 . |FF92 0C030000 CALL NEAR DWORD PTR DS:[EDX+30C]
00CD68E6 . |50 PUSH EAX
00CD68E7 . |8D45 D0 LEA EAX, DWORD PTR SS:[EBP-30]
00CD68EA . |50 PUSH EAX
00CD68EB . |FF15 B0104000 CALL NEAR DWORD PTR DS:[<&MSVBVM60.__vbaObjSet>] ; MSVBVM60.__vbaObjSet
00CD68F1 . |8BF0 MOV ESI, EAX
00CD68F3 . |68 F8074700 PUSH 004707F8 ; UNICODE "DEMO" ==>Burada durduk.
00CD68F8 . |56 PUSH ESI
00CD68F9 . |8B0E MOV ECX, DWORD PTR DS:[ESI] ; MSVBVM60.6601A058
00CD68FB . |FF51 54 CALL NEAR DWORD PTR DS:[ECX+54]
00CD68FE . |85C0 TEST EAX, EAX
00CD68DD > |8B16 MOV EDX, DWORD PTR DS:[ESI] ;Buraya gelen(yani girdigimiz serialin yanlıs oldugunu
programa söyleyen)jumpu bulalım.
00CD68DD satırının üzerine gelin sag tus yapın.Resimi takip edin
Mavi bölüme tıklayınca buraya geldik.
00CD685E . 83C4 6C ADD ESP, 6C
00CD6861 . 66:85FF TEST DI, DI
00CD6864 . /74 77 JE SHORT 00CD68DD ==>==>DI=0 ise demo degilse kaydet.
00CD6866 . |8B06 MOV EAX, DWORD PTR DS:[ESI] ; MSVBVM60.6601A058
00CD6868 . |56 PUSH ESI
00CD6869 . |FF90 0C030000 CALL NEAR DWORD PTR DS:[EAX+30C]
00CD686F . |8D4D D0 LEA ECX, DWORD PTR SS:[EBP-30]
00CD6872 . |50 PUSH EAX
00CD6873 . |51 PUSH ECX
00CD6874 . |FF15 B0104000 CALL NEAR DWORD PTR DS:[<&MSVBVM60.__vbaObjSet>] ; MSVBVM60.__vbaObjSet
00CD687A . |8BF8 MOV EDI, EAX
00CD687C . |68 D8094700 PUSH 004709D8 ; UNICODE "TAMAM"
00CD6881 . |57 PUSH EDI ; USER32.PeekMessageA
00CD6864 satırından biraz yukarı bakalım.
00CD676C . 8D85 60FFFFFF LEA EAX, DWORD PTR SS:[EBP-A0]
00CD6772 . 52 PUSH EDX
00CD6773 . 50 PUSH EAX
00CD6774 . FFD7 CALL NEAR EDI ; <&MSVBVM60.__vbaVarCmpEq>Burada Bir karsılastırma var.
00CD6776 . 8D8D 20FFFFFF LEA ECX, DWORD PTR SS:[EBP-E0]
00CD677C . 50 PUSH EAX
00CD677D . 8D95 30FFFFFF LEA EDX, DWORD PTR SS:[EBP-D0]
00CD6783 . 51 PUSH ECX
00CD6784 . 8D85 10FFFFFF LEA EAX, DWORD PTR SS:[EBP-F0]
00CD678A . 52 PUSH EDX
00CD678B . 50 PUSH EAX
00CD678C . FFD7 CALL NEAR EDI
00CD678E . 8D8D 00FFFFFF LEA ECX, DWORD PTR SS:[EBP-100]
00CD6794 . 50 PUSH EAX
00CD6795 . 51 PUSH ECX
00CD6796 . FF15 8C114000 CALL NEAR DWORD PTR DS:[<&MSVBVM60.__vbaVarAnd>] ; MSVBVM60.__vbaVarAnd
00CD679C . 50 PUSH EAX
00CD679D . 8D95 C0FEFFFF LEA EDX, DWORD PTR SS:[EBP-140]
00CD67A3 . 8D85 D0FEFFFF LEA EAX, DWORD PTR SS:[EBP-130]
00CD67A9 . 52 PUSH EDX
00CD67AA . 8D8D B0FEFFFF LEA ECX, DWORD PTR SS:[EBP-150]
00CD67B0 . 50 PUSH EAX
00CD67B1 . 51 PUSH ECX
00CD67B2 . FFD7 CALL NEAR EDI
00CD67B4 . 8D95 A0FEFFFF LEA EDX, DWORD PTR SS:[EBP-160]
00CD67BA . 50 PUSH EAX
00CD67BB . 52 PUSH EDX
00CD67BC . FF15 8C114000 CALL NEAR DWORD PTR DS:[<&MSVBVM60.__vbaVarAnd>] ; MSVBVM60.__vbaVarAnd
00CD67C2 . 50 PUSH EAX
00CD67C3 . FF15 FC104000 CALL NEAR DWORD PTR DS:[<&MSVBVM60.__vbaBoolVarNull>] ; MSVBVM60.__vbaBoolVarNull
00CD6774 . FFD7 CALL NEAR EDI ; <&MSVBVM60.__vbaVarCmpEq>Burada Bir karsılastırma vardı.
Şimdi Bütün breakpointleri kaldırın.Bir sefer F9 a basın.Program çalıssın.Ollydbg de CTRL+G yapın.Önümüze gelen
ekrana 00CD6774 yazıp OK tusuna basın.F2 ile 00CD6774 satırına Breakpoint koyun.
Programa dönün serialin son bölümüne tekrar 5 yazın breakpoint calıstı.
00CD6774 . FFD7 CALL NEAR EDI ==>Burada durduk. ; MSVBVM60.__vbaVarCmpEq; <&MSVBVM60.__vbaVarCmpEq>
00CD6776 . 8D8D 20FFFFFF LEA ECX, DWORD PTR SS:[EBP-E0]
00CD677C . 50 PUSH EAX
00CD677D . 8D95 30FFFFFF LEA EDX, DWORD PTR SS:[EBP-D0]
00CD6774 . FFD7 CALL NEAR EDI ==>Burada durduk.Bir sefer F8 yapın.
Şimdi ollydbg de sag alt kösede olan yere tıklayın ve aşagıya dogru bakın.Serialleri göreceksiniz.
Serialin 3. Bölümü
0012F2EC 7C839AA8 kernel32.7C839AA8
0012F2F0 00000001
0012F2F4 00008008
0012F2F8 7C832F31 RETURN to kernel32.7C832F31 from kernel32.7C802501
0012F2FC 001D5F3C UNICODE "4D5" ==> Girdiğimiz Sallama serial( 3.Bölüm)
0012F300 01D20004
0012F304 660E0008 MSVBVM60.660E0008
0012F308 001D533C UNICODE "XXX" ==> Firmaya Giden
0012F30C 0018F6FC UNICODE "59X" ==> Gercek serial
0012F310 00000000
Serialin 2. Bölümü
0012F358 7C95E0F0 RETURN to ntdll.7C95E0F0 from ntdll.RtlLeaveCriticalSection
0012F35C 001D5684 UNICODE "B3C" ==> Girdiğimiz Sallama serial( 2.Bölüm)
0012F360 7C95E0D4 RETURN to ntdll.7C95E0D4 from ntdll.7C8FEE02
0012F364 660E0008 MSVBVM60.660E0008
0012F368 001D5374 UNICODE "XXX" ==> Firmaya Giden
0012F36C 001D36EC UNICODE "X9X" ==> Gercek serial
0012F370 00000000
Serialin 1. Bölümü
0012F3A0 77D5B418 RETURN to USER32.77D5B418 from USER32.77D52F62
0012F3A4 00008008
0012F3A8 0101000D
0012F3AC 001D18DC UNICODE "1A2" ==> Girdiğimiz Sallama serial ( 1.Bölüm)
0012F3B0 01666820
0012F3B4 660E0008 MSVBVM60.660E0008
0012F3B8 0018FA34 UNICODE "XXX" ==> Firmaya Giden
0012F3BC 001D1914 UNICODE "XXX" ==> Gercek serial
0012F3C0 00000000
0012F3C4 00000002
0012F3C8 7C93A5D0 RETURN to ntdll.7C93A5D0 from ntdll.7C95DECF
Gercek serial icin İkinci yol:
Yine Programı olldbg de yükleyip çalıştırın.Lisan bölümünde 1A2-B3C-4D yazın.Ollydbg de ALT+E yapın.Modüle bölümünde
OLEAUT32.DLL üzerinde CTRL+N yapın.SysStringByteLen e F2 ile breakpoint koyun.Programa dönün son seriali girin.
ollydbg ye dönersiniz.
77114CA8 > 8BFF MOV EDI, EDI ==>Burada durdu.
77114CAA 55 PUSH EBP
77114CAB 8BEC MOV EBP, ESP
77114CAD 8B45 08 MOV EAX, DWORD PTR SS:[EBP+8]
77114CB0 85C0 TEST EAX, EAX
77114CB2 74 03 JE SHORT 77114CB7
77114CB4 8B40 FC MOV EAX, DWORD PTR DS:[EAX-4]
77114CB7 5D POP EBP ; OLEAUT32.77120339
77114CB8 C2 0400 RETN 4
Simdi ollydbg de sag alt köseye tıklayın. Breakpointi kaldırmadan bir kac kere F9 yapın.
Yukarıda anlatılanlar gibi aşagıya dogru bakın.Serialleri göreceksiniz.Bu yöntemle kestirmeden seriali gördük.
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