İPUCU

Zararlı Yazılım Analizi Zararlı Yazılım Analizi , CrackMe gibi uygulamaların paylaşıldığı bölüm.

Seçenekler

CrackMeC++ Patch İşlemi //Phemis | Tersine Mühendislik #2

29-03-2019 23:19
#1
Phemis - ait Kullanıcı Resmi (Avatar)
Junior Hunter
Üyelik tarihi:
12/2017
Mesajlar:
2.250
Teşekkür (Etti):
873
Teşekkür (Aldı):
610
Konular:
152


Patch : Bu kavram normalde hatalı çalışan kodun düzeltilmesi demektir.
Fakat biz burada hatasız çalışan kodu istediğmiz şekilde düzenleme anlamı ile kullanacağız.



: Kullanılan Programlar :
Scanner / Detect It Easy (Die)
Debugger / x32dbg
CrackMe Orjinal Link İçin Tıklayın




Programımızı bir taratalım bakalım yolumuza taş koyan bir durum var mı ?





Hayır , C++ ile yazılmış basit bir uygulama herhangi bir koruması bulunmuyor.



Şimdi Patch işlemine girişmek için kod bilgisi gereklidir.
Kullanacağımız debugger(dnSpy'ın da debuggerı var onunla karıştırılmaması için) işlemci üzerinde çalıştığı için assembly dili hakkında temel bilgiye sahip olsak yeterlidir.







Jump Statementlerimiz bu şekilde



Hedef Programımızı x32dbg ile başlatalım.
Direkt Sürükle-Bırak yapabiliriz veya sol üstten File > Open ile de seçebilirsiniz.

Programı bir kere startladığımızda EntryPointte duracaktır. (F9)

Şimdi istediğimiz düzenleme şu şekilde olacak
Lisans sorgulama kısmındaki sorgu işlemini tam tersine çevirerek veya direkt atlatarak lisans sorgu işlemine hiç sokmayacağız ve Valid Serial ' ı verdireceğiz.



Programın lisans kısmını bulmak için bir string araması yapmamız gerekli.
Sağ Tık > Search For > All Modules > String References
Yapalım ve açılacak ekrandan hedef string'e gidelim.




İşte hedef string değerini bulduk ; "Congrats! This license is valid!"
İki kere tıklayalım




Ve bizi buraya attığını göreceksiniz.
Hemen üstüne baktığımızda 3 tane sorgu işlemi gerçekleşiyor.

JNE : Jump If Not Equal (Eşit Değilse Atla)

JBE : Jump If Below or Equal (Küçük veya Eşitse Atla)

JAE : Jump If Above or Equal (Büyük veya Eşitse Atla)

Burada Patch işlemi ile istediğimiz değere ulaşmanın iki yolu var (Bu ders için)
1) Tam Tersine Çevirme
2) Koşulsuz Atlatma


TAM TERSİNE ÇEVİRME

JNE eşit değilse atla olduğuna göre tam tersi eşitse atla olacak.
JBE küçük veya eşitse atla olduğuna göre tam tersi eşit değilse atla olacak.
JAE büyük veya eşitse atla olduğuna göre tam tersi eşit değilse atla olacak.

Şimdi gelelim bunları x32dbg üzerinde yazmaya.
Düzenlemek istediğimiz kod satırına bir kere sol tıklıyoruz ve space tuşuna basıyoruz.
JNE için düzenleme işlemi :

JBE ve JAE için düzenleme işlemi :

Son Halleri :




KOŞULSUZ ATLATMA

Koşulsuz atlatma için JMP statementini kullanacağız.
Belirlediğimiz adrese direkt atlamasını sağlayacağız.


Düzenlemek istediğimiz kod satırına sol tıklayıp space ile aynı işlemi yapacağız.
Fakat bu sefer hepsine aynı işlemi yapmamıza gerek yok.
Ve bu sefer sadece bir harf değişikliği yaparak işin içinden kurtulamıyoruz.
Atlamasını istediğimiz noktayı bulalım.




Atlamasını istediğimiz nokta = Hedef String
Hedef String' e

Sağ tık > Copy > Address
Yapalım.

Daha sonrasında ilk sorgu ifademize gelelim.
Space ' e basalım ve kodları şu şekilde düzenleyelim.




JMP 0XADRES

Şimdi bunları yaptıktan sonra son olarak kaydetmemiz lazım.








Şimdi programımızı açıp rastgele değer verelim.




Mutlu Son



30-03-2019 10:11
#2
Phemis - ait Kullanıcı Resmi (Avatar)
Junior Hunter
Üyelik tarihi:
12/2017
Mesajlar:
2.250
Teşekkür (Etti):
873
Teşekkür (Aldı):
610
Konular:
152
Gece geç saatte paylaştığım için görülmemiş olabilir o yüzden güncel+++
30-03-2019 11:32
#3
DarkHawk06 - ait Kullanıcı Resmi (Avatar)
E-Mail onayı yapılmamış üye
Üyelik tarihi:
02/2016
Nereden:
Pandora
Mesajlar:
867
Teşekkür (Etti):
498
Teşekkür (Aldı):
211
Konular:
52
Hocam, çok güzel bir konu olmuş. Hafta sonu kahvaltı eşliğinde okudum.
Phemis Teşekkür etti.
30-03-2019 11:42
#4
zztri - ait Kullanıcı Resmi (Avatar)
Geliştirici
Üyelik tarihi:
07/2015
Nereden:
Ankara
Mesajlar:
9.356
Teşekkür (Etti):
1766
Teşekkür (Aldı):
3959
Konular:
68
Benim zamanımda - yaşlıyım biliyorsunuz, bahsettiğim zamanlar İstanbul'un fethinin birazcık sonraları filan - black ice vardı. En son bir şeyi cracklemek için black ice'ı win10'da çalıştıramadım bile. Fazla önemli olmadığından sallamayıp bırakıvermiştim, program araştırmaya üşenmiştim. Şimdi tekrar denerim.
Kullanıcı İmzası
Gayrıresmi Trolleme Kulübü Kurucu Üyesi...

Sii Şarp: 430%
Site yapmah: 386%
Piieyçpii: 396.8%
Cava: 205%
Andıroyid: 37.9²%
Nodjiies: 196%
Sii artı artı: 342.333333334%
Yuniti: 154%
Paytın 304%
Bat dosyasıyla hedef çökertme: 96i+382√17%
Konu Tegin tarafından (13-04-2019 18:19 Saat 18:19 ) değiştirilmiştir.
Phemis, M3m0ry Teşekkür etti.
30-03-2019 11:48
#5
tikkynee - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
06/2012
Mesajlar:
273
Teşekkür (Etti):
115
Teşekkür (Aldı):
26
Konular:
30
Genelde her program bu mantıkla çalışıyor fakat bu mantık ile tersine mühendislik yapabilir miyiz ?
Kullanıcı İmzası
Her Türlü Port Açılır. ÖM 'den ulaşınız...
Konu Tegin tarafından (13-04-2019 18:19 Saat 18:19 ) değiştirilmiştir.
Phemis Teşekkür etti.
30-03-2019 12:20
#6
Phemis - ait Kullanıcı Resmi (Avatar)
Junior Hunter
Üyelik tarihi:
12/2017
Mesajlar:
2.250
Teşekkür (Etti):
873
Teşekkür (Aldı):
610
Konular:
152
Alıntı:
tikkynee´isimli üyeden Alıntı Mesajı göster
elinize sağlık hocam , peki genelde her program bu mantıkla çalışıyor fakat bu mantık ile tersine mühendislik yapabilir miyiz ?
Tersine mühendislikten kastınızı tam anlayamadım ? @tikkynee
30-03-2019 13:56
#7
tikkynee - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
06/2012
Mesajlar:
273
Teşekkür (Etti):
115
Teşekkür (Aldı):
26
Konular:
30
Alıntı:
Phemis´isimli üyeden Alıntı Mesajı göster
Tersine mühendislikten kastınızı tam anlayamadım ? @tikkynee
tersine mühendislik yaparak key girmeden girmiş gibi olmadık mı ? ben yanlış mı anladım yoksa @Phemis
Kullanıcı İmzası
Her Türlü Port Açılır. ÖM 'den ulaşınız...
30-03-2019 14:18
#8
Phemis - ait Kullanıcı Resmi (Avatar)
Junior Hunter
Üyelik tarihi:
12/2017
Mesajlar:
2.250
Teşekkür (Etti):
873
Teşekkür (Aldı):
610
Konular:
152
Alıntı:
tikkynee´isimli üyeden Alıntı Mesajı göster
tersine mühendislik yaparak key girmeden girmiş gibi olmadık mı ? ben yanlış mı anladım yoksa @Phemis

Evet , patch işlemi reverse engineeringe giriyor.
30-03-2019 14:34
#9
Javabex - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
10/2018
Mesajlar:
223
Teşekkür (Etti):
150
Teşekkür (Aldı):
28
Konular:
12
bununla yazıları değişmesi , patch yapması aşırı zevkli geliyor x32dbg seviyorum tşkkrler
Kullanıcı İmzası
C++/C#
Phemis Teşekkür etti.
27-04-2019 19:24
#10
mamo434376 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2019
Mesajlar:
160
Teşekkür (Etti):
45
Teşekkür (Aldı):
3
Konular:
30
Kral kodları görmedikden sonra ne işe yarar. Sadece UnpackME, CrackME'de işe yarar bide lisans istiyen
diger PE uygulamalarda.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı