User gets fed up with bug; cracks program to fix it himself.
forum.skype.com
forum.skype.com
In the first few weeks of the game (before they patched it to be less restrictive), it ignored and reverted changes to the game fov with some sort of bizarre level of meanness. They really wanted the fov to stay at 75 for some sort of game experience reason.
I edited the game binaries to remove the forcing of that field of view back to 75 (using VC6's binary editor after using SoftICE to monitor the code that was changing the value in memory) so that I could play the game without getting sick.
They eventually allowed changing it as a cheat, but it was frustrating for a while .
The community talks a little bit about the differences/issues here: http://developer.valvesoftware.com/wiki/Field_of_View
who woulda thunk the FOV was a potential culprit O_O
He was sick and tired of other people using bots to cheat the game. He made some correct assumptions about my architechture, Memcached in front of MySQL, and determined a way to find pages that would guarantee a cache miss. He then wrote a bot to hit as many of these pages as possible, essentially blackmailing me into fixing the bot problem.
A simple captcha and a few bot honeypots later, the problem was fixed.
Discussions about the ethical implications of patching a DLL aside, it is quite a different thing to patch a DLL to prevent an application from crashing when you use it than to hammer someones server in an attempt to force them to fix a problem.
Summary: http://www.ttdpatch.net/features.html
Details: http://www.ttdpatch.net/Manual/ttdpatch.html#The%20Patches
The other way to pull it off easily is to replace an instruction with a jump to another part of code that's empty/unused, where you put the original instruction, your new ones, and a jump back to the patch location.
You use runtime disassembly, the primtive disassembly feature built into most systems level debuggers (and the one good systems level debugger ;-)
You can replace instruction in memory with the 'a'ssemble command you can test your hypothesis without affecting that actual code on disk. Once you path the program in memory and see everything to your liking, you fire up a hex editor and patch that memory region. Patching is an art; if you new instruction can overwrite a region of the code, you can insert a jump to the new instructions, then 'ret'urn from them with another jmp to your call point. If, otoh, you're adding more code than the instructions you're replacing, then you will need to find more places to stuff it, or you might need to reconstruct the program header and adjust the sizes.
This is called reverse engineering, google it.
(Sorry for the extremely long winded, slightly off-topic reply.)
I think the linux version is something like 2 years old now.
If he pwnd Skype, that would be bigger news.
Given Skype's market share (not Voip in general, but free worldwide voip calls), I would say they do have a monopoly.
If the user really cracked Skype, as the title made me believe, this would be big news. I have been told that Skype's protection is really tough.
I'm curious what the Excel multi-threading issue is/was though.
'User got fed up with the bug and finds a workaround.'