Evan Martin (evan) wrote in evan_tech,
Evan Martin

protocol hackery

When I was talking to Jeff (who I think said he was involved in reverse-engineering ICQ) about protocol stuff, he mentioned he knows the guy who wrote gnapster (for context: I wrote “gnome-napster”, Jeff’s friend wrote “gnapster”, and four wrote “gnap”, and they all did about the same thing and sucked a whole bunch). This friend, anyway, is supposedly now working on a multiprotocol file-“sharing” client that speaks a bunch of different protocols. From there, MLDonkey came up.

MLDonkey is this crazy awesome multiprotocol file-“sharing” client that is completely written in OCaml, which is pretty cool in itself. But Jeff was telling me: they were the first to figure out Fasttrack, the superfancy protocol spoken by Kazaa and Morpheus and (etc.), which is where all the Napster-style P2P action is these days (bittorrent is big too, but it works from a different model). The Kazaa people make their money off of ads and spyware in the client, so they don’t want other clients on their network, so they change the protocol regularly to try to keep clients off. (See also: all of the battles people went through to get AIM’s OSCAR to work.)

Here’s the punchline: Fasttrack changed in some mysterious way, and nobody could figure it out. So some (totally insane) people wrote this program that extracts the machine code from the Kazaa executable and generates code that emulates a PC well enough for the code to run. It’s reportedly some horrible 20,000 line file/function that takes in some input and gives you back some magical output that just manages to work.

(Disclaimer: the facts were likely exaggerated in this to make it sound more legendary.)

Update: found it! Hahaha, that’s so ugly slash awesome!

  • dremel

    They published a paper on Dremel, my favorite previously-unpublished tool from the Google toolchest. Greg Linden discusses it: "[...] it is capable…

  • google ime

    Japanophiles might be interested to learn that Google released a Japanese IME. IME is the sort of NLP problem that Google is nearly uniquely…

  • ghc llvm

    I read this thesis on an LLVM backend for GHC, primarily because I was curious to learn more about GHC internals. The thesis serves well as an…

  • Post a new comment


    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.