folder Tahribat.com Forumları
linefolder Assembly - Reverse Engineering
linefolder Reverse Engineering Sorularınız



Reverse Engineering Sorularınız

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    inside
    anonim6918524
    anonim6918524's avatar
    Banlanmış Üye
    Bilgi/Destek Madalyası Üstün Hizmet Madalyası
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek

    Ok daha detaylı anlatalım;

    Öncelikle string tablosunda biraz araştırma yaparsak programcısının ayıptır söylemesi salak olduğunu göreceğiz :))

    Çünkü alttaki şekilde gördüğünüz üzere stratejik bir bölgeye "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 görebilirsin.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.jpg

    Kı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 gözü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.jpg

    Daha 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 bölüm.Burada birçok zıplama noktasını nop yapacağız.Adresleri yazarsak;

    http://img523.imageshack.us/img523/6739/untitled2qn5.jpg

    004C87E9
    004C8864
    004C887B
    004C88C2
    004C8938
    004C8A3D
    004C8A70
    004C8A7A

    Buralara 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 göreceksin program akışı onların üstünden geçtikten sonra ilk aşama tamamlanıyor.Program oraya göre 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..


    λ
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MoNZa
    MoNZa's avatar
    Kayıt Tarihi: 05/Haziran/2007
    Erkek

    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 ya

    bu call a girip ilk satırdan itibaren;

    ORJ : 

    004C7DA8   55               PUSH EBP
    004C7DA9   8BEC           MOV EBP,ESP
    004C7DAB   33C9           XOR ECX,ECX

     PATCH :

    004C7DA8   33C0           XOR EAX,EAX
    004C7DAA   40               INC EAX
    004C7DAB   C3               RETN
    004C7DAC   90               NOP

    SONRADA 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 SÖYLEMİ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 gördüğünü bi türlü söylemedi ?

     

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    inside
    anonim6918524
    anonim6918524's avatar
    Banlanmış Üye
    Bilgi/Destek Madalyası Üstün Hizmet Madalyası
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek
    Ato sen registryle ilgili sordun.Bende o şekilde cevapladım.Seri numara deseydin ona bakardık.Fakat o söylediğin şekilde program register olmuyor.Sadece register oldu diye mesaj penceresi çıkıyor.Aç kapat göreceksin.Programı incelerken orayı bende görmüştüm.Program biraz komplike.Registry konusuna gelirsek ben registry konusunda sana gereken açıklamayı üstte yaptım.

    λ
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MoNZa
    MoNZa's avatar
    Kayıt Tarihi: 05/Haziran/2007
    Erkek

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

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mascoder
    mascoder's avatar
    Kayıt Tarihi: 07/Temmuz/2007
    Erkek

    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 

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    inside
    anonim6918524
    anonim6918524's avatar
    Banlanmış Üye
    Bilgi/Destek Madalyası Üstün Hizmet Madalyası
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek
    mascoder bunu yazdı:
    -----------------------------

    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 

    -----------------------------

    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.

    λ
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mascoder
    mascoder's avatar
    Kayıt Tarihi: 07/Temmuz/2007
    Erkek
    iligli yerleri sildim :) peki şimdi bu haliyle programı nasil kaydeticem debugger ile açmak için
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    inside
    anonim6918524
    anonim6918524's avatar
    Banlanmış Üye
    Bilgi/Destek Madalyası Üstün Hizmet Madalyası
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek
    Değişiklikleri hex editörüyle yapıp kaydedeceksin.Hangi opcodelar nelerle değişecekse vs.Ondan sonrada debuggerda açarsın.P-Code ile ilgili dökümanımda bundan bahsetmiştim.

    λ
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mascoder
    mascoder's avatar
    Kayıt Tarihi: 07/Temmuz/2007
    Erkek
    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
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    inside
    anonim6918524
    anonim6918524's avatar
    Banlanmış Üye
    Bilgi/Destek Madalyası Üstün Hizmet Madalyası
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek
    mascoder bunu yazdı:
    -----------------------------
    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 dökümanda debuggerın genel kullanımından bahsetmiştim.O söylediğin crackmeye bende baktım.Debugger kontrolü vs korumayla ilgili bölü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 dönecek.

    http://rapidshare.com/files/43342539/yagvbdp3.zip.html VB Decompiler pro ile daha detaylı inceleyebilir.Hex editörüne
    gerek kalmadn patch yapabilirsin.

    λ
Toplam Hit: 13538 Toplam Mesaj: 43