upvote
Not the person you asked but I frequently use Claude (Opus primarily) to reverse engineer embedded hardware. It uses a mix of Ghidra, Radare2, and just the arm-none-* tools. I can’t say I have a particular workflow though, I just say “we’re reverse engineering foo.bin. It’s the firmware for a servomotor. We talk to the servo over RS485 and it seems that if I send it command X it will sometimes silently reject the command. Can you dig into the data reception and command parsing layers to see if there’s an explanation. Let’s keep notes in @20260704-reverse-engineer-foo-motor.qmd”

It works great just like that.

reply
> Let’s keep notes in @20260704-reverse-engineer-foo-motor.qmd

Curious - why like this? I usually tell it to write down the analysis once all is clear, so I'm wondering if your approach is better.

reply
Often it ends up being multi-session for this particular kind of work. We’ll get to a point where I have to go actually test some stuff out with hardware to provide some answers back, or in the case of this servo in particular… I end up having different questions a few days later.

These notes files do end up being more of a “how we got here” messy journal and less of a real report but they’re full of useful breadcrumbs that make it quick to pick things back up in a fresh context. Having it write a summary report on a topic based on the raw notes works out pretty good.

Another useful thing with these (not RE) is that sometimes I end up starting to debug a problem and I (or Claude) realize that it might be related to a different problem and being able to then cross-reference between the two raw notes files while pulling that thread seems to work well.

Whether or not it’s the “right” approach, I overall tend to treat sessions/context as ephemeral and need some kind of more solid WIP artifact. I do work in an industry that tends to trigger safeguards (unmanned/autonomous agricultural aviation) as well, and have occasionally gotten Claude to a point where I can’t get a session to continue but Codex will pick it up and finish.

reply