Soru:
Bir sökücünün ne kadar iyi performans gösterdiğini test etmek için herhangi bir açık kaynak test paketi var mı?
WilliamKF
2013-03-20 20:56:58 UTC
view on stackexchange narkive permalink

Tersine mühendislikteki anahtar araçlardan biri iyi bir sökücüdür, bu nedenle bir sökücünün düzgün çalıştığından emin olmak için, bir sökücünün doğruluğunu test etmek için kullanılabilecek iyi test paketleri var mı? Bu mimari özel mi yoksa birden çok nesne mimarisinde çalışacak şekilde yapılandırılabilir mi? İyi bir test, daha belirsiz mimari talimatlarını ve hatalı biçimlendirilmiş taşınabilir yürütme dosyalarını kontrol etmeyi içermelidir.

İşte gördüğüm özellikle i86 için bir tane. Mimariler arasında modüler olan var mı?

"Bir demonte edicinin doğruluğu" dediğinizde, bir talimat kod çözücünün doğruluğunu mu kastediyorsunuz, yoksa doğru kontrol akış grafiği kurtarmasını ve diğer yüksek seviyeli anlamsal bilgileri mi kastediyorsunuz?
Peki, daha ilginç soru hangisi? Sanırım daha sonra, doğru akış grafiği kurtarması ...
Beş yanıtlar:
#1
+13
QAZ
2013-03-20 21:31:39 UTC
view on stackexchange narkive permalink

Roberto Paleari, Lorenzo Martignoni, Giampaolo Fresi Roglia ve Danilo Bruschi tarafından yazılan " N-version Disassembly: Differential Testing of x86 Disassemblers" (PDF) adlı bir makale var. resmi bir moda.

Makalelerin özetini alıntılamak için:

Bir sökücünün çıktısı birçok farklı amaç için kullanılır (örneğin, hata ayıklama ve tersine mühendislik). Bu nedenle, sökücüler, herhangi bir yüksek düzey makine kodu analizinin dayandığı uzun bir aşamalar zincirinin ilk halkasını temsil eder. Bu yazıda, birçok sökücünün belirli talimatları çözmekte başarısız olduğunu ve dolayısıyla zincirin ilk halkasının çok zayıf olduğunu gösteriyoruz. Ayrıştırıcıların doğruluğunu diferansiyel analize dayalı olarak doğrulamak için N sürümü sökme adı verilen bir metodoloji sunuyoruz

Sorunuzun biraz konu dışı olup olmadığından emin değilsiniz ancak ilginizi çekebilir sen.

İlginç kağıt! Tamamen şaşırtıcı bir sonuç değil. Godefroid ve Taly, komut sentezini otomatikleştirdikleri ve manuel olarak belirledikleri anlambilimlerinde hataları keşfettikleri bir MSR TR'ye (http://research.microsoft.com/apps/pubs/default.aspx?id=156020) sahiptir.
#2
+8
Andrew
2013-03-20 21:37:43 UTC
view on stackexchange narkive permalink

Okuduğum birçok makalede, kod çözme aracı yazarları, kod çözücülerinin etkinliğini ölçmek için SPEC karşılaştırmalarını kullanıyor. Bu, komut kod çözme işleminden akış geri kazanımını kontrol etmeye kadar sistemin ne kadar iyi çalıştığına dair bütünsel bir görünüm sağlar. Ancak bu ölçütler ücretsiz veya açık kaynak değildir.

GCC ve clang derleyicileri aynı zamanda test için kriterler ile birlikte gelir. Bunlar araştırılmaya değer olabilir.

Ayrıca, Regehr'in csmith projesi derleyici testi / fuzzing için rastgele C programları oluşturabilir. Bu, ayrıştırıcıları ve ikili analiz sistemlerini test etmek için yararlı olabilir mi?

FWIW Hex-Rays decompiler'ı test etmek için cmith kullanıyoruz ve bu yardımcı oluyor.
#3
+6
Ed McMan
2013-03-21 06:35:05 UTC
view on stackexchange narkive permalink

Bağlandığınız gaz test çantası paketi yalnızca i386 için değil. Ana dizin x86-64, arm, alpha ve diğer birçok mimari için test senaryoları içerir.

#4
+5
Ange
2013-03-22 13:12:42 UTC
view on stackexchange narkive permalink

Tüm x86 işlem kodlarını (o sırada) ve birçok kodlama formunu içeren bir dosya oluşturdum ve bu, birçok sökücüde (IDA, Hiew, BeaEngine, OllyDbg, XED, hte ...), özellikle daha az bilinen formlar ve belgelenmemiş formlar.

(biraz konu dışı olabilir - hazır bir test paketi değil)

Hepsi için böcek dosyaladın mı? Düzeltildi mi?
Ben yaptım, onlar.
#5
+2
jvoisin
2015-08-25 00:05:16 UTC
view on stackexchange narkive permalink

radare2 projesi, her bir sökme motoru için kapsamlı bir test paketi ve biçimler gibi daha spesifik testler kullanır. analiz yeteneklerine sahip olun,…



Bu Soru-Cevap, otomatik olarak İngilizce dilinden çevrilmiştir.Orijinal içerik, dağıtıldığı cc by-sa 3.0 lisansı için teşekkür ettiğimiz stackexchange'ta mevcuttur.
Loading...