Otázka:
Ladění binárního souboru ARM pomocí IDA Pro a Qemu
Neon Flash
2013-08-18 09:55:31 UTC
view on stackexchange narkive permalink

Ladím binární soubor ARM pomocí IDA Pro připojením k QEMU (vzdálené ladění gdb).

V konfiguraci gdb volím jako zařízení ARM_versatilepb .

Nyní mohu úspěšně ladit binární soubor ARM. V binárním souboru však nemohu spustit syscall jako fork () , socket () atd.

Myslím, že důvod pro to je to, že používám bare metal config QEMU. Jak tedy upravím tuto konfiguraci tak, aby na QEMU běžel celý systém Linux, abych mohl spouštět i syscall?

V gdb_arch.cfg existuje jiný název zařízení, ARM_Linux. code> soubor IDA Pro, který má v příkazovém řádku předaný parametr arm_root.img .

Vybral jsem toto zařízení, ale ani poté jsem nemohl provést syscalls.

Konfigurace bare metal, kterou v současné době používám, je podrobně zde.

U Qemu a ARM si takové věci nevím, ale existuje takový mechanismus, který dodává falešné funkce pro Bochs-Debugging. Podívejte se dovnitř `plugins / bochs` pro více informací. Igor je pravděpodobně nejvhodnější, aby na to odpověděl. Možná o tuto funkci nikdo nikdy nepožádal?
Jeden odpovědět:
devttys0
2013-08-19 16:31:34 UTC
view on stackexchange narkive permalink

Vypadá to, že se pokoušíte emulovat binární soubor ARM ELF jeho spuštěním přímo v systému qemu-system-arm. V takovém případě nefungují syscalls proto, že neexistuje žádné linuxové jádro, které by tyto syscalls zvládlo.

To, co pravděpodobně hledáte, je qemu-arm, který spouští ARM binární soubor jako normální ELF, překládající ARM syscall na vaše základní jádro Intel. Emulátor qemu-arm má vestavěný server GDB, ke kterému se může IDA připojit.

Alternativně můžete získat systém ARM Linux (jako je Debian, nebo možná existuje verze raspi navržená pro spuštění v Qemu ?) běžící v qemu-system-arm, kdy můžete jednoduše zkopírovat svůj binární soubor ELF na Qemu VM a spustit jej tam. Poté můžete IDA připojit ke spuštěnému procesu pomocí serveru GDB nebo ladicího pahýlu Linux ARM, který je součástí IDA.

zde je předbalený raspbian qemu obrázek připravený ke spuštění http://sourceforge.net/projects/rpiqemuwindows/


Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...