AKINSOFT BÜTÜN PROGRAMLAR |
|
|
|
Program Tipi:GenelProgramlar |
|
OllyDbg v1.10,Dup2 |
|
|
|
|
Programlar Serial le korunuyor.Programların hepside aynı algoritma ile serial üretiyor ve kontrol ediyor.
Program ve versiyonları değişse bile algoritmalar hep aynı kalıyor.
Bunun için programı ollydbg de yükleyip çalıştırın.(Ben CafePlus u yükledim)Lisans bölününe gelin.Gerekli yerleri
doldurun karşılık şifre ye 12345 yazın tamam tusuna basmadan ollydbye gecin.Program kodları üzerinde sağ tuş yapın.Resimleri takip edin.

NX- satırına F2 ile breakpoint koyduktan sonra programa dönüp tamam tusuna basın.Breakpoint çalıstı.Olly de program kodlarına döndük.
0069BB1B |. BA 80BB6900 MOV EDX,CafePlus.0069BB80 ; ASCII "N4-" ==>Burada durduk F8 ile devam
0069BB20 |. E8 D79BD6FF CALL CafePlus.004056FC
0069BB25 |. EB 0B JMP SHORT CafePlus.0069BB32
0069BB27 |> 8B45 08 MOV EAX,[ARG.1]
0069BB2A |. 8B55 EC MOV EDX,[LOCAL.5]
0069BCAF |. E8 C00E0000 CALL CafePlus.0069CB74 ==>"N4-" breakpoint in çalıstıgı call
0069BCB4 |. 8D55 F4 LEA EDX,[LOCAL.3] ==>F8 sonucu döndügümüz yer yine F8 ile devam
0069BCB7 |. 8B86 2C030000 MOV EAX,DWORD PTR DS:[ESI+32C]
0069BCBD |. E8 B21DDFFF CALL CafePlus.0048DA74
0069BCC2 |. 8B45 F4 MOV EAX,[LOCAL.3]
0069BCC5 |. BA C0C26900 MOV EDX,CafePlus.0069C2C0 ; ASCII "DEMO"
0069BCCA |. E8 2D9BD6FF CALL CafePlus.004057FC
0069BCCF |. 0F84 99030000 JE CafePlus.0069C06E
0069BCD5 |. A1 54457600 MOV EAX,DWORD PTR DS:[764554]
0069BD1D |. 8B45 F0 MOV EAX,[LOCAL.4]==>Gercek serial EAX a [LOCAL.4]den alınıyor
0069BD20 |. 50 PUSH EAX ==>Gercek serial şu anda EAX da
0069BD21 |. 8D55 E4 LEA EDX,[LOCAL.7]
0069BD24 |. 8B86 2C030000 MOV EAX,DWORD PTR DS:[ESI+32C]
0069BD2A |. E8 451DDFFF CALL CafePlus.0048DA74
0069BD2F 8B55 E4 MOV EDX,DWORD PTR SS:[EBP-1C] ==>Girdiğimiz sallama serial EDX e alınıyor
0069BD32 |. 58 POP EAX ==>Gercek serial
0069BD33 |. E8 C49AD6FF CALL CafePlus.004057FC ==>Karşılastır.
0069BD38 0F85 C5020000 JNZ CafePlus.0069C003 ==>Yanlış ise hata mesajına git.(NOP lanacak.
Sonuc ne olursa olsun devam.Ancak yeterli degil.)
[LOCAL.4] de ne varmış.0069BD1D satırının üzerinde space tusuna basın

MOV EAX,DWORD PTR SS:[EBP-10] evet EAX a serial [EBP-10]bölgesinden aktarılıyor.Burası çok önemli.Geriye dogru kontrollerde kullanacagız.
0069BD38 0F85 C5020000 JNZ CafePlus.0069C003 satırını nop layıp F8 ile devam edin.
0069BD33 |. E8 C49AD6FF CALL CafePlus.004057FC
0069BD38 90 NOP
0069BD39 90 NOP
0069BD3A 90 NOP
0069BD3B 90 NOP
0069BD3C 90 NOP
0069BD3D 90 NOP
0069BD3E |. A1 0C567600 MOV EAX,DWORD PTR DS:[76560C]
0069BD43 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
0069BD45 |. 8038 30 CMP BYTE PTR DS:[EAX],30
0069BD48 75 71 JNZ SHORT CafePlus.0069BDBB
0069BD4A |. A1 0C567600 MOV EAX,DWORD PTR DS:[76560C]
0069BD4F |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
0069BD51 |. 8078 01 30 CMP BYTE PTR DS:[EAX+1],30
0069BD55 |. 75 64 JNZ SHORT CafePlus.0069BDBB
0069BD57 |. A1 0C567600 MOV EAX,DWORD PTR DS:[76560C]
0069BD5C |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
0069BD5E |. 8078 02 30 CMP BYTE PTR DS:[EAX+2],30
0069BD62 |. 75 57 JNZ SHORT CafePlus.0069BDBB
0069BD64 |. 6A 40 PUSH 40
0069BD66 |. 8D55 DC LEA EDX,[LOCAL.9]
0069BDE3 |. BA 06000000 MOV EDX,6
0069BDE8 |. 8B18 MOV EBX,DWORD PTR DS:[EAX]
0069BDEA |. FF53 0C CALL DWORD PTR DS:[EBX+C] ; CafePlus.004817BC
0069BDED |. 8B86 48030000 MOV EAX,DWORD PTR DS:[ESI+348]
0069BDF3 |. 8B80 20020000 MOV EAX,DWORD PTR DS:[EAX+220]
0069BDF9 |. 8B10 MOV EDX,DWORD PTR DS:[EAX]
0069BDFB |. FF52 44 CALL DWORD PTR DS:[EDX+44]
0069BDFE |. 8D55 D0 LEA EDX,[LOCAL.12]
0069BE01 |. 8B86 2C030000 MOV EAX,DWORD PTR DS:[ESI+32C]
0069BE07 |. E8 681CDFFF CALL CafePlus.0048DA74
0069BE0C 8B55 D0 MOV EDX,DWORD PTR SS:[EBP-30] ==>girdiğimiz sallama serial.Geriye dogru kontrol var
0069BE0F |. 8B86 48030000 MOV EAX,DWORD PTR DS:[ESI+348] ;Sallama seriali degil [EBP-10]bölgesinden gercek seriali
0069BE15 |. 8B80 20020000 MOV EAX,DWORD PTR DS:[EAX+220] ;alması lazım
0069BE1B |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
Normalde Bu programı patch yapmak için 2 yer yetiyor
0069BD38 0F85 C5020000 JNZ CafePlus.0069C003 orijinal
0069BD38 90 NOP patch
0069BD39 90 NOP
0069BD3A 90 NOP
0069BD3B 90 NOP
0069BD3C 90 NOP
0069BD3D 90 NOP
0069BE0C 8B55 D0 MOV EDX,DWORD PTR SS:[EBP-30] orijinal
0069BE0C 8B55 F0 MOV EDX,DWORD PTR SS:[EBP-10] patch
Ama biz multiple aynı zamanda generic olan patch yapacagız.Önce ilk yerin kodlarını dup2 için cıkaralım
CafePlus
0069BD20 |. 50 PUSH EAX
0069BD21 |. 8D55 E4 LEA EDX,[LOCAL.7]
0069BD24 |. 8B86 2C030000 MOV EAX,DWORD PTR DS:[ESI+32C]
0069BD2A |. E8 451DDFFF CALL CafePlus.0048DA74
0069BD2F 8B55 E4 MOV EDX,DWORD PTR SS:[EBP-1C]
0069BD32 |. 58 POP EAX
0069BD33 |. E8 C49AD6FF CALL CafePlus.004057FC
0069BD38 0F85 C5020000 JNZ CafePlus.0069C003
net personel
00629A06 |. 50 PUSH EAX
00629A07 |. 8D55 D4 LEA EDX,[LOCAL.11]
00629A0A |. 8B86 90030000 MOV EAX,DWORD PTR DS:[ESI+390]
00629A10 |. E8 17B9E5FF CALL NetPerso.0048532C
00629A15 8B55 D4 MOV EDX,DWORD PTR SS:[EBP-2C]
00629A18 |. 58 POP EAX
00629A19 |. E8 4EB7DDFF CALL NetPerso.0040516C
00629A1E 0F85 E6020000 JNZ NetPerso.00629D0A
50 8D 55 ?? 8B 86 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B 55 ?? 58 E8 ?? ?? ?? ?? 0F 85 ?? ?? ?? 00 ==>Orijinal
50 8D 55 ?? 8B 86 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B 55 ?? 58 E8 ?? ?? ?? ?? 90 90 90 90 90 90 ==>Patchlı
Programda degişen binary kodları kırmızı renkde olanlar.Değişenlerin yerine ?? yazıyoruz.
İkinci yerin kodları:
CafePlus
0069BDE3 |. BA 06000000 MOV EDX,6
0069BDE8 |. 8B18 MOV EBX,DWORD PTR DS:[EAX]
0069BDEA |. FF53 0C CALL DWORD PTR DS:[EBX+C] ; CafePlus.004817BC
0069BDED |. 8B86 48030000 MOV EAX,DWORD PTR DS:[ESI+348]
0069BDF3 |. 8B80 20020000 MOV EAX,DWORD PTR DS:[EAX+220]
0069BDF9 |. 8B10 MOV EDX,DWORD PTR DS:[EAX]
0069BDFB |. FF52 44 CALL DWORD PTR DS:[EDX+44]
0069BDFE |. 8D55 D0 LEA EDX,[LOCAL.12]
0069BE01 |. 8B86 2C030000 MOV EAX,DWORD PTR DS:[ESI+32C]
0069BE07 |. E8 681CDFFF CALL CafePlus.0048DA74
0069BE0C 8B55 D0 MOV EDX,DWORD PTR SS:[EBP-30]
0069BE0F |. 8B86 48030000 MOV EAX,DWORD PTR DS:[ESI+348]
0069BE15 |. 8B80 20020000 MOV EAX,DWORD PTR DS:[EAX+220]
0069BE1B |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
net personel
00629A4C |. BA 06000000 MOV EDX,6
00629A51 |. 8B18 MOV EBX,DWORD PTR DS:[EAX]
00629A53 |. FF53 0C CALL DWORD PTR DS:[EBX+C]
00629A56 |. 8B86 30030000 MOV EAX,DWORD PTR DS:[ESI+330]
00629A5C |. 8B80 20020000 MOV EAX,DWORD PTR DS:[EAX+220]
00629A62 |. 8B10 MOV EDX,DWORD PTR DS:[EAX]
00629A64 |. FF52 44 CALL DWORD PTR DS:[EDX+44]
00629A67 |. 8D55 D0 LEA EDX,[LOCAL.12] ==>Burası baktığım diğer programlarda değişiyor
00629A6A |. 8B86 90030000 MOV EAX,DWORD PTR DS:[ESI+390]
00629A70 |. E8 B7B8E5FF CALL NetPerso.0048532C
00629A75 8B55 D0 MOV EDX,DWORD PTR SS:[EBP-30]==>MOV EDX,DWORD PTR SS:[EBP-10] ile gercek seriali aldırıyoruz.D0 F0 oluyor.
00629A78 |. 8B86 30030000 MOV EAX,DWORD PTR DS:[ESI+330]
00629A7E |. 8B80 20020000 MOV EAX,DWORD PTR DS:[EAX+220]
00629A84 |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
BA 06 00 00 00 8B 18 FF 53 0C 8B 86 ?? ?? ?? ?? 8B 80 20 02 00 00 8B 10 FF 52 44 8D 55 ?? 8B 86 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B 55 ?? 8B 86 ?? ?? ?? ?? 8B 80 20 02 00 00 8B 08
BA 06 00 00 00 8B 18 FF 53 0C 8B 86 ?? ?? ?? ?? 8B 80 20 02 00 00 8B 10 FF 52 44 8D 55 ?? 8B 86 ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B 55 F0 8B 86 ?? ?? ?? ?? 8B 80 20 02 00 00 8B 08
Şimdi ollydbg yi kapatın.Dup2 yi acın.Önce New project e tıklayın.Patch infoya gerekli bilgileri yazın.Saklayıp çıkın.
Sonra Add tusuna basın orada Search & Replace Patch a Çift tıklayın.Sonra ana panoda ki Search & Replace Patch a tıklayın.
Önünüze gelen ekranda target File de *.EXE* yazın.
Search Pattern ne orijinal kod ları ,Replace Pattern ne de patch lı dizilimi sıra ile yazıp add tusuna basın

Save tusuna basıp cıkın create patch tuşuna basıp patch ı yapın.
Programcı eger o yukarıdaki kod dizilişlerini değiştirmez ise bu patch algoritması aynı olan bütün programlarda ve bu programların
bundan sonraki bütün versiyonlarda çalışır.
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