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

21 Ocak 2021 Perşembe

AutoPlay Media Studio dosyaları için statik açıcı

 tl; dr version - bir şeyleri kaldırır. Buradan indirin . Sülük ve yeniden yükleme özgürlüğüne düştü. Hataları buradan bildirin.

AutoPlay Media Studio için Unpacker

Giriş

Her şey, BlackStorm forumlarında, kimlerin Reverzor'a bir bağlantı gönderdiği bir konuyla başladı - her şeyi çözen ilk bulut tabanlı yazılım! .

Vay canına, her şeyi yapan sihirli bir araç! Gerçek olamayacak kadar iyi geliyor ..gülümsemek Çok geçmeden, li0n çalıştırılabilir deneme sürümüne bir bağlantı gönderdi ve ben de araştırmaya başladım. AutoPlay Media Studio'da yazıldığını ve bunun için çalışan bir paket açıcı olmadığını çabucak anladım.

Bunu düzeltmeli ve süreçte biraz eğlenmeliyim!

Mevcut araçlar ve araştırma

İlk olarak, Xiaopang'ın harika bir blog yazısını buldum - tüm kalbimle okumanızı tavsiye ederim.

Ve sonra mohsen tarafından bir AmsDec.exe var . Ne yazık ki, sadece bazı dosyalar için çalışıyor (sözde - v8.1, v8.2) ve Farsça tuhaf mesajlar gösteriyor. Ve bu sadece ayıklar, gerçekten bir decompiler değil _proj.dat dosyayı CDD dosyası. Ve tabii ki Reverzor için işe yaramadı.
amsdec

AutoPlay Media Studio nasıl çalışır?

Öyleyse, hepsini düzgün bir şekilde açmak için ne yapmamız gerektiğini görelim. AutoPlay Media Studio'nun yazarlarının değişiklik günlüğünde yazdığı gibi :

Hepimizin bildiği gibi, yeterince kararlı olan herhangi biri, yeterli zaman ve kaynak verildiğinde herhangi bir koruma sistemini kırabilir, ancak dönen kodların kullanımı genel saldırıları etkisiz hale getirir. Artık biraz daha rahat uyuyabilirsiniz!

Doğru ... Rastgele oluşturulmuş şifrelerle korunan ZIP dosyaları kullanıyorlar ve belli ki genel saldırıların nasıl çalıştığına dair hiçbir fikirleri yok ..

Unpacker'ın EXE dosyasını analiz etmesi, doğru şifre oluşturması ve dosyaları açması gerekir. Bir cdd dosyası varsa, onu da açın. Ve bu kadar basit olduğu için, AutoPlay Media Studio'yu sıfırdan statik bir paket açıcının nasıl yazılacağını açıklayan ayrı bir blog yazısı için hedef olarak kullanacağım.gülümsemek

AutoPlay Media Studio tarafından oluşturulan dosyaları nasıl dağıtabileceğiniz birkaç seçenek olduğundan, işte hızlı bir başvuru:

  1. tek bir application.exe dosyanız var ;
  2. Bu tür dosyalar, AutoPlay Media Studio'daki "Yayınla -> Web / E-posta yürütülebilir" özelliği kullanılarak oluşturulabilir. Örnek dosya CardRecovery v
    6.10 Build 1210 AIO Installer -nelly-.exe olacaktır

    Exe dosyasını unpacker'a bırakın, her şeyi otomatik olarak açacaktır. Ardından, ayıklanan veri dosyaları için uygun klasörü ve yükleme komut dosyası için _proj.dat dosyasını kontrol edin.

  3. AutoPlay alt klasöründe application.exe ve application.cdd içeren bir klasörünüz var ;
  4. Bu dosyalar, AutoPlay Media Studio'da "Yayınla -> Sabit sürücü klasörü" kullanılarak oluşturulur. Örnek bir dosya, örneğin, Photoshop yükleyicisi olduğunu iddia eden Rus yazılımı (kötü amaçlı yazılım?) Olabilir .

    Veri dosyaları AutoPlay klasöründe ve alt klasörlerde açık olduğundan, paketten çıkarılacak çok şey yoktur. Exe dosyasını unpacker'a bırakın, cdd dosyasını otomatik olarak bulacak ve _proj.dat dahil her şeyi açacaktır .

  5. aynı klasörde application.exe ve application.cdd dosyalarınız var ;
  6. Bu, AutoPlay Media Studio'da "Kaynak dosyalarını yeniden adlandır" özelliği etkinleştirildiğinde gerçekleşir. Ürüne sahte güvenlik ekleyen özelliklerden biridir:

    Bu seçenek, yayınlama sırasında kaynak dosyalarınızın dosya adlarını gizlemek için tasarlanmıştır.

    Bu bir Kullanıcılar Sniffer vakasıdır . Önceki duruma benzer şekilde, paketten çıkarılacak pek bir şey yok. Exe dosyasını unpacker'a bırakın, cdd dosyasını otomatik olarak bulacak ve _proj.dat dahil her şeyi açacaktır .

Gelişmiş kullanım durumları

Ancak bazen işler o kadar kolay değildir. Dolayısıyla, değiştirilmiş AutoPlay Studio ile nasıl başa çıkılacağıyla ilgili birkaç olası senaryo:

  1. application.exe paketlenmiş ve application.cdd dosyası mevcut.
  2. Bu Xiaopang'ın blogda bahsettiği resmi bir AMS stüdyo mücadelesi vakası. İyi haber - korumalarını kırmak için bir paket açma sihirbazı olmanıza ve PCGuard'ı düzgün bir şekilde açmanıza gerek yok. EXE'i VMWare'de çalıştırmak, işlem belleğini boşaltmak ve dumped exe'yi aracıma bırakmak yeterli. PE başlığı ve bölüm tablosu doğru olduğu sürece iyi olmalıdır.

    Adım adım:
    1) Çalıştır ve dök: 2) Dökümü kaydederken, orijinal dosya adını koru. Aksi takdirde paket açıcım cdd dosyasını bulamayacaktır : 3) Paket açıcı ile işlem dökümü:
    meydan okuma1

    meydan okuma2

    meydan okuma3

  3. application.exe paketlendi ve cdd dosyası yok .
  4. Bu Reverzor'un durumudur . Öncelikle Enigma Sanal Kutusunu açmanız gerekir - bunun için diğer paket açıcımı kullanabilirsiniz ..göz kırpmak Şimdi ikisine de sahip exe ve CDD dosyalarını ama exe dosyası hala ASPack ile doludur. Yine, ASPack'i düzgün bir şekilde açmanıza gerek yok, sadece işlem belleğini çalıştırın ve boşaltın. Sonra işlem benim açıcımla exe döküldü.

  5. application.exe saldırıya uğradı ve cdd dosyası başka bir adla yeniden adlandırıldı;
  6. Bu bir Avara vakası . Yazar, Otomatik Kullan motorunu hackledi ve cdd dosya uzantısını dll ile değiştirdi . Paket açıcımın bu tür senaryoları otomatik olarak kapsamasının bir yolu yok, üzgünüm. Sadece adlandırmak idler.dll için idler.cdd ve bırak idler.exe unpacker üzerinde.
    avare

Sonuç

Bu benim için küçük bir hafta sonu projesiydi. Bazı maceralarda da size yardımcı oluyorsa, mutluyum. Sana hiç yardımcı olmazsa, umurumda değil.gülümsemek

Paket açıcıyı şu adresten indirin: https://www.mediafire.com/?cyb4kagdwey0j1b


Not - .NET 3.5'e karşı derlenen teknik nedenlerden dolayı, yalnızca .NET 4.0 yüklü bir bilgisayarda çalıştırmak istiyorsanız , aşağıdaki satırlarla amsunpacker.exe.config oluşturun :


<?xml version="1.0"?>
<configuration>
 <startup>
  <supportedRuntime version="v4.0"/>
 </startup>
</configuration>


Ve sıfırdan böyle bir paket açıcının nasıl yazılacağını açıklayacağım yaklaşan gönderi için bizi izlemeye devam edin!

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ü)

9 Mayıs 2020 Cumartesi

.NET Reversing Paper 1

// CrackMe1.Form1
// Token: 0x06000004 RID: 4 RVA: 0x00002214 File Offset: 0x00001214
private void textBox1_TextChanged(object sender, EventArgs e)
{
this.textBox2.Text = "Unregistered";
if (this.textBox1.Text == "the3l1t3")
{
this.textBox2.Text = "Registered!";
}
}

the3l1t3


// CrackMe2.Form1
// Token: 0x06000005 RID: 5 RVA: 0x000020A0 File Offset: 0x000010A0
private void textBox1_TextChanged(object sender, EventArgs e)
{
int num = 60;
this.textBox2.Text = "Unregistered";
if (this.textBox1.Text == num.ToString() + "1337")
{
this.textBox2.Text = "Registered!";
}

601337

// CrackMe3.Form1
// Token: 0x06000005 RID: 5 RVA: 0x000020A0 File Offset: 0x000010A0
private void Form1_Load(object sender, EventArgs e)
{
int num = 0;
this.textBox1.Text = "Unregistered";
if (num == 1)
{
this.textBox1.Text = "Registered!";
}
}

1