← Back to the shelf
Appearance

Dispatches / a short note

concept

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