This battle against badly configured servers has been waged for years.
What I described definately isn't obfuscation. It would allow anyone to read the code and still work.
You wouldn't need detours for that, you could just rewrite the source code...No need to do it at runtime.
Your idea wouldn't work at all, people could just remove the bit that requires keys.
http://en.wikipedia.org/wiki/Security
Also, perfect security doesn't exist. Its only a matter of how hard you need to make it for your opponent before feeling safe.
Oh and about Java not being a systems programming language... Java has something called the JNI. Which allows it to do anything you can possibly do using C++.
If I'd follow your way of thinking C++ isn't a systems programming language either, only native binary code is.
__________________