4 ms·
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
by amiga386 2y ago
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 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.
- actionfromafar 2y agoSo Andrew saved us not only once, but twice! It goes to show that yes, you need someone to score, but you also need someone to make that critical pass of the ball.
- tsujamin 2y agoAn undergrad highlight for me was hearing the bitkeeper/git story from Tridge one afternoon that he happened to be in the faculty lunch room :)
- brcmthrowaway 2y agoI bet Larry Mcavoy highly regrets his actions.
- executesorder66 2y agoYes, he is still butthurt about it. This is from 20 days ago : https://news.ycombinator.com/item?id=40887244 https://news.ycombinator.com/item?id=40887244
- amiga386 2y agoThat's fantastic. He deserved his comeuppance.
- brcmthrowaway 2y agoThats insane Is git a "clone" of bitkeeper?
- eru 2y ago> Tridge also reverse engineered BitKeeper, the proprietary software that Linus foolishly used to host Linux kernel development for a while. I wouldn't necessarily call it 'foolish': Linus used the best available tool at the time. (I don't know whether BitKeeper was the best available tool in some absolute sense, but Linus looked around and evaluated many of them.) > [...] you can type "help" and it then spits out a list of commands to try... That was actually a nice engineering / UI decisions by the BitKeeper developers, but I'm afraid the morale of the story would be not to make your software too helpful? > 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. That's a strange use of 'use'? Clearly, talking to some software over the network is 'using' it?
- rustybolt 2y ago> Clearly, talking to some software over the network is 'using' it? In some sense, yes. But I wouldn't say my mom uses Linux when she uses her Ipad to visit a website hosted on a Linux server.
- dotancohen 2y agoPossibly not, however the passive "Linux is being used" would still be a valid observation. In this case, the software (or a component of the software's ecosystem) was "in use" over the network.
- eru 2y agoMaybe. But in some sense, if you use a classic X application, it's all done over the network, too.
- karulont 2y ago> That's a strange use of 'use'? Clearly, talking to some software over the network is 'using' it? The point is that the proprietary client software was not used.
- 2y ago