5 ms·
How exactly is one supposed to make a clean-room reverse engineering in the absence of any documentation and sophisticated obfuscation on Skype's part ?
by Iv 14y ago
How exactly is one supposed to make a clean-room reverse engineering in the absence of any documentation and sophisticated obfuscation on Skype's part ?
- wmf 14y agoIt's hard, but people have made progress with that approach: http://recon.cx/en/f/vskype-part1.pdf http://recon.cx/en/f/vskype-part1.pdf http://recon.cx/en/f/vskype-part2.pdf http://recon.cx/en/f/vskype-part2.pdf
- eli 14y agoThose links detail reverse engineering the binary. I think Iv's point is that reverse engineering an existing binary is not what "clean room" means.
- e1ven 14y agoIf team A uses the binary to write a spec, and team B uses the spec to re-implement without direct help from team A, it's generally considered legit. This was the method used by Compaq to implement the IBM BIOS, back in the day.
- eli 14y agoYup, I'm with you. I don't think anyone's done anything like that for Skype, though.
- Iv 14y agoYes, and we agree that team A's work needs to be done before team B can work. A's work is exactly what this DMCA notification tries to shut down.
- recoiledsnake 14y ago> A's work is exactly what this DMCA notification tries to shut down. What part of A's work involves distributing deobfuscated binaries to the general public? Team B should only have access to the specifications developed by Team A and nothing else from them. That's the whole point of isolating them.
- option_greek 14y agoUsually, that would mean reverse engineering to create specifications and then getting the product implemented by some one else using the specification which would then be termed as clean.
- Iv 14y agoYes, and reverse engineering to create specifications is done... how ? It requires examination of the only currently working implementation that we have.
- aGHz 14y agoThe term "clean room" has a well established meaning you probably aren't aware of, I refer you to [1], it might clear up what the original reply was referring to. [1] http://en.wikipedia.org/wiki/Clean_room_design http://en.wikipedia.org/wiki/Clean_room_design
- Iv 14y agoI am well aware of the joke that is the clean-room process. Note that it supposes that the first team has access to the specification, source code, or any IP-encumbered indication about how the software in question works. In the case of Skype, the only public information we have is the binary.
- cooldeal 14y ago>Note that it supposes that the first team has access to the specification, source code, or any IP-encumbered indication about how the software in question works. In the case of Skype, the only public information we have is the binary. So what? That's not a valid excuse to distribute modified binaries to the public. If the "first" team wants to look at binaries to do their documentation, they can download the official Skype client from skype.com. Why do they need to download a hacked binary from Github?
- 14y ago
- recoiledsnake 14y agoMaybe then you're not "supposed" to do it? For example, there is no reverse engineered libraries for Facetime and iOS API. If you use Apple's libraries, they can come after you for copyright infringement.
- ktizo 14y agoYou can reverse engineer anything that you can reverse engineer. "Supposed" really doesn't come into it. If you buy a copy of osx and reverse engineer some libraries, then publish a description of their behaviour, so what?
- cooldeal 14y agoThat's fine, but if you publish the modified binaries of OS X's libraries with hacks to make them work in Linux along with the description, you will be in legal hot water.
- Tloewald 14y agoCappuccino is exactly such a reverse engineered library, as is gnu step. For that matter Linux is a reverse engineered drop in replacement for the unix kernel.
- nl 14y agoI'm not familiar enough with Cappuccino to comment, but GNU Step was an independent implementation of the published OpenStep interfaces. That isn't reverse engineering. Linux is an independent implementation of the Posix interfaces.
- danbmil99 14y agoSeems like you could do it in theory by observing the protocol in action. Set up two machines a-skyping, sniff all the packets, think real hard, write code that interoperates with Skype clients.
- snarkinatree 14y agoAnd how do you propose to decrypt those packets?
- danbmil99 14y agodidn't you see the part about "think real hard"?