nezaketinizden dolayı çok tesekkur ederim :). Aslında vb. net ugrasmam gerekirken ne bilim hırs yaptım sanırım buna bakıp duruyom aynı yerde daire çiziom :) ilgili yeri degistirdim debugger ile programı actım fakat bp koyduktan snra program acılmıyor gerci ilgili yeri degistiridikten snra program normal olarakda acılmıyor. <a href="http://imageshack.us"><img src="http://img442.imageshack. us/img442/1859/15191856em5. png" border="0" alt="Image Hosted by ImageShack. us"/></a><br/>Shot at 2007-07-24 <a href="http://imageshack.us"><img src="http://img517.imageshack. us/img517/1066/96710273ww3. png" border="0" alt="Image Hosted by ImageShack. us"/></a><br/>Shot at 2007-07-24

Hocam merhaba yine ben :) Szünü ettiğim programın serial hesaplaması yaptığı call da rutin sonunda AL=00 yapan kodu tespit ettim. MOV AL, BYTE PTR SS: Bu komut AL=00 yapıyor.. Bunu ;MOV AL,1 olarak değiştirince program full oldu.. Ancak :):):)Sallama name ve keyi registery e yazmasına ve program full olmasına rağmen about ta :Costumer Name yazmakta açılışta registery okursa demoya düşer olmazsa istenilen isimde nasıl kayıtlanır? Gerçi binary edit ile ilgili tutorialiniz var onuda değiştirebilirim ama başka yolu yokmudur? Teşekkürler :)

: :) tamam şimdi soldaki kırmızılar gitti :) framework 3'de kurdum. şimdi programı açmaya çalıştıgımda "Module 'O:\Programlar\bm\bm. exe' does not contain a CLI header" hocam boyle bir hata alıyorum reflecor! de. Birde onerdiginiz kitaba bugun baktım bana fazla teorik geldi ürktüm biraz :) digerlerinede baktım benzer anlatımlar war asm ile programlamayı orneklerle anlatmıslar kararsız kaldım. :-? Cli headerla ilgili uyarı alıyorsan ya. Net uygulaması değildir yada program korunmuştur. Kitap konusuna gelirsek. Başta işlemci mimarisi anlatıldığı için teoriği biraz fazla.

Herkese selamlar! Firex hocam ncelikle zverili şekilde sorularıma teveccüh gsterme nezakenitiniz için teşekkür ederim. Bazı sorularım olacak ama bu sorunlar sonuçta dnüp dolaşıp OLYDbg yi bir türlü etkili kullanamamaya dayanıyor. İnşallah bu konuda ki yazınız eminim bir çok insanın derdine derman olacaktır. Zira nette o kadar çok bilgi çplüğü varki bu konuda.. Herkes bir yerlerden ve işin garibide hep aynı yazıyı copy/paste yaparak sunmuşlar hiç biryerde sizin yazılarınız kadar zgün bilgiler mevcut değil... Sorum şudur :http://img95.imageshack. us/my. php?image=regnr5. jpgResimde grüldüğü üzere procodur başlangıcındayken dediğiniz gibi Select Command diyerek yada stack penceresinde ilgili referans alınan call lar yada jump lar listeleniyor. Ancak çoğu kez tecrübe etmişimdir bunların hepsi listelenmesine karşın rev. eng. içlerinden sadece bir yada bir kaçı doğrudan sizi sonuca ulaştırabiliyor. İşte sonuca gtüren bu bir yada birkaç call ı nasıl tespit edebiliriz. Bazen bu call sayısı 100 leride bulabiliyor mesela o zaman nasıl işlem yapabiliriz? Teşekkürler...

kusura bakmayın firex hocam cahillime verin ama sormak zorundayım :( p-code ile ilgli makalenizde hex editor ile yaptıgnız mantıgı tam kavrayamadım cunku bazı teknik kelimeleri bilmiyorum debugger koruması kaldırmak için olly üstündeki scripti kullanmaya calısıyorum crackme calısıyor yanlız olly'de surekli yanıp sonuyor script sanki sn'de 1 calısıyor ekrana cıkıyor debıgger korumasını boyle aşmam mumkun sanırım bunu nasil yaparim script ile?Birde eski konustugumz crackme iligli kişi benim yanlış yaptıgımı soyluyor şifre uzun bişeymiş bir ben sorunlu diyomusum :) şifre dogru olunca tebrikler yazıomus dediginiz gibi biraz uzun oldu sanırım :( bayadır ugrasıyorum olmadı :( kolay gelsin

şifre onemli degil hocam farkındaysanız bazı temel şeyleri bilmiyorum yapamamakla ilgisi yok. belki size vb. net 'te nasil buton olusturulur gibi komik gelen bir soru sormus olabilirim kusura bakmayın yarın ilk işim kitap almak olucak ara ara okurum artık. benim baktıgım yeri resimde gosterdim http://img517. imageshack. us/img517/5325/84972547sr1. png Shot at 2007-07-24

: Hocam merhaba yine ben :)Szünü ettiğim programın serial hesaplaması yaptığı call da rutin sonunda AL=00 yapan kodu tespit ettim. MOV AL, BYTE PTR SS: Bu komut AL=00 yapıyor.. Bunu ;MOV AL,1 olarak değiştirince program full oldu.. Ancak :):):)Sallama name ve keyi registery e yazmasına ve program full olmasına rağmen about ta :Costumer Name yazmakta açılışta registery okursa demoya düşer olmazsa istenilen isimde nasıl kayıtlanır? Gerçi binary edit ile ilgili tutorialiniz var onuda değiştirebilirim ama başka yolu yokmudur? Teşekkürler :) Tebrik ederim. Fakat Customer Name'in anlamı "Müşteri ismi"'dir. Yani programı kayıt etmeyle alakası yok. Müşterinin adı yazıyor sadece. Başka birşey kastediyorsanız binary edit olayını kullanın yada programda orayı bulunda. Temelli psikoya bağlamanın anlamı yok :) Bence binary edit yeterli. Çalışmalarınızda başarılar.

bakın burada softice kullanılarak yapılmıs link:http://www.woodmann.com/fravia/cb_vb6_1.htm

: "4029AB" yani bunu "hex" emi cevircem O zaten hexadecimal bir sayı AB var grüldüğü üzere. O sylediğin şey adres anlamamışsın demek istediklerimi. Diyorumki debugger koruması için bir prosedür çağırıyor. Bilindiği üzere her prosedürün başlangıç ve bitiş noktası var. Prosedürün bitiş noktasını başlangıcının hemen ardına taşıyacaksın bu da hemen prosedürden dnülmesi anlamına geliyor. Yapacağın şey prosedürün ilk komutunun adresini alıp toolsdaki patch kısmında adresi yazıp get dedikten sonra end subın karşılığı 13'ü yazıp set demek. Olay bu. mascoder bunu yazdı: bakın burada softice kullanılarak yapılmıs link:http://www.woodmann.com/fravia/cb_vb6_1.htm Ben ona zelleşmiş olan WKTVBDE debuggerı kullanıyorum. Bu P-Code için zel debugger.

hocam Reflector bende sorunlu calısıyor framework 1.1 mi istiyor bu meret bende 2.0 versionu war sol tarafının tamamı kırmızı çıkıyor?uygulamayı açarken does not contain a CLI header. su tip bir hata veriyor

Değişiklikleri hex editrüyle yapıp kaydedeceksin. Hangi opcodelar nelerle değişecekse vs. Ondan sonrada debuggerda açarsın. P-Code ile ilgili dkümanımda bundan bahsetmiştim.

: Firex Hocam Selamlar! Serialini bulduğum bir program var ben patch yapmak istiyorum. Program açılışta Registerye bakıyor ve bunuda 3 adet call ile kontrol ediyor. Ancak bu call dnüşleri Al=00 yani demo 01 yapmama rağmen kayıtllanmıyor nedeni ne olabilir? Birde işleriniz hafiflemiştir umarım olly ile ilgili yazınızı sabırsızlıkla beklediğimizi bilesiniz.. Saygı ve kolaylık dileklerimle. Patch yapamadığım program :h p://amust-registry-cleaner. amust-registry-cleaner-inc. qarchive. org/ Ato nerelere kayboldun uzun süredir :) Forumda bir sen varsın bu konulara ilgi duyup yazan zaten. Başkalarıda varsa onlarda gizlemesinler kendilerini. Şimdi program açılışta registry'e bakıyor. Fakat programın korunma tarzına gre daha komplike birşeylerde olabilir. Yani registryde satın alan kişi, seri numara kayıtları duruyormu veya "registered" değerinde "1" yazıyormu diye bakarak programı full haline sokmak yerine. Registryden satılan alan kişiye gre tekrar seri numara hesaplatıp bunuda registryden okuduğu değerle karşılaştırıyordur. Ayrıca AL'nin 01 olması orası için farklı anlamlar taşıyorda olabilir. Registryden tüm kayıtların başarıyla okunmuş olması, eksik veri olmaması vs vs. Program orada registryi okuyup bilgileri aldıktan sonra bir bellek alanına atıyor ve daha sonradan bunları kontrol ediyor olsa gerek. Bunu tekrar tekrarda yapabilir. Programcı ne yaptıysa o. Olly ile ilgili dkümana gelince en kısa sürede o konuya el atacağım. Sz verdiysem borcumdur. Reverse Engineering çalışmalarınızda başarılar dilerim.

: ilgili yeri degistirdim debugger ile programı actım fakat bp koyduktan snra program acılmıyor gerci ilgili yeri degistiridikten snra program normal olarakda acılmıyor. ?hocam sizide yoruyorum. Bu arada siz uyumazmısınız :)

: niye 13? Prosedürü sonlandıran end sub'ın opcodu. Her komutun hexadecimal karşılığı vardır. Tabi bu 1 byte yer kaplıyor. Daha fazla byte işgal edenlerde mevcut.

niye 13?

: mascoder bunu yazdı: ilgili yeri degistirdim debugger ile programı actım fakat bp koyduktan snra program acılmıyor gerci ilgili yeri degistiridikten snra program normal olarakda acılmıyor. ?hocam sizide yoruyorum. Bu arada siz uyumazmısınız :) Programın başlangıcından itibaren adım adım trace ederek hangi adreslerde koruma var onları tespit et. Bulduğun adresler hangi prosedür içerisindeyse o prosedüre el at. Yanlış yerlerede koymuşsun program bozulmuş. Bu arada bende uyumayan cinstenim işte :) Millet bot sanacak yakında :p

:) tamam şimdi soldaki kırmızılar gitti :) framework 3'de kurdum. şimdi programı açmaya çalıştıgımda "Module 'O:\Programlar\bm\bm. exe' does not contain a CLI header" hocam boyle bir hata alıyorum reflecor! de. Birde onerdiginiz kitaba bugun baktım bana fazla teorik geldi ürktüm biraz :) digerlerinede baktım benzer anlatımlar war asm ile programlamayı orneklerle anlatmıslar kararsız kaldım. :-?

Ok daha detaylı anlatalım;ncelikle string tablosunda biraz araştırma yaparsak programcısının ayıptır sylemesi salak olduğunu greceğiz :))Çünkü alttaki şekilde grdüğünüz üzere stratejik bir blgeye "Please do not pirate this software" vb şeyler yazarak yalvarmış. Neyse onu geçtik. Ayrıca "regname" ve "regkey" olmak üzere stratejik nem taşıyan isimleride grebilirsin. Yada ctrl+n ile registryleri açan apilerin çağrıldığı yere breakpoint koyarsın falan. Yine orayı bulursun. http://img525.imageshack. us/img525/8316/untitled3rh4. jpgKısa süreli bir araştırmadan sonra registry değerlerinin olup olmadığı yeri buluyoruz. Regname ve regkeyin olduğu yerlere breakpoint koyup izliyoruz ya o şekilde. İşte hemen altta resimde gzükeceği üzere orada bir zıplama noktası var onu nopla kaldıracağız ki anahtarlar varolmasa bile programı kaydedilmiş sanarak yolculuğuna devam etsin. http://img525.imageshack. us/img525/7305/untitledty8. jpgDaha sonra zıplama noktasının altındaki prosedüre giriyoruz. Amacımız en altlarda yeralan regname ve regkeyin olduğu yere ulaşmak. Burada bizi prosedürün en altına atan bir sürü zıplama noktası var. Hesaplar kitaplar yapılıyor. Uzuncana blüm. Burada birçok zıplama noktasını nop yapacağız. Adresleri yazarsak;http://img523.imageshack. us/img523/6739/untitled2qn5. jpg004C87E9004C8864004C887B004C88C2004C8938004C8A3D004C8A70004C8A7ABuralara nop koyarak oraları direk geçebilirsin. Yada daha farklı şekildede direk zıplarsın falan noplara gerek kalmadan vs. Fakat hem buraya yazıp hemde adım adım ilerlediğim için geçtiğim adresleri buraya yazdım. Programın kararlılığı açısındanda daha sağlıklı.. Şimdi devam edersek prosedürün en altlarına doğru regname ve regkeyi greceksin program akışı onların üstünden geçtikten sonra ilk aşama tamamlanıyor. Program oraya gre regname ve regname kombinasyonunun tutup tutmadığını karşılaştırıyor. Diğer aşamaya gelirsek. Regname ve regkey değerleri registrye orayı geçince boş olarak yaratılıyor. Programın birçok yerinde farklı farklı olarak bu regname regkey kombinasyonunun tutup tutmadığına değilde verilerin olup olmadığına bakılıyor. Program kapanırken nag screen çıkması. Yeni proje yaratınca imza bırakması vsvs bir sürü şey daha var patchlenecek. O kadar şeyle uğraşmaya gerek kalmadan. O değerleri doldurursan sorunsuzca programı full haline sokabilirsin. Çalışmalarında başarılar..

Breakpoint koyarak bulabilirsin.6 tane call varsa ve bizim için nemli olan programda register butonuna bastığımızda gerçekleşense hepsine breakpoint koyarsak ne yapacak. Butona tıkladığımızda program akışı orada bizim için gerekli olan callda duraklayacak. Bizde bizim için gerekli olanı bulmuş olacağız vs. Daha birçok ihtimal olabilir. Bu arada nasıl hepsine aynı anda breakpoint koyarım diyorsan. Prosedürün giriş noktasında. Zaten gzükür local calls from... Orada sağ tıklayıp view call treeye tıkla. Karşına pencere gelecek pencerede sağ tıklayıp set breakpoint on every call dersen hiç uğraşmadan hepsine breakpoint koyarsın.

Teşekkür ederim hocam! Senin anlatımınla programın karakteristik zelliğini anladım...

: mrb firex hocam yine bir crackme ve bu meretin sanırım bir debugger koruması war :) yine p-code ile derlenmiş bu arada vb' dilinde programa nasil debugger koruması koyulur?hocam onceki ugrastıgım crcakme'de hala duruyor ilgili kişi dosyada bir sorun olamdıgını şirrenin daha uzun oldugunu soylediselametle VB Decompiler'da açıp debugger kontrolünün yapıldığı yerleri, fonksiyonların çağrıldığı yerleri kaldır. Debugger kontrolü için isdebuggerpresent, outputdebugstring, zwsetinformationthread apilerinden faydalanabilirsin. nceki crackmede terslik var. Kullanıcı adı, şifreyi aldığın adresleri yolla adama.

Firex Hocam Selamlar! Serialini bulduğum bir program var ben patch yapmak istiyorum. Program açılışta Registerye bakıyor ve bunuda 3 adet call ile kontrol ediyor. Ancak bu call dnüşleri Al=00 yani demo 01 yapmama rağmen kayıtllanmıyor nedeni ne olabilir? Birde işleriniz hafiflemiştir umarım olly ile ilgili yazınızı sabırsızlıkla beklediğimizi bilesiniz.. Saygı ve kolaylık dileklerimle. Patch yapamadığım program :h p://amust-registry-cleaner. amust-registry-cleaner-inc. qarchive. org/

mrb firex hocam ilgli kitabı aldım 1 hafta oldu sanırım ama hazmetmesi agır oldu biraz şimdilik bişey anlamıyorum :) izlenmesi gerekn bir yol varmı bildiginiz yoksa klasik programlama kitapları gibi okusammı gerci bir benzerlikte yokki hersey 3 harfli komutlardan oluşuyor :) birde debugger korumasını aşamadım hocam resimli gostermeniz mumkun mu? iyi gecelerkolay gelsin

iki alette elimde mevcut :) zaten en iyi yapabildigim google'lu kullanaibilmek :) daha oncede sormustum ilgli yerleri patch'ledim path data bolumunden 00 yazdım yanlız bunu nasil kaydedicem? degistirlmiş exe'yi, birde daha onceki crackme'de sorun oldugunu düsünüyormusunuz iligli kişi yok dedi de?

Diğer başlığı kilitledim. Bütünlük açısından soruları bu konuda soralım. ATO bunu yazdı: Firex Hocam Selamlar! Memory Dump a BPX koyarak : Olyde girdigimiz sallama seriali bulup winhex gibi onu okumaya basladığı yeri direk bulabileceğimiz gibi bir şey duydum. Bu konu hakkında bilgi verirmisiniz? Teşekkürler... Bu sorduğun soru grecelidir. Programın kodlanış tarzına gre değişir. Serial numberı bütün olarak hafızaya yerleştiren program artık fazla kalmadı diyebiliriz. Amatr programcıların yaptığı birşey. Seri numarayı parçalara blüp o şekilde karşılaştırma yapıyorlar yada kriptolayıp karşılaştırıyorlar. Bellek adresleri her zaman aynı olmaz. Oraya breakpoint koymak falan fazla işe yarar bir yntem değil.

: kusura bakmayın firex hocam cahillime verin ama sormak zorundayım :( p-code ile ilgli makalenizde hex editor ile yaptıgnız mantıgı tam kavrayamadım cunku bazı teknik kelimeleri bilmiyorum debugger koruması kaldırmak için olly üstündeki scripti kullanmaya calısıyorum crackme calısıyor yanlız olly'de surekli yanıp sonuyor script sanki sn'de 1 calısıyor ekrana cıkıyor debıgger korumasını boyle aşmam mumkun sanırım bunu nasil yaparim script ile?Birde eski konustugumz crackme iligli kişi benim yanlış yaptıgımı soyluyor şifre uzun bişeymiş bir ben sorunlu diyomusum :) şifre dogru olunca tebrikler yazıomus dediginiz gibi biraz uzun oldu sanırım :( bayadır ugrasıyorum olmadı :( kolay gelsin Ollydbg ile p-code üstünde çalışılmaz. . Net dillerinde olduğu gibi. Çünkü bir ara dil var ve bunu yorumlayan yorumlaycı. WKTVBDE bulacaksın dkümanda debuggerın genel kullanımından bahsetmiştim. O sylediğin crackmeye bende baktım. Debugger kontrolü vs korumayla ilgili blümler ayrı prosedürler içerisine alınmış. Bu da işimizi daha da kolaylaştırıyor. Prosedürü sonlandıran komutun opcodunu alıp prosedürün hemen başladığı komutun ardına yazacaksın bu şekilde oradaki komutlara hiç uğramadan dnecek. http://rapidshare.com/files/43342539/yagvbdp3. zip.html VB Decompiler pro ile daha detaylı inceleyebilir. Hex editrüne gerek kalmadn patch yapabilirsin.

Teşekkür ederim hocam. Aslında soracak çok sorum var ama hepsini kendimi zorlayarak aşmaya çalışıyor her aklıma geleni sorarak değerli vaktinizi almak istemiyorum:) Ama dediğiniz gibi forumda reverse eng. konusuna olan ilgi benide üzüyor heleki çok güzel kaynaklar sunmanıza ve sizin gibi bir bilgi birikimine sahip birini barındıran bu forum bunu neden kullanamıyor anlam veremiyorum. Saygılar...

: şifre onemli degil hocam farkındaysanız bazı temel şeyleri bilmiyorum yapamamakla ilgisi yok. belki size vb. net 'te nasil buton olusturulur gibi komik gelen bir soru sormus olabilirim kusura bakmayın yarın ilk işim kitap almak olucak ara ara okurum artık. benim baktıgım yeri resimde gosterdim http://img517. imageshack. us/img517/5325/84972547sr1. png Shot at 2007-07-24 Yok ne kusura bakması falan. Yanlış anlamışsınız beni. Olayı küçümsemekle alakası yok. Asla yle bir girişim içerisine girmem. yle bir izlenim bıraktıysam kusura bakmayın. Aynı şeyi tekrar tekrar birkaç defa açıklayınca çok zorladıysa diye dedim. Kolayda sorsanız zorda sorsanız biz burdayız ve yle bir şeyin içine girmeyiz. Amaç birşeyler gstermek. Başlangıç adresi resimdeki yer evet oradan bahsediyordum. Bundan sonra gerekli noktalarda resim koyarsanız iletişim açısındn kopukluk olmaz. Kolay gelsin.

Ato sen registryle ilgili sordun. Bende o şekilde cevapladım. Seri numara deseydin ona bakardık. Fakat o sylediğin şekilde program register olmuyor. Sadece register oldu diye mesaj penceresi çıkıyor. Aç kapat greceksin. Programı incelerken orayı bende grmüştüm. Program biraz komplike. Registry konusuna gelirsek ben registry konusunda sana gereken açıklamayı üstte yaptım.

Başta Firex hocam olmak üzere herkese selamlar! Değerli hocam linkini verdiğim programı inceleyip keygen yapısı, koruması ve kontrolleri hakkında bir tutorial yazman mümkünmü? O kadar program kırmama rağmen bunu alt edemiyorum. Çok farklı geldi bana oldukçada kastım bi o kadarda uykusuz kaldım bundan dolayı... Yardım edersen sevinirim saygılar.. Koruması : Serial Dl :http://www.aw-soft.com/wexsetup. exe

iligli yerleri sildim :) peki şimdi bu haliyle programı nasil kaydeticem debugger ile açmak için

"X86 TABANLI MİKROİŞLEMCİ MİMARİSİ VE ASSEMBLY DİLİ" kitabını al. Kitabın yarısı işlemcileri diğer yarısı assembly dilini anlatıyor. bür kitapta işlemci mimarisine ağırlık verilmiş. O daha eski.

Birinci resimdeki end sub'ın orada gstediğiniz değerle uzaktan yakından alakası yok. O sadece adresi belirten bir değer. End sub'ın karşılığı her yerde 13'dür. Diğer komutların karşılıkları neyse onlarda yle. İkinci resimdeki üstte gsterdiğiniz adres prosedürün bitiminden sonraki kod bloğunu gsteriyor. Zaten inceleyince o değerin prosedürde grdüğünüz adreslerden daha büyük olduğunu greceksiniz.

yazarın bir kitabı daha var "MİKROİŞLEMCİLER VE ASSEMBLY DİLİ" ve "X86 TABANLI MİKROİŞLEMCİ MİMARİSİ VE ASSEMBLY DİLİ" bana icerikleri benzer gibi geldi. Siz ikinciyimi tavsiye ediyorsunuz

Ben cevap veriyim saat 4-5 gibi uyuyo o tavuklarla : P

Reflector ilk kullanımda. Net Framework sürümünü sorar. Oradan yanlış sürümü seçmiş olabilirsin, 3.0 dahil hepsiyle uyumludur. Klasründeki reflector. cfg dosyasını silip tekrar seç. Olmuyorsa. net framework sürümünü güncelle. Bu arada reflectorunda yeni sürümü çıktı. Eğer elindeki eskiyse onuda güncelle.

: iki alette elimde mevcut :) zaten en iyi yapabildigim google'lu kullanaibilmek :) daha oncede sormustum ilgli yerleri patch'ledim path data bolumunden 00 yazdım yanlız bunu nasil kaydedicem? degistirlmiş exe'yi, birde daha onceki crackme'de sorun oldugunu düsünüyormusunuz iligli kişi yok dedi de? VB Decompiler pro'da end sub'ın opcodunu alıp prosedürdeki ilk komutun opcoduyla değiştireceksin.00 yaparsan bozarsın.13'dü diye hatırlıyorum. Toolsda patch olacak. Orada adresi girip get dedikten sonra altta opcodu yazıp set diyeceksin o kadar. Kaydedilmiş oluyor aynı zamanda. bür crackmede bende aynı yerlerde kullanıcı adı ve şifreyi buldum. Artık onun hakkında syleneck birşey kalmadı. Adresleri yolla adama..

"4029AB" yani bunu "hex" emi cevircem

Reverse Engineering konusundaki çabalarınızdan dolayı tebrik ederim. Şu an üzerinde çalıştığım bir projem olduğu için program hakkında tutorial yazmak için fazla vaktim yok malesef. Boş vaktimde ilk işim Ollydbg hakkında bir dküman yazmak olacak. Diğer bir konu verdiğiniz programa gece bir süre gzattım. Program packlenmemiş fakat güzel bir şekilde korunmuş. Programın string tablosunda "regname" "regkey" isimli registry değerleri ve hemen üstünde programcının yaptığı bir aptallık olan yol gsterici yazı "Please not pirate this software" grdüm :) Bildiğiniz üzere programı kayıt edince program registrye bakmakta daha sonra ona gre kısıtlımı yoksa full olarakmı açılacağına karar verir. Programın kaydettiği registry değerlerine bakmak bizim için daha nemlidir. Çünkü kullanıcının seri numara girmesine gerek kalmadan uygulama açılır. ctrl+n ile karşınıza çıkan tablodan registry apilerini aratarak nemli şeyler bulabilirsiniz. Sizin programınıza gelince programın register olduğunu belirleyen regname ve regkey anahtarlarının olduğu yere gzattım. Bunlardan program içerisinde iki tane mevcut. Yolculuğa 004C9058'den başlıyoruz. Bir üst kademede olan anahtarların olup olmadığını kontrol ediyor ve karşılaştırmayla alt prosedüre iniyor. Alt prosedürde değerleri kontrol eden bir sürü zıplama noktası greceksiniz. Bu zıplama noktalarından uzun olanlar yani geçersiz olduğunu anlayıp sizi prosedürün sonuna atanları nop yaparak geçin. Prosedürün sonlarına doğru tekrar regname ve regkey değerlerini greceksiniz program akışı bunların üstünden geçsin. Daha sonra ise tüm yaptıklarınızı kaydedin. Registryde ayrıca o adrese regname ve regvalue değerlerini expandable string value olarak yaratın. Dilerseniz benim üzerinde çalıştığımada bakabilirsiniz. Hatta işi biraz ileriye taşıyıp keygende yazabilirsiniz. Fakat programı çok iyi analiz etmek gerek bu da çok vaktinizi alabilir. Keygenler hakkında yazdığım dkümanı inceleyebilirsiniz bu konuda. Programın Delphi olmasıda ayrı bir avantaj DeDe isimli programdan faydalanabilirsiniz. Bu konu hakkındada nceden dküman yazmıştım onada gzatabilirsiniz :)http://rapidshare.com/files/36207169/crack. rar.html

: ctrl+n ile karşınıza çıkan tablodan registry apilerini aratarak nemli şeyler bulabilirsiniz. Sizin programınıza gelince programın register olduğunu belirleyen regname ve regkey anahtarlarının olduğu yere gzattım. Bunlardan program içerisinde iki tane mevcut. Yolculuğa 004C9058'den başlıyoruz. Bir üst kademede olan anahtarların olup olmadığını kontrol ediyor ve karşılaştırmayla alt prosedüre iniyor. Alt prosedürde değerleri kontrol eden bir sürü zıplama noktası greceksiniz. Bu zıplama noktalarından uzun olanlar yani geçersiz olduğunu anlayıp sizi prosedürün sonuna atanları nop yaparak geçin. Prosedürün sonlarına doğru tekrar regname ve regkey değerlerini greceksiniz program akışı bunların üstünden geçsin. Daha sonra ise tüm yaptıklarınızı kaydedin. Registryde ayrıca o adrese regname ve regvalue değerlerini expandable string value olarak yaratın. Hocam selamlar! Çok kastım bu programa hala bi sonuç alamadım dediğin adresten yola çıktım ama olmadı bi türlü :( adresler bazında az bi açıklama yaparsan çok sevinirim. Teşekkürler

Baştan biraz zorluk çekebilirsin. Fakat ğrendikçe zamanla daha zevkli gelmeye başlayacak. Gücünü anladığın zamana gelince bırakamayacaksın :) Benzerlik var. Benzerliği yakaladıktan sonra sorun yaşamazsın. Komutlar bir şekilde aklında yer eder mantık nemli. Isdebuggerpresent, outputdebugstring apilerini araştır oralara gzat farklı tekniklerde olabilir. Trace ederken nerelerde kırılıyorsa oraları incele. Edit(22.09.200):Okumaya başka şehire gittiğimden siteye nadiren gireceğim. Artık grdükçe cevaplarım :)

mrb firex hocam yine bir crackme ve bu meretin sanırım bir debugger koruması war :) yine p-code ile derlenmiş bu arada vb' dilinde programa nasil debugger koruması koyulur?hocam onceki ugrastıgım crcakme'de hala duruyor ilgili kişi dosyada bir sorun olamdıgını şirrenin daha uzun oldugunu soyledi selametle

Hocam çok sağolasın :) Bu mesajdan sonra bende biraz araştırdım yine! Bi arkdaşta şyle yapmış : Bu adreste : 004CA68E bildiğin gibi serial hesaplaması ve kontrolleri yapılıyor yabu call a girip ilk satırdan itibaren;ORJ : 004C7DA8 55 PUSH EBP004C7DA9 8BEC MOV EBP, ESP004C7DAB 33C9 XOR ECX, ECX PATCH :004C7DA8 33C0 XOR EAX, EAX004C7DAA 40 INC EAX004C7DAB C3 RETN004C7DAC 90 NOPSONRADA GİDİP : 004C81F7 75 0D JNZ SHORT Webexe.004C8206 satırını004C81F7 74 0D JE SHORT Webexe.004C8206 PATCH YAPMIŞ! NASIL BULDUĞUNU SORDUĞUMDA SYLEMİYOR :( sadece stack sağolsun diyor :(varmıdır bi fikrin? gerçektende denedim register oluyor :( Bu adres ipucun olsu dedi! 004C8216 BA F08E4C00 MOV EDX, Webexe.004C8EF0 ; ASCII "RegOpenKeyExA"Ama buraya nasıl geldindiğini? hangi stackta nasıl grdüğünü bi türlü sylemedi?