Spotify Releases a Linux-Only Client Library
f0rk writes "Spotify, a popular music streaming service, has just recently released libspotify. An official, binary-only, only for subscribers, library to 'enable and inspire you to build some really cool stuff.' The first release only has support for x86-32 Linux, the only major platform Spotify does not run on. It looks like the Spotify team is trying to be nice to the Linux community and hope someone will use their restricted binary-only library to write a Linux client."
Yup, I've never heard of Spotify and I can't imagine why I'd be interested in this. But hey, I always love it with people release "binary only" libraries. They typically provide a nice big fat header file and a .so file. Sometimes they even strip the .so file, that's what I like to call "a challenge". Today I am not sufficiently bored to reverse engineer this crap, but I'm sure someone, who knows what Spotify is and actually gives a shit, will be. How hard something is to reverse engineer is determined by three things:
1) Armoring
2) Symbols
3) Relocation information
When it comes to Linux stuff, no-one ever does armoring, so we might as well not even think about that. All the interesting symbols for this library have come from the header file.. but ELF binaries leak lots of symbols, even when you strip them, so yeah, no problem there. Finally, relocation information, makes the so called "hard problem" of reverse engineering, separating code from data, pretty easy.. and .so files require you to provide them.
So I don't know why they bother. If there's secrets you're trying to hide from developers by not giving out source code, you're just failing.
How we know is more important than what we know.