Soru:
Geri dönüş odaklı programları yeniden derleme
debray
2013-06-21 07:05:31 UTC
view on stackexchange narkive permalink

Geri dönüş odaklı programlar nasıl derlenir / tersine mühendislikten geçirilir?

Herhangi bir makale veya rapora ilişkin herhangi bir ipucu takdir edilecektir.

Geri dönüş odaklı programlar hakkında zaten bildiğiniz daha fazlasını doğrudan sorunuza dahil etmenizin faydalı olacağını düşünüyorum. En azından bochs'da böyle bir programda hata ayıklayabileceğinizi hayal ediyorum ... gadget'lar üzerinden program akışını takip etmek önemsiz değil gibi görünüyor, ancak bu konuda yanılıyor olabilirim ...
Iki yanıtlar:
Rolf Rolles
2013-06-21 13:41:02 UTC
view on stackexchange narkive permalink

Dr. Gadget IDAPython komut dosyası ilginizi çekebilir (ekran görüntüleri burada, kod burada).

Bu küçük IDAPython eklentisi geri dönüş odaklı yüklerin yazılmasına ve analiz edilmesine yardımcı olur. Bir öğenin bir gadget'a işaretçi veya basit bir 'değer' olabileceği 'öğeler' adı verilen bir dizi DWORD görüntülemek için IDA'nın özel görüntüleyicilerini kullanır.

İşaretçi için teşekkürler: Dr. Gadget'ı bilmiyordum, ama kesinlikle kontrol edeceğim.
n00b
2013-06-21 13:25:15 UTC
view on stackexchange narkive permalink

Tersine mühendislik ROP normal RE'ye benzer, ancak Dinamik analiz yapmanızı öneririm ROP benim bakış açımdan ESP ile ilgilidir, bu nedenle ROP kodunun ne yaptığını anlamanın daha hızlı yolu Pivot'u bulmaktır (ESP'nin kontrolünü ele geçirmek için) veya ROP'nin başlangıcı üzerine bir kesme noktası koyun ve yığını izleyin, ardından hangi işlevlerin çağrıldığını ve ROP kodunun gerçekten ne yaptığını kolayca anlayabilirsiniz. Anahtar ROP'un Yığın olduğunu anlamak için.

Sadece buna işaret ediyorum ama bu yalnızca x86'da geçerli bir cevap. Elbette bu tür yazılımların çoğu x86'dır, ancak örneğin ARM üzerinde de ROP yapmak mümkündür.
Cevapları için herkese teşekkür ederim. Ben de dinamik analize eğilimliyim (n00b'de önerildiği gibi), ancak kesinlikle Rolf'un bahsettiği Dr. Gadget senaryosuna bakacağım.
@cb88 "ESP" ye atıfta bulunduğu için yalnızca x86'ya özgüdür.


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...