Başlangyç Cracker
Transkript
Başlangyç Cracker
Başlangyç Cracker by DrEAMhaCK Başlangyç Cracking - bu assembler dilinde programmalary analiz edip kompýuter programmalarynyň funksiýalaryny üýtgetmek we programmalaryň ýalňyşlyklaryny düzetýän sungat ugrudyr. Crackerlik bu gerek programmaňy alyp we gerek bolsa google-den Crackini alyp bir ýa birnäçe düwmelere basan ýaly däldir! Siz pikir etmäň Crack 5 minutda edip bolýar diýip. Ýöne gyzyklanmaň bolsa hökman öwrenersiň. Siz Crack etmegi öwrenmek arkaly öz kompýuteriňizde programmalaryň nähili işleýändigini bilersiňiz. Ýöne ilki bilen siz Crackerlige degişli kitaplary köp okmaly bolarsyňyz. Assambler dilini bilmeli bolarsyňyz. Doly bilmek hökman däl diňe esasy funksiýalary bilmek arkaly siz ýönekeý programmalary crack edip bilersiňiz. Onuň üçin siz google-den “Assambler for Beginners” ýa “Assambler for crackers” diýip gözlemek arkaly özüňize gerekli maglumatlary taparsyňyz. Crakck etmek üçin gerek zatlar: 1. Assambler dilini bilmegiň(Doly bilmeseň hem azajyk bilmek ýetik bolýar). 2. Pikirlenip bilmek ukybyň bolmagy. 3. Aşaky programmalar: W32Dasm - bu programmalary dissassemblerlemäge we funksiýalary doly adressleri boýunça nähili işleýändigini bilmäge kömek etýär. Crack etmek üçin iň gowy programma diýip hasap etýärin. OllyDbg - programmalary ädimme-ädim yzarlap ýalňyşlyklaryny düzetmek üçin. Başgada köp üýtgedip ulanyp bolýan funksiýalary bardyr. Dissassemblirlemäge hem amatly. Hiew - Hex redaktory hem asm koduny çalşmak üçin iň gowy programmalaň biri. Esasy patch etmek üçin gerek bolýar(Eger bu programmaňyz ýok bolsa başga islendik HEX editor bolýar). Ilkinji ädim Assambler dilini bilmeseň bu aňsat däldir. Şonuň üçin men esasy gerek bolan komandalar barada azajyk öwretmäge çalyşaýyn. 7514 = 2baýt. 75 bir baýt. 14 hem bir baýt. Indi bu baýtlary biz soň çalyşamany öwreneris. 75 (hex baýty bolup ony asm koda geçiremizde jne(jump if not equal) bolýar) baýty biz 74(hex baýt. ASM koda geçirilende je(jump equal)) bilen çalyşmak arkaly biz köp programmany ýa oýuny crack edip bilýäris(Ýöne beýle aňsat diýip pikir etmäň. Men diňe ýönekeý goragy göz öňüne tutdum). Meselem bir programma registrasiýa kod soraýar we entek 75 üýgedilmän dur diýsek. Biz ýalňyş register kody ýazanymyzda “Invalid register number” diýip habar(MessageBox) çykýar. Sebäbi biziň 75-miz jne ýagnny ýalňyş bolsa “Invalid register number” diýen ýazga geçmegi görkezilen. Men ony ýönekeýje şeýle düşündirmekçi: 39D0 7556 7411 cmp eax, edx jne 00000005A je 000000017 `Ýazan registrasiýa nomerimizi barlaýar. `Eger ýalňyş bolsa “Invalid register number”-a geçýär. `Eger dogry bolsa “Register key accepted!” ýazga geçýär Käbir assambler komandalary: je(hex-de 74) = Jump if Equal(Deň bolsa geçmek) jne(hex-de 75) = Jump if Not Equal(Deň däl bolsa geçmek) nop(hex-de 90) = No operation(Hiç hili komanda işlemeýär) call(hex-de belli bir baýty ýok) = Call a operation(Operasiýa geçmek. Ýüzlenmek) jmp(hex-de belli bir baýty ýok) = jump(operasiýa, ýazga bökmek/geçmek) cmp(hex-de belli bir baýty ýok) = Iki görkezilen sözi, sany we ş.m deňeşdirýär. JE – meselem biziň bir programmamyz registrasiýa kody barlýar we dogry bolsa şo işe başlaýar. JNE – eger registrasiýa kod ýalňyş bolsa ýalňyşlyk barada habar çykarmaga geçýär. Nop ulnamak arkaly siz ýalňyş habar çykarmaz ýaly edip bilersiňiz. NOP – bu komdanda ulanylanda hiç bir opersia bolmaýar. NOP-y siz je/jmp/call/jmp derek ulanyp bilersiňiz. CALL – esasy programma başlajak bolan wagty registrasiýany barlaýar hem registrasiýa edilmedik bolsa ýalňyşlyk ýa registrasiýa edilemek barada maglumat çykarmaga geçmek. NOP arkaly öçürip bolýar. Jmp – Göni görkezilen adresa geçmek. NOP arkaly öçürip bolýar. Cmp – Görkezilen iki sany ýa sözi we ş.m zatlary deňeşdirýär. Meselem biziň registrasiýa kodumyz girizilen bolsa dogry reg kod bilen girizilen reg kody barlap eger dogry bolsa je bolmasa jne arkaly görkezilen işlere geçýär. Ilkinji crack Ýokarda öwrenenlerimizi barlamak hem has oňat düşünmek üçin biz kiçijek bir programmany crack edeliň. Bize gerek programmalar W32Dasm hem Hiew. Ilki CrackMe01.exe-ni açýarys hem registrasiýa islendik bir kod ýazyp Register düwmä basýarys. “Registrasiýa kod ýalňyş!” diýip MessageBox çykdy. Hä diýmek biz ýalňyş registrasiýa kod goýduk. Gynanmaly däl. W32Dasm programmamyzy açýarys hem Dissassembler menýusyndan Open file to Dissassemble... saýlap öz CrackMe01.exe-mizi saýlaýarys. Bir topar bulaşyk hatlar çykdymy? Gorkup oturma! Häzir düşünmäge başlarsyň. Refs menýusyndan String data references-i saýlaýarys hem çykan penjirä göz aýlaýarys. Bu ýerde biziň programmamyzyň içindäki düşnükli bolan sözlerdir harplar görkezilen. Indi “Registrasiýa kod ýalňyş!” diýen sözleri tapyp(Bu diýýän sözlerimiz dogry görünen däldir. Sebäbi içinde türkmen harplary bolansoň W32Dasm programmamyz okap bilenok) üstünde iki gezek çep düwmäni basýarys. . 1-nji surat. W32Dasm programmasyndaky String data references penjiresi Aşakda suratda görünişi ýaly ýere geçdik. Biziň üns bermeli ýerimiz daşy gyzyl bilen çyzylan ýere seretýäris: * Referenced by a (U)nconditional or (C) onditional Jump at Address: | :00401080(C) 2-nji surat. 00401080 – bu 00401080 adresdan şu bölege bökmek(geçmek) bar diýmegi aňlatýar. Onda biz ony nädip bildik Shift+F12 düwmelerini basyp ýokarky 00401080-i ýazýarys hem enter-i basýarys. Aşakdaky suratda görşüňiz ýaly adresa geçýär. 3-nji surat. Indi bu ýerde :0040107E 7402 je 00401082 :0040107E faýylyň dissassembler-däki adresi. 74 bir baýt, 02 hem bir baýt. Bu iki baýty dissassemblerlämizde je 00401082 komandamyz emele gelipdir. je 00401082 komanda eger ýazan registrasiýa kodumyzyň uzynlygy 15-e deň bolsa işleýär hem GOWY HABAR-a bökýär. Eger deň bolsmasa jne 004010D1 işleýär we “Registrasiýa kod ýalňyş!” ýazga bökýär. Onda registrasiýa kody(islendik uzynlygy 15-e deň bolan söz ýa san ýazyp görüň) 123456789012345 ýazyp göreliň hany? Eger islendik reg kody kabul eder ýaly etjek bolsaňyz onda je 00401082 komandamyzy jmp 00401082 bilen çalyşsak gönümel GOWY HABAR-a bökýär. Je-ni jmp bilen çalyşmak üçin addresi ýagny 0040107E-ni ýatda saklamaly. HIEW-de 74-i EB etmeli(eger siz hiew programmany ulanyp bilmeseňiz aşakdakda ýamakçy). HIEW-de Patch etmek Indi CrackMe02.exe-ni crack etmek üçin ilki CrackMe02.exe-ni açyp görýäris. Hä “Unregistered version”. Onda CrackMe02.exe-ni w32dasm-da açýarys hem Refs menýusyndan String data references-i saýlap “Unregistered version” ýazgyny tapyp iki gezek çepi basýarys. Ýene CrackMe01-ni döwülişi ýaly aşakdaky ýaly ýazgyny tapýarys * Referenced by a (U)nconditional or (C) onditional Jump at Address: | :00401048(C) hem görkezilen adrese(00401048) geçýäris: :00401048 7511 jne 0040105B bu adresden “Unregistered version” ýazga geçiş bar.Indi jne-ni nop bilen çalyşsak komdanda işlemeýär. Onda baýtyň adresini ýatda saklap(00401048) hiew programmany açýarys hem CrackMe02.exe-ni saýlap ENTER-i basýarys. 5-nji surat. HIEW Soň F4 çykan menýudan Decode(Bu baýtlary asm kody görnüşde görer ýaly edýär) hem F5 basyp ýaňky ýatda saklan addresimiziň(00401048) öňüne nokat(.00401048) ýazyp ýene enter-i basýarys welin 7511 baýta geçýär. Indi biz F3(Edit) soň F2(asm) hem nop ýazyp enter, ýene nop ýazyp enter. 6-nji surat. Ýokardakylary ýazylyşy ýaly edenimizden soň aşakdaky ýaly 7511 baýtymyz 9090 bilen çalyşyldy ýagny nop . Indi Esc hem F9 ýene F10. CrackMe02.exe-ni açyp barlap gör hany. 7-nji surat. Ýatda saklamalylar Biz islendik bir programmany crack etjek bolsak onda debugger ulanmaly bolarys. Häzirki döwürde OllyDbg programmasy köp ulnaylýar. Dissassembler programmasyndan hem W32Dasm köp ulanylýanlaryň biri. Biz islendik bir programmany registrasiýa etjek bolsak registrasiýa kod ýazanymyzda “Registration failed” we ş.m MessageBox çykýar. Biz debugger ulanan mahalymyz MessageBoxA funksiýasyna Breakpoint goýup ulansak crack etmek ýeňil düşer. Delphi programmalarynda ShowWindow komandasy ulanylýanlygy üçin ShowWindowA funksiýa Breakpoint goýmaly bolýar. Eger biz dissassembler arkaly crack etjek bolsak ýokarda ýazylyşy ýaly registrasiýa kod ýazanymyzda ýalňyşygy duýdurýan sözleri(“Registration failed” ýa “Invalid registration”) ýatda saklap w32dasm-da gözläp tapyp azajyk ýokarragyna seredenimizde aşakdaky ýaly setirler gabat geler. * Referenced by a (U)nconditional or (C) onditional Jump at Address: | :XXXXXXX(C) Bu ýerde XXXXXXX adresdan şu bölege jne/je/call diýmegi aňladýar. Biz Shift+F12 basyp XXXXXXX adresi ýazyp enter-i bassak jne/je/call funksiýamyzy taparys. Biz ony nop ýa je/jne bilen çalyşmak arkaly crack edip bileris. Söz soňy Hormatly okyjylar şunuň bilen men size crackerligiň ilkinji ädimlerini käbir myssallar arkaly öwretmäge çalyşdym. Eger düşünmedik bolsaňyz kelläňize agram salyp oturmaň kelläňiziň dury wagty täzeden okamak arkaly ýa gaýtalap okamak arkaly köp ýerine düşüersiňiz. Özümä crack etmegi öwrenip bir köpük girdeýji göremok, ýöne peýdalanyp bilseňiz programmalary test etmek ýada goramak ýaly işlerde işläp eklenç çeşmesine öwürip bilersiňiz. Siz crack etmegi öwrenmek arkaly kompýuteriňizdäki programmalaryň nädip işleýändigini bilersiňiz. Olardaky ýalňyşlyklary tapyp patch etmek arkaly düzetmek ýa köp funksiýalaryny üýtgedip bilersiňiz. Kiçijek uçgunjyk döredendirin diýen umydym bar. Copyrighted by DrEAMhaCK - 2o10