GoddersUK wrote:
Which usualy breaches the liscence agreement of the original software...
So that doesn't make it any more legal.
Reverse Engineering is a legally protected right, a license agreement cannot legally stipulate that you can't reverse engineer something.[1]
Even so, Copyright infringement is a civil offense, and not a criminal offense (as theft/stealing is), according to your interpretation of the law, this can be considered "less less-legal than stealing".
[1]Indeed, even Microsoft's taken notice. Compare a Microsoft EULA from the early 90s with one from today, the wording around the words "reverse engineering" is different and more permissive:
Microsoft Legal Dept. wrote:
4. LIMITATIONS ON REVERSE ENGINEERING,
DECOMPILATION, AND DISASSEMBLY. You may
not reverse engineer, decompile, or disassemble the
Software, except and only to the extent that such activity
is expressly permitted by applicable law notwithstanding
this limitation.
...the thing is, Reverse Engineering is explicitly permitted in practically every nation on earth. This EULA passage is there just to scare people into submission.
And personally, I don't think Microsoft cares much for RE, Visual Studio comes with a Disassembler, and Reflector opens up Microsoft's assemblies by default anyway.