3 ms·
I wish I had seen this article sooner. It’s a really nice and succinct primer to some of the basics of using Ghidra for firmware analysis. I have an expensive
by logbiscuitswave 4y ago
I wish I had seen this article sooner. It’s a really nice and succinct primer to some of the basics of using Ghidra for firmware analysis.
I have an expensive robotic cat toy that the manufacturer stopped supporting and I’ve been working on reverse engineering the firmware in my free time to better understand how it works. I have no background in reverse engineering so I’ve been learning a lot about identifying hardware, reading data sheets, and of course fumbling through Ghidra to disassemble the firmware.
After getting your bearings it becomes pretty easy to recognize the patterns of various standard C library functions like strlen, memcpy, etc. Others can be more challenging. Of course, with bespoke embedded hardware it can be much more difficult.
Ghidra really is an amazingly useful tool (clunky, yes — but very powerful and of course it’s free.) It makes me curious about commercial offerings and if they are worth buying as a hobbyist.
- psobot 4y agoI couldn't think of a better response to a blog post than "I wish I had seen this article sooner." Thank you!
- russdill 4y agoIt really feels like magic sometimes. When using IDA I always knew that I was working with assembly. With ghidra, once everything has decent names it really feels like I have a copy of the original source code. I used it for the Disney bb8 robot firmware which was a fun hobby project.