3 ms·
IIRC Ghidra is pretty amd64-centric. IDA on the other hand has dozens of less-known CPUs types, you need when dealing with embedded and not so common stuff.
by dim13 6y ago
IIRC Ghidra is pretty amd64-centric. IDA on the other hand has dozens of less-known CPUs types, you need when dealing with embedded and not so common stuff.
- roblabla 6y agoWhat? No! Ghidra has support for many, many less-known CPU types. With extremely good support. I recently RE'd Intel 8051 firmware, with really good results. I'm aware of people using Ghidra to reverse firmwares of all kinds, from the PS2 Emotion Engine to Nvidia Falcon Security Processor. The amazing thing about Ghidra is that all of its tools (disassembler, emulator, decompiler) work on P-Code, which is Ghidra's IR. All you have to do to get the tools to work is write a Sleigh file, which basically describes the registers, address spaces, and map the instructions to P-Code. This is dead easy to do, and with very little tweaking, gives really clean decompiler output. A friend of mine implemented Nvidia Falcon support to Ghidra in a week-end or two[0]. As far as built-in processor goes, Ghidra has X86 16/32/64, ARM/AARCH64, PowerPC 32/64/VLE, MIPS 16/32/64/micro, 68xxx, Java / DEX bytecode, PA-RISC, PIC 12/16/17/18/24, Sparc 32/64, CR16C, Z80, 6502, 8051, MSP430, AVR8, AVR32, and variants of these processors. I dunno if IDA has more, but it's still far from AMD64 centric! [0]: https://github.com/Thog/ghidra_falcon https://github.com/Thog/ghidra_falcon
- matheusmoreira 6y ago> PS2 Emotion Engine Ghidra is very useful for reverse engineering video games and all related technology! There are blogs showing how to do it: https://cturt.github.io/pinball.html https://cturt.github.io/pinball.html
- dimb 6y agoAs an embedded reverse engineer, I recently made the jump to Ghidra and haven't had any issues yet. I've been reverse engineering Infineon Tricore firmware and it's been great, though I will admit their support for it only came out recently.