Dispatches / a short note
Another reverse engineering guide
Clean and structured concepts for reverse engineering
Reverse Engineering for Everyone
I’d like to add that reverse engineering can also be done without any peeking at the thing you’re trying to reverse-engineer.
Andrew Tridgell explaining how he reverse engineered Microsoft’s SMB protocol with the “French cafe technique”: https://www.samba.org/ftp/tridge/misc/french_cafe.txt
Tridge also reverse engineered BitKeeper, the proprietary software that Linus foolishly used to host Linux kernel development for a while. He noticed that if you telnet to the BitKeeper address:port rather than use its proprietary client, you can type “help” and it then spits out a list of commands to try…
You can then interrogate the repository with these commands and get a complete understanding of all the internal data structures, without ever using the proprietary software, let alone having to disassemble it.
The fact that Tridge did this reverse-engineering led BitKeeper’s owner, Larry McVoy, to rescind the Linux community’s use of his software, so Linus wrote git.
site: https://0xinfection.github.io/reversing/
discussions: https://news.ycombinator.com/item?id=41069256