> Why would you want to obfuscate a compiled language?
To avoid hackers reverse engineering your code too easily? For example
if you have a game that used "int money=5000;" it will be trivial for a
hacker to scan memory and find which location holds the amount of money,
then change it. It would be better to have an obfuscated way of storing
the amount of money that makes it hard for a hacker to figure out.
The same probably applies to things like decryption keys and licensing
information in a business application. I guess having something like:
bool DemoVersion;
...
DemoVersion = !IsLicenseValid();
...
if(!DemoVersion)
{
... stuff only allowed in the full version
}
...is a really bad idea, as again it would be trivial to scan memory and
find the location of the DemoVersion variable and modify it. Or even
manually look at the machine code with a disassembler and look for the
"if(!DemoVersion)" instruction and bypass it.
Post a reply to this message
|