Reverse engineering is legal, right?
In the US, it is legal under "fair use", however USA law logic as i understand it is that if there is a user license agreement that forbids disassembly/reverse engineering/etc, the EULA overrules the legislation.
In europe, under the veil of interoperability, it is permitted, this overrules many license agreements terms forbidding disassembly (interoperability = you want to make a plugin for the thing , you try to understand why it crashes your other software or crashes by itself, you want to allow operation under another OS, etc). The law protecting the right of the user to interoperability overrules the EULA.
In japan it is not prohibited (and it was almost required if you wanted to make early games at a time before dev kits and developers portals...).
In china ... ahaha... a former company of mine stopped selling to china because they sold a piece of software very specialized to a chinese company, and later discovered they disassembled, remade the software and sold it themselves (there were dummy functions, with little purpose, just used to "watermark" the logic, and they reproduced them) . So even if it were illegal, they don't give a blip, legal recourse was unsuccessful.
In India, it seems authorized under the interoperability veil, since it's the only way to properly get the essential information about the program logic.
In russia, it is permitted for interoperability
Here, a piece about it covering USA, Japan and europe:
http://blog.thecorporateattorneys.c...ensing-issues-us-businesses-europe-japan.html
If it were not legal in the dominant markets, IDA wouldn't exist anymore ;)