Nasıl Crack Yapılır ? (Ders)

Fernando-38

Kıdemli Üye
24 Kas 2007
2,188
14
Herkezin crack konusunda bir miktar bilgisi vardır ancak bu konuda en iyiyim demek genelde çok zordur.İlk başta zor gibi görünebilir fakat işin içine girdikçe çok zevkli olduğunu farkedersiniz. Crack dünyasına girdikçe PC nize ve onda kullandığınız programlara daha fazla hakim olduğunuzu farkedersiniz.Bu sayede assembly programlama dili konusunda da bir miktar bilginiz olacaktır.Zaten asıl amaç budur.Burada anlatılan yöntem sadece programların genel çalışma prensipleri konusunda bilgi vermek için yazılmıştır.Doğru olan daima bir programı parasını verip lisanslı olarak kullanmaktır.O yüzden buradaki bilgileri sadece merakınızı gidermek için kullanın ve bende bunun için anlatıyorum.
Crack için neye ihtiyacımız var.? Assembly dil bilgisi elbette size bir miktar faydalı olacaktır ancak bu konuda bir bilginiz yoksa hiç dert etmeyin çünkü sadece birkaç tane komuta göz aşinalığınız yeterli olacaktır tabii başlangıç için.
Gerekli Software
İlk öncelikle ilk ihtiyacımız olacak program W32Dasm8.9 and Hiew.Bu programları çeşitli arama motorlarından arıyarak bulabilirsiniz.
Başlangıç İçin Gerekli Birkaç Detay
ASM kodları ile uğraşmak pek kolay değildir, bütün hepsini bilmek zordur ancak gerekli olan birkaç tanesi üzerinde duralım.
ASM kodlarında her iki basamak bir byte gösterir.Yani 75564345=4 byte'dır.75 bir byte,56 bir byte gibi.Eğer biz bir kodu değiştirmek istersek daima iki basamağı değiştiririz.Mesela 75 ki bu hexadecimal da jne( jump not equal) anlamındadır 74 'e değiştirilirse je (jump if equal) komutuna değişmiş olur.Bu değişim çoğu kez bir programı register yapmak için yeterlidir. (Programın kendi içinden ürettiği bir seri nosunu sizin girdiğiniz bir seri nosuyla karşılaştırıp sonucunda hata veren bir komutu hata vermeyen yani register edilmiş varsayan bir komuta değiştirebilirsiniz.)Tabii bu bu kadar kolay olmaz herzaman ama başlangıç için yeterlidir.Aşağıda gerekli olan birkaç komutu yazdım.
Je:Jump if equal
Jne:Jump not equal
nop:no operation
call: call a operation
jmp: jump
Program Koruma Tipleri
Programlar için çeşitli koruma tipleri mevcuttur.Mesela cd driverda cd olup olmadığını check eden koruma tipleri,password koruma tipleri ki eğer doğru password'ü girmesseniz ya program register olmaz yada çalışmaz ve son olarakta süreli programlar ki özellikle dergilerin verdiği cd lerdeki programlar böyledir süresi dolunca (30 gün, 90 gün) program çalışmaz.En kolay kırılan programlar windows altında çalışan ve register etmek istediğinizde bir pencere içerisinde hata mesajı veren programlardır.Mesela programı register etmek için sizden bir user name ve password ister fakat siz eğer para veripte doğrusunu almadıysanız yazacağınız şeyler size "invalid register number" gibi yada benzer hata mesajlarıyla geri dönecektir.(Tabi dünyada görülmemiş derecede ballı biriyseniz ve attığınız password tutarsa o ayrı bir konu).Şimdi ben size bir örnekle karışık görünen ancak çok basit olan bu işin nasıl yapılacağını bedavaya göstereceğim.Örnek olarakta WinRar95 programını kullanacağız.Bu programın demo versiyonlarını dergi cd lerinde bulabilirsiniz.
Cracking'e Başlayalım
İlkönce şu Winrar95 programını inceleyelim.Programı çalıştırın.Üst köşede "Winrar(unregistered version)" yazıyor.Şimdi "options" a clikleyin ve register'a basın.Karşınıza sizden bir name ve registration no isteyen bir windows mesaj kutusu çıktı.Bunlara rastgele bir şeyler yazın.Mesela name'e "türkiye" registration number'ada "123456".Şimdi ok 'e basın.Hoop "Registration Failed" yazdı.Hiç şaşırmadınız tabiki ama programın en zayıf noktası duruyor şu anda karşınızda.Bu hata mesajını bir kenara yazın.Winrar95.exe den iki kopya yapın bunların birinin uzantısını w32(Winrar95.w32) diğerininkinide .exx yapın.Şimdi disassembler programımız olan W32Dasm yi çalıştıralım.Open file to disassembler komutunu bulalım menüden ve Winrar95.w32 yi disassemble edelim.İşlem bitince karşınıza bir sürü anlamsız şey çıkabilir font tipinizi değiştirmeniz gerkmektedir.Disassembler butonuna basın font'a gidin select fontu seçip Arial 'ı seçin.Şimdi ekran daha anlamlı hale geldi.Şimdi yukarıda "Str References" butonunu bulup ona tıklayın.Karşınıza programdaki bütün hata mesajları çıktı.Bizim hata mesajımızı hatırlayın."Registration Failed".Onu bulun ve iki kez tıklayın.Şimdi arkada W32Dasm ekranında size bu hata mesajını veren program komut satırındasınız.
Satırda görecekleriniz şunlar olacaktır.
:00413A8F 6A6A push 0000006A
:00413A91 E863640000 call 00419EF9
:00413A96 59 pop ecx
:00413A97 50 push eax
:00413A98 FF7508 push[ebp+08]

* Reference To: USER32.MesssageBoxA, Ord:0000h
:00413A9B E8120B0100 Call 004245B2
:00413AA033C0 xor eax,eax
:00413AA2 A358674200 mov dword ptr [00425758],eax
:00413AA7 A338564200 mov dword ptr [00425638],eax
:00413AAC564200 mov dword ptr [0042564C],eax
:00413AB1 EB56 jmp 00413B09

*Referenced by a (U)nconditional or (C)onditional Jump at Adress: <-------Buraya Dikkat
:00413A82(C)

*Possible StringData Ref from Data Obj ->"Winrar"

:00413AB3 68D86A4200 push 00426AD8
:00413AB8 FF359C644200 push dword ptr [0042649C]

*Reference To: USER32.Set WindowTextA, Ord:0000h
:00413ABE E86B0A0100 Call 0042452E

*Possible Reference to String Resource ID=00048 : "normal"

:00413Ac3 6A30 push 00000030

*Possible Reference to Dialog:ARCINFODLG,CONTROL_ID: 006C

"Registration Failed" üzerine tıkladığınızda karşınıza çıkan ASM kodları bunlar."Referenced by a (U)nconditional or (C)onditioanl Jump At Adress:" satırına ve ondan sonra gelen"I:00413A82 (C)" adresine dikkat edelim.İşte bu adresteki komut bizi hep buraya yani hata mesajı aldığımız komut satırlarına yolluyor.Öyleyse şimdi oraya gidelim.Win32dasm ekranının yukarısında bulunan "Goto CD LOc"(Goto Code ********) butonuna tıklayalım.Yeni bir pencere açıldı ve o pencerenin sağ alt tarafında "Code Offset (Hex)" yazılı bir kutucuk var.Şimdi biraz önceki 00413A82 adresini buraya yazıp ok tuşuna basalım.Bizi "Registration Failed" mesajına yollayan komut satırındayız işte."Jne" komutunu görebilirsiniz orada.Bu komutun üzerindeyken satırın rengini yeşile değiştirdiğine dikkat edin.Ekranın altına bakın orada aşağıdaki gibi bir satır göreceksiniz.

Line:34985 Pg 467 of 998 Code Data @:00413A82 @Offset00013082h in File:Winrar95.w32

@Offset 'den sonraki 00013082 sayısı bizi ilgilendiren sayı oluyor.Yanındaki "h" harfini ve başındaki "000" ları hesaba katmadan "13082" sayısını bir kenara not edelim.Şimdi HIEW programımızı çalıştırıp programımızı kırma vakti geldi işte merak etmeyin çok az kaldı.Hiew programının içinde istediğiniz exe file'ını çalıştırabilirsiniz.WinRAR95.exe'yi çalıştırın.F4'e basın ve decode'u seçin.Bütün asm kodlarını görebilirsiniz.F5'e basınsol üst köşeye biraz önce kaydettiğiniz @Offset yanındaki numarayı yazın.Şimdi jne komutunun satırındasınız.F3'e basın.75(jne)'u 74(je)'a değiştirin ve f9'a basın.F10'a basıp programdan çıkın.İşte o komutu değiştirmiş olduk.Denemek için WinRar95 programını çalıştıralım.Registration'a gidip kafamıza göre birşeyler yazıp ok tuşuna basalım evet registration okeylendi.Bu kadar basit.Ama bir problem var.Yukarıda hala "Unregistered Version" yazıyor.Hemen W32Dasm'yi çalıştıralım String Data References Butondan "Unregistered Version" ifadesini arattıralım.İki tane var.Çİft tıklayalım.Benzer satırlar göreceksiniz."Referenced by a (U)nconditional or (C)onditioanal Jump At Adress:" yazan yerin altındaki komut satırını yine Goto Code ******** butonundan arattırıp o komut satırına gidip @offset 'den sonraki sayıyı bir kenara yazalım (180AA). Şimdi Hiew'a girip o satıra gidelim ve Jne 'u Je 'a (75'i 74'e) değiştirip save edip çıkalım.Şimdi WinRAR95'i çalıştıralım.Oldu işte ne yukarıda "Unregistered Version" yazıyor nede register etmek istediğimizde bizi reddediyor.Bu kadar basit Alıntıdır her yerde bu bilgiler mevcuttur.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.