tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
Wasm Decompilation ve Wat Compilation Rehberi
WebAssembly alanında, decompile ve compile için araçlar geliştiriciler için gereklidir. Bu rehber, Wasm (WebAssembly binary) ve Wat (WebAssembly text) dosyalarını işlemek için bazı çevrimiçi kaynaklar ve yazılımlar tanıtmaktadır.
Çevrimiçi Araçlar
- Wasm'ı Wat'a decompile etmek için Wabt'nin wasm2wat demo aracı kullanışlıdır.
- Wat'ı tekrar Wasm'a compile etmek için Wabt'nin wat2wasm demo amaca hizmet eder.
- Başka bir decompilation seçeneği web-wasmdec adresinde bulunabilir.
Yazılım Çözümleri
- Daha sağlam bir çözüm için, PNF Software tarafından JEB geniş özellikler sunmaktadır.
- Açık kaynak projesi wasmdec de decompilation görevleri için mevcuttur.
.Net Decompilation Kaynakları
.Net bileşenlerini decompile etmek için şu araçlar kullanılabilir:
- ILSpy, ayrıca Visual Studio Code için bir eklenti sunarak çapraz platform kullanımına olanak tanır.
- Decompilation, modification ve recompilation ile ilgili görevler için dnSpy şiddetle tavsiye edilir. Bir metoda sağ tıklamak ve Modify Method seçeneğini seçmek, kod değişikliklerine olanak tanır.
- JetBrains'in dotPeek .Net bileşenlerini decompile etmek için başka bir alternatiftir.
DNSpy ile Hata Ayıklama ve Günlükleme Geliştirme
DNSpy Günlükleme
DNSpy kullanarak bir dosyaya bilgi kaydetmek için aşağıdaki .Net kod parçasını ekleyin:
%%%cpp using System.IO; path = "C:\inetpub\temp\MyTest2.txt"; File.AppendAllText(path, "Password: " + password + "\n"); %%%
DNSpy Hata Ayıklama
DNSpy ile etkili bir hata ayıklama için, hata ayıklamayı engelleyebilecek optimizasyonların devre dışı bırakıldığından emin olmak için Assembly attributes ayarlarını ayarlamak üzere bir dizi adım önerilmektedir. Bu süreç, DebuggableAttribute
ayarlarını değiştirmeyi, bileşeni yeniden derlemeyi ve değişiklikleri kaydetmeyi içerir.
Ayrıca, IIS tarafından çalıştırılan bir .Net uygulamasını hata ayıklamak için iisreset /noforce
komutu IIS'i yeniden başlatır. DNSpy'ı hata ayıklama için IIS sürecine eklemek için, rehber w3wp.exe sürecini DNSpy içinde seçmeyi ve hata ayıklama oturumunu başlatmayı önerir.
Hata ayıklama sırasında yüklü modüllerin kapsamlı bir görünümü için, DNSpy'deki Modules penceresine erişmek ve ardından tüm modülleri açmak ve bileşenleri daha kolay gezinme ve hata ayıklama için sıralamak önerilir.
Bu rehber, WebAssembly ve .Net decompilation'ın özünü kapsar ve geliştiricilerin bu görevleri kolayca yönetmeleri için bir yol sunar.
Java Decompiler
Java bytecode'u decompile etmek için bu araçlar oldukça yardımcı olabilir:
DLL'leri Hata Ayıklama
IDA Kullanarak
- Rundll32, 64-bit ve 32-bit sürümleri için belirli yollar üzerinden yüklenir.
- Windbg, kütüphane yükleme/boşaltma sırasında askıya alma seçeneği etkinleştirilmiş debugger olarak seçilir.
- Çalıştırma parametreleri DLL yolu ve fonksiyon adını içerir. Bu yapılandırma, her DLL'nin yüklenmesi sırasında yürütmeyi durdurur.
x64dbg/x32dbg Kullanarak
- IDA'ya benzer şekilde, rundll32 komut satırı değişiklikleri ile DLL ve fonksiyonu belirtmek için yüklenir.
- DLL girişinde kırılma noktası ayarlamak için ayarlar, DLL girişinde kırılma noktası ayarlamak üzere ayarlanır.
Görseller
- Yürütme durdurma noktaları ve yapılandırmalar ekran görüntüleri ile gösterilmektedir.
ARM & MIPS
- Emülasyon için, arm_now yararlı bir kaynaktır.
Shellcodes
Hata Ayıklama Teknikleri
- Blobrunner ve jmp2it, shellcode'ları bellekte tahsis etmek ve Ida veya x64dbg ile hata ayıklamak için araçlardır.
- Blobrunner sürümleri
- jmp2it derlenmiş versiyon
- Cutter, GUI tabanlı shellcode emülasyonu ve incelemesi sunarak, shellcode'un bir dosya olarak işlenmesi ile doğrudan shellcode işlenmesi arasındaki farkları vurgular.
Deobfuscation ve Analiz
-
scdbg, shellcode fonksiyonları ve deobfuscation yetenekleri hakkında bilgiler sunar. %%%bash scdbg.exe -f shellcode # Temel bilgi scdbg.exe -f shellcode -r # Analiz raporu scdbg.exe -f shellcode -i -r # Etkileşimli kancalar scdbg.exe -f shellcode -d # Çözülmüş shellcode'u dök scdbg.exe -f shellcode /findsc # Başlangıç ofsetini bul scdbg.exe -f shellcode /foff 0x0000004D # Ofsetten çalıştır %%%
-
Shellcode'u ayrıştırmak için CyberChef: CyberChef tarifi
Movfuscator
- Tüm talimatları
mov
ile değiştiren bir obfuscator. - Yararlı kaynaklar arasında bir YouTube açıklaması ve PDF slaytlar bulunmaktadır.
- demovfuscator, movfuscator'ın obfuscation'ını tersine çevirebilir,
libcapstone-dev
velibz3-dev
gibi bağımlılıklar gerektirir ve keystone yüklenmelidir.
Delphi
- Delphi ikili dosyaları için, IDR önerilmektedir.
Kurslar
- https://github.com/0xZ0F/Z0FCourse_ReverseEngineering
- https://github.com/malrev/ABD (Binary deobfuscation)
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.