10 numara olmuş eline sağlık... Abra Kadabra

AL olayını anlatırsak; Fonksiyon true veya false dndürür ya o mantık. Bakıyor seri numaraya doğruysa true değilse false dndürüyor vs. Sonrada genel değişkene atanıyor falan. Üst seviye programlama diliyle açıklaması byle alttada bunlar dnüyor :)Temel asm bilgisini elde edebileceğin Türkçe kaynak bir sürü var. İngilizcen iyiyse İngilizce kaynaklara ynel. Bu işi kitapla çzersin. Netteki bilgi çplüğü var.

dktürmüşün yine kardeşim. eline emeğine sağlık. yeni dkümanlarını bekliyorum Ardından yüz kpek havlamayan kurt, kurt sayılmaz..

Senin bulduğun kullanıcı adı ve şifre doğru. Crackmenin yayınlandığı gece adam bu kapanma sorunundan dolayı değişiklik yaptı. Form yerine Tebrikler yazısı çıkıyordu. Adam yine eski haline sokup değiştirmiş. Yaptığın doğru. Yapan kişiye ulaş değiştirsin dosyayı.

: kaçmak ile ilgili degil hocam yazılımcı olma yolunda ilerliyorum vb ile basladim vb. net ile gidiyorum ama şimdiye kadar adam gibi bir proje bitirmedim :( şimdi kafaya koydum ufak bir sniffer yazıcam bu yuzden baska yerlere dallanıp budaklanmak istemiyorum zamanında bunu çok yaptım ve 0=0 hepsini birden ogrenmeye kalkınca hiçbirşey ogrenemiyorsunuz... Araya C'yide sıkıstırdım ikisndede aynı uygulamayı yazmaya calısıyorum :) birde bunların ustune asm'yi kaldıramam zamanım kısıtlı hocam ancak yazın boş vaktim oluyor okullar başlayınca derslerden vakit bulamıyorum ahh lisedeki boş vakitlerim :) univ. biraz daha farklı oluyor. Ama bu donem yurda bir laptop sokucam allahın izniyle :)... Siz nasil bakıyorsunuz bu düşüncelerime? Doğru zaman açısından sorun olabilir. O konuda en doğrusunu sen bilirsin. Bu konuda ciddi şeyler düşünüyorsan asm'yi gzden çıkartamazsın. Bütün bunların babası asm. Sırayla halletmek en iyisi. Kolay gelsin..

Gece 4'de açtık başlığı belki grmeyenler vardır diye zıplatayım.

işin garibi sanki şifre 10'ar artıyo 2 kere daha baktım farklı cıktı biri 575110286, biri boyle 575110296 sorun degil hocam mantıgı anladım peki hocam konu dışındada şyle bir şey sormak istiyorum "Al=00 yani demo 01" bunun anlamı? asm bilgim "dallanma" komutları ile sınırlı bir de bir videonuzda bir bayragı 1 yaptınız bunuda anladım temel asm bilgisi gerekiyor sanırım bunu nasil elde edebilirim :) yardımlarınız için şimdiden teşekkur ederim hocamselametle

Teşekkürler hocam her zamanki gibi harikasın :) Ellerine sağlık

Dküman canavarı bu adam ya :|

bi antioksidanın dkümanları bi de bu firex'in dkümanları on numara hep resimli anlamak kolylaşıyo :) Çok zel kadınlar tanıdım. Bana hayatı onlar tanıttılar...

mrb üstad tam bende bu konu ile ilgli arastırma yapıyordum ellerine saglık çok guzel bir yazı olmus. Benim şyle bir sorum olucak benimde elimde p-code turu bir crackme war dedgin gibi kolay olmadı serial bulmam gerekiyor benimkinde buton yok şifre dogru ise cuk diye bir formu çalıştırıyor vb decompile sagolsun :) p-code baslangic adresini aldim wkt de calıstırdım ama program yerine wkt de direk kodlar cıktı f5 ile çalıstırdım bp koydum serial giriyom salla ama bp de durmuyor?birde ben kendi vb ile yazdıgım programları nasil p-code ile derlerim? selametle

arşivimde reverse engineering diye ayrı kategori açtım sayende :| kendinize ayığ olunuz

adam hayatını dküman yazmaya adadı :) tebrikler alp 3 Hafta nce Sigara ldürüyor diye okudum, sigarayı bıraktım. 2 hafta nce Alkol ldürüyor diye okudum, Alkolü bıraktım. Geçenlerde Aşırı Seks ldürüyor diye okudum, okumayı bıraktım..

adam uyumak nedir bilmiyo şuna bak a. q gece nin 4 de dküman yazı yo sen kafayı yemişsin :D tebrik ediyorum ayakda alkışlıyom asdfasfasfasf:)))) Forum, Hikaye gibi blümlerde opsiyonel olarak her yazdığınızın sonuna eklenen yazı... :| 20 senelik hayatımda 15 aylık reklam arasıı... izmirr / gaziemir..

: mrb üstad tam bende bu konu ile ilgli arastırma yapıyordum ellerine saglık çok guzel bir yazı olmus. Benim şyle bir sorum olucak benimde elimde p-code turu bir crackme war dedgin gibi kolay olmadı serial bulmam gerekiyor benimkinde buton yok şifre dogru ise cuk diye bir formu çalıştırıyor vb decompile sagolsun :) p-code baslangic adresini aldim wkt de calıstırdım ama program yerine wkt de direk kodlar cıktı f5 ile çalıstırdım bp koydum serial giriyom salla ama bp de durmuyor?birde ben kendi vb ile yazdıgım programları nasil p-code ile derlerim?selametle O crackmeyi hatırlıyorum :) Altta buton var. Fakat kenarlıkları yok. VB Decompilerda aç textboxla ilgili change olayı olacak. Onun başlangıç adresini al debuggerda breakpoint koy. Sonrada adım adım trace et. Altta gzüküyordu kullanıcı adı. Sonrada kullanıcı yerine doğru şeyi yazınca ve şifre blümünede birşey sallayınca butonuda kullanabileceksin. VB Decompilerda onunda click olayınının başlangıç adresini al ve yine breakpoint koyarak adım adım ilerle şifreyide altta greceksin. P-Code derlemek için project'den project properties olacak orada compile tabında greceksin P-Code ve Native diye P-Code'u seç.

:) dedignizin bir benzeri yanlız burda kullanıcı adını kendiniz giriyorsunuz ona gore bir şifre bulmanız lazım bir de makineye gore bir kod war :) bir işe yaradıgını dusunumuyom :) hocam change olayına bp koydum go dedimde programa dogal olarak bir tusa basınca bp koydugum yerde duruyor. Ama oraya bir k. adı yazmam lazım :) once programı calıstırdım k. adı yazdım snra debugger da bp koydum change olayına ilgli yerde durdu yanlız iki turlude ekranddaki kodlar aynı çıkıyor farklı olmasi gerekmezmi?nerde hatam war acaba? selametle

vay amk bu saatte :| helal olsun 1o numara ;) ben de yaziyim bişiler :D

tavsiye ettginiz bir kitap varmı?Piyasada baktıklarım çogunda ornek kod lar ile anlatılmıs. Oturup asm'de bsayardan ses çıkartan bir program yazmıcam :).

işin ilginc yanı butonun orda oldugunu bile gormedim :) k. adının onceden belirlenmesi de garip bnede kendi k. adıma gıre pass bulmaya calısıyorum :) hocam herseyi tam yaptıgıma eminim ama k. adı ve şifreyi grince program kapanıyor : http://img524.imageshack. us/my. php?image=kadyokmo5. pngbenim buldugum k. adı :http://img524.imageshack. us/img524/6958/kadfw8. pngve şifre :http://img524.imageshack. us/img524/8338/firejd9. png

: :) dedignizin bir benzeri yanlız burda kullanıcı adını kendiniz giriyorsunuz ona gore bir şifre bulmanız lazım bir de makineye gore bir kod war :) bir işe yaradıgını dusunumuyom :) hocam change olayına bp koydum go dedimde programa dogal olarak bir tusa basınca bp koydugum yerde duruyor. Ama oraya bir k. adı yazmam lazım :) once programı calıstırdım k. adı yazdım snra debugger da bp koydum change olayına ilgli yerde durdu yanlız iki turlude ekranddaki kodlar aynı çıkıyor farklı olmasi gerekmezmi?nerde hatam war acaba?selametle Hayır doğru hatırladığımdan eminim. Kullanıcı adıda nceden belirleniyor :) Sen onchange'e breakpointi koyduktan sonra sabırsızlık yapıyorsun herhalde :) Biraz ineceksin aşağılara sen trace etmeye devam et adım adım. Hatta benden sana bir ipucu kullanıcı adı için. Gerisi sana kalmış. Şifreyi bulmada aynı mantık. Crackmeyi hazırlayan arkadaşa saygısızlık olmasın. Kullanıcı adı en alt satırda olan. Sende machine idye gre farklı olabilir.

yine yapmışsın, borovo :) ...

Eline sağlık aga güzel olmuş Sch

kaçmak ile ilgili degil hocam yazılımcı olma yolunda ilerliyorum vb ile basladim vb. net ile gidiyorum ama şimdiye kadar adam gibi bir proje bitirmedim :( şimdi kafaya koydum ufak bir sniffer yazıcam bu yuzden baska yerlere dallanıp budaklanmak istemiyorum zamanında bunu çok yaptım ve 0=0 hepsini birden ogrenmeye kalkınca hiçbirşey ogrenemiyorsunuz... Araya C'yide sıkıstırdım ikisndede aynı uygulamayı yazmaya calısıyorum :) birde bunların ustune asm'yi kaldıramam zamanım kısıtlı hocam ancak yazın boş vaktim oluyor okullar başlayınca derslerden vakit bulamıyorum ahh lisedeki boş vakitlerim :) univ. biraz daha farklı oluyor. Ama bu donem yurda bir laptop sokucam allahın izniyle :)... Siz nasil bakıyorsunuz bu düşüncelerime?

: tavsiye ettginiz bir kitap varmı?Piyasada baktıklarım çogunda ornek kod lar ile anlatılmıs. Oturup asm'de bsayardan ses çıkartan bir program yazmıcam :). Asm'den neden kaçıyorsunki? 2kblık yüksek performanslı Win32 uygulamaları yazabilirsin. Yazılımcıysan sana çok büyük katkılar sağlar sistemin işleyişini anlaman açısından. Sınırlı sayıda Türkçe var bu konuda en yaygın olanları Nurettin Topaloğlu ve Bahattin Bayburanın kitapları. Bence Nurettin Topaloğlu'nun kitabı daha iyi. Kitap alırken x86 işlemciler için olmasına dikkat et.

:) ewet aynisi birazda ugrasiyim

eline sağlık hoca çok faydalı bi dküman olmuş TBT'ye Mescit istiyoruz.

//Son zamanlarda site içinden ve dışında yazılarıma ilginin arttıdığını grünce yazılarıma devam ediyorum. Ollydbg ile ilgili bazı arkadaşlara dküman szüm var. Bundan sonra bir aksilik olmazsa ilk işim onu hazırlamak olacak. Ertelememin sebebi Ollydbg hakkında verilebilecek çok fazla bilginin olması ve belkide yazacağım en geniş dküman olacağını tahmin etmemdir. Bu yazımla ilgili yada Reverse Engineeringle ilgili başka sorularınız varsa yazınız. Saygılarımla.. // Merhaba arkadaşlar. Bu yazımda P-Code ile derlenmiş Visual Basic uygulamaları üstünde çalışmaktan bahsedeceğim. Visual Basic'de bilindiği üzere iki çeşit derleme tipi var. Native ve P-Code. Native bildik düz derleme biçimi. Native olarak derlenmiş programlarıdebuggerımız disassembler eder ve üzerinde sorunsuzca çalışabiliriz. Fakat P-Code ile derlenmiş bir uygulamayı Ollydbg ile açtığımızda bir miktar asmkodu ve geniş veri alanları grürüz. P-Code programlama dilleriyle alakasız, kısaltma amacıyla konulan ve çalışma zamanında yorumlayıcı tarafından yorumlanan ara koddur. Avantajı programın boyutunun küçülmesini sağlaması. Fakat native'e gre performans düşüyor. Sebebi ara dilden çevrilirken vakit kaybedilmesi. Asıl konumuza gelirsek. P-Code derlenmiş bir uygulamada Ollydbg işimizi grmüyor. Bu sebeple VB P-Code uygulamalarına zel bir debugger olan Wktvbdebugger kullanmamız gerek. GerekenlerWktvbdebuggerVB Decompiler Lite/Pro Flexhex veya herhangi bir hex editrrnek programıda buradan indirebilirsiniz. ncelikle rnek programımıza nbakış atarsak; Şifreye gre diğer forma geçmemizi sağlayan basit bir uygulama. Şifreyi yanlış girincede "Yanlış şifre!" mesajpenceresi çıkıyor. Not: Programın olduğu klasrde debugger için MSVBVM60. DLL bulunması gerekiyor. Programımızı debugger ile açmadan nce VB decompiler lite ile bir gzatalım ve bize gereken yerin/yerlerin adreslerini alalım. Butona tıklanınca gerçekleşen olayı seçtiğimizde resimde grdüğünüz üzere bir sürü garip kod bizi karşılayacak. Bunlar kısaltma amacıyla konulmuş ve hepsininbirer karşılığı var. rneğin BranchF ile koşula gre belirli adrese zıplanıyor. Şifre yanlışsa zıplanarak program akışına devam ediliyor. Şimdi command1_click'in en başındaki P-Code'un adresini not edelim. Bu adrese debuggerda breakpoint koyacağız ve orayı analiz edeceğiz. Adresi not ettiysekVB Decompiler'ı kapatalım ve debuggerı açalım. Programı seçelim ve üstteki menüden run'a basarak çalıştıralım. Debuggerda kodların gzükeceği siyah ekranda sağ tıklayıp show bpx list'i seçin ve çıkan pencerede not aldığınız adresi yazıp add butonuna basarak ekleyin. Artıkbutona tıkladığımızda program akışı orada duraklayacak ve orayı adım adım ilerleyerek analiz etmiş olacağız. KısayoluOllydbg'dakiyle aynı (F8) Breakpoint'ikoyduysak kafamızdan şifre sallayıp butona basalım ve olaya girelim. Butona tıkladıktan sonra program akışı breakpoint koyduğumuz noktada duraklayacak ve karşımıza grdüğünüz küçük ekranda kodlar gelmiş olacak. Dilerseniz memory dump butonuna basıp bulunduğunuz adresi girip oradaki kodların assembly karşılıklarınıda grebilirsiniz. Hatta dump edebilir yada text olarakta kaydedebilirsiniz. Şimdi F8 ile ilerleyip programı analiz edelim. İlerlerken stack ekranındaki değişiklikler gze çarpacak, burası bizim için nemli. String işlemleri grdüğünüz üzere gz nünde ve şifreyide burada grmüş oluyoruz. Fakat bu her zaman bu kadar kolay olmayabilir. Orada grdüğünüz p-codelar hakkında daha fazla bilgi sahibi olmanız gerekebilir veya assembly'e çevrilmiş şekillerinide memory viewer'dan inceleyebilirsiniz. Şifreyi girin ve diğer forma geçin. Şimdi diğer olaya geçelim. Diyelimki şifreyi bulmak yerine programı patchleme yoluna gittik. Yapacağımız şifrenin doğru olup olmadığına gre zıplayan zıplama komutunda değişiklik yapmak. ncelikle debuggerda zıplama noktasının adresini alıyoruz. Debuggerda 41028F olarak geçecek. Bu RVA cinsinden değeridir.400000 imagebase değeri ekleniyor. Hex editrümüzde ise 0'dan başlıyor.41028F'den 400000 çıkartarak 1028F olan adresimizi bulup oraya konumlanacağız yada dilerseniz. O blgenin hexadecimal değerlerini not edip hex editrünüzde aratıp orayada ulaşabilirsiniz. Hex editrümüzde adresimize konumlanıyoruz ve 1C E7 00'ın olduğu blüme geliyoruz. E7 BranchF'in opcodu, 1C ise ne kadar ilerleyeceğini belirleyen hexadecimal değer. Hatırlarsanız şifre yanlışsa zıplıyordu. Bizim yapacağımız 1Cyi 04 ile değiştirip bir sonraki komuta zıplaması ve program akışına devam etmesi.04 yapmamızın sebebi kendisinin 3 byte yer kaplaması ve 4. de zaten diğer komutun başlangıcı oluyor. Bu şekilde kaydedersek şifre ne olursa olsun butona basınca diğer forma geçecek. Bu konu hakkında anlatacaklarım bu kadar. Bu yazı, ekran grüntüleri, rnek program tamamen -anonimleştirildi- tarafından hazırlanmıştır. Umarım kopyalayanlar emeğe saygı duyarlar . Saygılarımla..-anonimleştirildi-

helal olsun hoca valla bravo...