- 7comments
- 44comments
- 26comments
- 564comments
- 133comments
- 222comments
- 81comments
- 169comments
- 34comments
- 70comments
- 1comments
- 232comments
- 155comments
- 11comments
- 2comments
- 100comments
- 24comments
- 6comments
- 56comments
- —discuss
- 26comments
- 58comments
- 41comments
- 369comments
- 107comments
- 11comments
- 39comments
- 49comments
- 10comments
- 42comments
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.