Jump to page content

Hack Tales 2: SoulSeek connectivity

As some of you are already aware, one of the more dubious benefits to me from my time spent at university was use of the Windows PCs for the SoulSeek peer-to-peer client. One day, however, I was dismayed to find that my SoulSeek client was no longer able to connect to the server, and the Web site was also down. I think I had travelled all the way into university from home – which used to take about an hour by bus – specifically to obtain more MP3s and I did not particularly want to go home empty-handed.

I managed to locate the SoulSeek forums and found a discussion topic on the matter at hand, as it was also affecting a lot of other people. It turned out that the DNS records for SoulSeek were no longer available, suspended pending deletion or maybe even already deleted. The prescribed fix for the problem was to manually place DNS records for all the servers into the Windows hosts file, but such an endeavour was not possible on a locked-down university computer.

Not to be defeated, I concocted a sketchy plan. I downloaded the XVI hex editor from the Net, and scoured the SoulSeek binary for a record of the DNS name of the SoulSeek server. Conveniently, the IP address of the server machine (as given on the SoulSeek forum) was shorter than the DNS record (by one character), so it would be possible to paste the IP address into the binary on top of the DNS name. The difference in size may yet pose a problem, as there was still the issue of an extra character. Making the assumption that the program used a friendly connection address mechanism like in REALbasic that accepts a string of either an IP address or a DNS name, I pasted the IP address over the DNS name, leaving a space at the end that I hoped the code library or the DNS resolver would trim off first or ignore.

Perhaps even more surprisingly (and you guessed this already) it worked perfectly – the patched copy of SoulSeek connected to the server just like it should have. I went on to post copies of this patched version online for other people to use, and even gave one to the person sat next to me in the computer area, also attempting to use SoulSeek (a fortunate coincidence for him at that, too).