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 nasıl derlenir / tersine mühendislikten geçirilir?
Herhangi bir makale veya rapora ilişkin herhangi bir ipucu takdir edilecektir.
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.
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.