- 104comments
- —discuss
- 17comments
- 54comments
- 219comments
- 36comments
- —discuss
- 603comments
- 144comments
- 3comments
- 17comments
- 238comments
- 90comments
- 15comments
- 172comments
- 75comments
- 8comments
- 236comments
- 44comments
- —discuss
- 131comments
- 160comments
- 17comments
- 27comments
- 68comments
- 29comments
- 45comments
- —discuss
- 374comments
- 41comments
The article explains a few network protocol reverse-engineering techniques that were used over the course of 12 years to write Samba.
The techniques are:
Trivia: Andrew Tridgell's techniques here catalyzed the creation of git. He applied them to reverse-engineer parts of the Bitkeeper protocol, a proprietary version control system then hosting the linux kernel. Bitkeeper CEO Larry McVoy revoked linux's license to use BK, Linus went off and wrote a replacement, and the rest is history.
http://en.wikipedia.org/wiki/BitKeeper
Although supposedly the BitKeeper protocol was documented, and to find it, Andrew Tridgell connected to a BK server via telnet and typed "help". No idea how much the truth has been romanticised, but I suspect that it at least helped the reverse engineering effort, even if the documentation was incomplete.
I'm currently reverse engineering a USB VoIP handset in my spare time, as the only driver that exists for it is for 32-bit Windows. I'd recommend the experience to any hacker. I'll try and write up my findings when I'm done - there are a bunch of HOWTOs out there but I found them woefully incomplete.