Dnspy etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Dnspy etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

18 Ocak 2021 Pazartesi

dnSpy

 

dnSpy - Son sürüm

dnSpy bir hata ayıklayıcı ve .NET derleme düzenleyicisidir. Herhangi bir kaynak kodunuz olmasa bile derlemeleri düzenlemek ve hata ayıklamak için kullanabilirsiniz. Ana Özellikler:

  • .NET ve Unity derlemelerinde hata ayıklama
  • .NET ve Unity derlemelerini düzenleyin
  • Açık ve koyu temalar

Daha fazla özellik için aşağıya bakın

hata ayıklama animasyonlu

düzenleme kodu animasyonlu

İkili dosyalar

https://github.com/dnSpy/dnSpy/releases

Bina

git  clone  --recursive  https: //github.com /dnSpy/dnSpy.git 
cd  dnSpy 
#  veya  dotnet  inşa 
. /build.ps1  -NoMsbuild

Unity oyunlarında hata ayıklamak için bu depoya da ihtiyacınız var: https://github.com/dnSpy/dnSpy-Unity-mono (veya https://github.com/dnSpy/dnSpy/releases/unity adresinden ikili dosyaları alın )

Hata ayıklayıcı

  • .NET Framework, .NET ve Unity oyun derlemelerinde hata ayıklama, kaynak kodu gerekmez
  • Kesme noktaları ayarlayın ve herhangi bir derlemeye adım atın
  • Yerliler, izle, otomatik pencereler
  • Değişkenler pencereleri, değişkenleri (örneğin şifresi çözülmüş bayt dizileri) diske kaydetmeyi veya onları onaltılık düzenleyicide (bellek penceresi) görüntülemeyi destekler
  • Nesne kimlikleri
  • Aynı anda birden fazla işlemde hata ayıklanabilir
  • Modül yükünde kırılma
  • İzleme noktaları ve koşullu kesme noktaları
  • Kesme noktalarını ve izleme noktalarını dışa / içe aktarın
  • Çağrı yığını, iş parçacıkları, modüller, işlemler pencereleri
  • Atılan istisnalarda kırılma (1. şans)
  • Değişkenler pencereleri, C # / Visual Basic ifadelerinin değerlendirilmesini destekler
  • Dinamik modüllerde hata ayıklanabilir (ancak CLR sınırlamaları nedeniyle dinamik yöntemler olamaz)
  • Çıktı penceresi, çeşitli hata ayıklama olaylarını günlüğe kaydeder ve varsayılan olarak zaman damgalarını gösterir :)
  • Çalışma zamanında kendi şifresini çözen montajların hataları ayıklanabilir, dnSpy bellek içi görüntüyü kullanır. Ayrıca, dnSpy'ı disk dosyaları yerine her zaman bellek içi görüntüleri kullanmaya zorlayabilirsiniz.
  • Genel API, hata ayıklayıcıyı kontrol etmek için bir uzantı yazabilir veya C # Etkileşimli penceresini kullanabilirsiniz.

Montaj Düzenleyicisi

  • Tüm meta veriler düzenlenebilir
  • IntelliSense ile C # veya Visual Basic'te yöntemleri ve sınıfları düzenleyin, kaynak kodu gerekmez
  • C # veya Visual Basic'te yeni yöntemler, sınıflar veya üyeler ekleyin
  • Düşük seviyeli IL yöntemi gövde düzenleme için IL editörü
  • Düşük seviyeli meta veri tabloları düzenlenebilir. Bu, dahili olarak hex düzenleyiciyi kullanır.

Hex Düzenleyici

  • Onaltılık düzenleyicide IL koduna gitmek için derlenmiş koddaki bir adrese tıklayın
  • Yukarıdakinin tersi, derlenmiş koda veya bitlerin diğer yüksek seviyeli gösterimine gitmek için hex düzenleyicideki bir IL gövdesinde F12'ye basın. Bir yamanın hangi ifadeyi değiştirdiğini bulmak harika.
  • .NET meta veri yapılarını ve PE yapılarını vurgular
  • Araç ipuçları, seçili .NET meta verileri / PE alanı hakkında daha fazla bilgi gösterir
  • Pozisyona git, dosyaya, RVA
  • .NET meta veri belirtecine, yöntem gövdesine, #Blob / #Strings / #US yığın uzaklığına veya #GUID yığın dizinine gidin
  • Referansları takip et (Ctrl + F12)

Diğer

  • BAML çözücü
  • Mavi, açık ve koyu temalar (ve koyu yüksek kontrastlı tema)
  • Yer imleri
  • C # Etkileşimli pencere dnSpy'ı komut dosyası oluşturmak için kullanılabilir
  • Sınıflar, yöntemler, dizeler vb. İçin derlemeleri ara
  • Sınıf ve yöntem kullanımını analiz edin, arayanları bulun vb.
  • Birden çok sekme ve sekme grubu
  • Referanslar vurgulanır, sonraki referansa geçmek için Tab / Shift + Tab tuşlarını kullanın
  • Giriş noktasına ve modül başlatıcı komutlarına gidin
  • Meta veri belirtecine veya meta veri satırı komutlarına git
  • Kod ipuçları (C # ve Visual Basic)
  • Projeye aktar

DnSpy tarafından kullanılan diğer açık kaynak kitaplıkların listesi

  • ILSpy derleyici motoru (C # ve Visual Basic çözücüler )
  • Roslyn (C # ve Visual Basic derleyicileri)
  • dnlib (gizlenmiş derlemeleri de okuyabilen .NET meta veri okuyucusu / yazıcısı)
  • VS MEF (Daha hızlı MEF, daha hızlı başlatmaya eşittir)
  • ClrMD (CorDebug API tarafından sağlanmayan daha düşük seviyeli hata ayıklama bilgilerine erişim)
  • Iced (x86 / x64 sökücü)

20 Ekim 2020 Salı

Olly Notlar

Olly hata mesajı başındaki 55 push başlıyoruz

f7 call ile içine gireriz



Ollydbg script dump eder bizde ana programı Import REC ile yeni bulunan 

OEP ile IAT AutoSerach----- Get Import  -----  FixDump edilir ve dump edilmiş exenin üzerine kayıt edilir



Program debug edilir hata mesajına kadar gelinir ve hata mesajında debugger pause edilir. Hata mesajı stringlerde aratılır


Sonra çift tık F8 yani tek tek trace edilir F7 Call ların içine girilir ve F8 ile devam edilir



Çoklu lisans seçeneklerinde lisans stirnglerinden yukarı doğru kodları tradığımızda JE ve JMP komutlarını NOP layarak burayı aşabiliriz



Dump edilen progeam çalışmaz ise aynı dump eden programın Rebuild özelliği kullanılır


Karşılaştırma yapılan varsayılan CALL presödörünü içine girip 55 ile başlayan kodları aşağıdaki kodlar ile değiştiriyoruz

XOR EAX, EAX

MOV AL, 1

RET

Sonra 

Copy to executable --- All Modicifiations---- copy all-----save file



MOVSX EAX, BYTE PTR DS:[EDI+3]  =   İsmin 4 karakterini alıyor

MOVSX EDX, BYTE PTR DS:[EDI+1]  =   İsmin 2 karakterini alıyor

ADD EAX, EDX                                           İKİSİNİ TOPLUYOR 

MOVSX EDX, BYTE PTR DS:[EDI]            İSMİN İLK KARAKTERİ ALINIYOR

ADD EAX, EDX                                             ONUDA TOPLANIYOR

SHL EDX, 5                   SOLA YER DEĞİŞTİR EDX DEĞER YER DEĞİŞTİRİYOR

ADD EDX, AEAX           EDX İLE EDX TOPLA

SHL EDX, 2         YİNE EDX TEKİ DEĞER YER DEĞİŞTİRDİ SOLA DOĞRU

CMP EDX, ECX  ECX İLR EDX KARŞILAŞTIR


JNZ  JE KARŞIĞI

JNZ  JMP KARŞIĞI















ConfuserEX Mod (Bed's Protector)