Soru:
Bağımsız kodu IDA Pro'da bir işlev olarak ele alma
amccormack
2013-03-27 05:13:19 UTC
view on stackexchange narkive permalink

Tersine mühendislik programlarında genellikle aşağıdaki gibi işlevler buluyorum. Bu işlev özellikle, tipik olarak takip edilmesi oldukça kolay olan iç içe geçmiş if / else bloklarına (pembe kutular) sahiptir. Ancak kod mavi kutuda yürütüldüğünde, kod dağınık hale gelir ve iki bağımsız kod yolundan (mor veya sarı) birini alabilir. Geliştirici, mor veya sarı kod blokları için bir işlev kullanmışsa (veya bir satır içi işlev kullanmamışsa), bu kodun tersine mühendislik işlemi çok daha kolay olacaktır. Bir işlev olarak, kod bloğunu yeniden adlandırabilir ve yorumlayabilirim ve genel programın okunması daha kolay hale gelir.

Bu tür bir işlevle karşılaştığımda her zamanki tekniğim, kod bloklarına renk uygulamaktır. aşağıdaki grafikte görüyorsunuz. IDA'nın rastgele bir kod blokları koleksiyonunu çağrılmayan bir işlev olarak ele almasının bir yolu var mı ve / veya satır içi kod ve bağımsız kod bloklarıyla başa çıkmak için daha iyi yaklaşımlar var mı?

Large function

Bir cevap:
#1
+10
Igor Skochinsky
2013-03-27 06:25:07 UTC
view on stackexchange narkive permalink

İhtiyacınız olan şey düğüm grupları gibi görünüyor. İlk uygulamadan (5.0) bu yana IDA'nın grafik görünümü, birkaç düğümü özel bir başlığa sahip bir "süper düğüm" halinde gruplamaya izin verdi. Gruplamak istediğiniz düğümleri Ctrl tuşunu basılı tutarak seçin ve bağlam menüsünden "Grup düğümleri" ni seçin.

Daha fazla bilgi için IDA'nın yardımında veya çevrimiçi.

Ayrı bir not olarak, girdinizi konuya ilişkin / konu dışı konularına burada http://meta.reverseengineering.stackexchange.com/q/7/189 koymanıza yardımcı olur.
Hangisi muhtemelen konu dışı, sorum mu yoksa cevabın mı?
@amccormack Soru, tersine mühendisliğin kendisini içermediği için, "bir YG aracının nasıl kullanılacağı". Ama sanırım konu üzerine bu tür sorular sorabiliriz. Lütfen düşüncelerinizi [buraya] ekleyin (http://meta.reverseengineering.stackexchange.com/questions/52/).
@IgorSkochinsky:, istediğim kadar (ve bildiğiniz gibi;)) bunun belirli bir araca yönelik fazla önyargılı olmaması gerektiğini belirtmek için, bu soruların konuya uygun olması gerektiğini düşünüyorum. Oraya "yorumumu" ekledim ve umarım diğerleri de olur. Btw: Yakında sizin konumunuz olacağını umduğum şeyi zaten yaşıyorsunuz;) ... ayrıca bkz: http://meta.reverseengineering.stackexchange.com/questions/7
@IgorSkochinsky: Aslında emin değilim, ancak çoğu SE sitesinde, en azından hayati bir bölümden alıntı yapmadan sadece bir bağlantı göndermek hoş karşılanmıyor.
@IgorSkochinsky Sorumun listelediğiniz meta tartışma için geçerli olmadığını düşünüyorum. Ancak tereddütleri anlıyorum, bu yüzden yeni bir meta soru oluşturdum [Konuyla ilgili tersine mühendislik araçları soruyor] (http://meta.reverseengineering.stackexchange.com/questions/66/is-asking-about-reverse-engineering-tools -Konu üzerine)
Tamam, tüm güzel noktalar, biraz düzenlememe izin verin ...


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