1./ I read this: "You could do other things to reduce an attacker's ability to disable your software activation system, for example, but in a native-compiled system like Delphi, you can't recreate source code from the binaries." Link: https://stackoverflow.com/questions/6225081/when-and-how-should-i-obfuscate-my-delphi-code
So, it is not true?
It is true and false.
You can't get the exact original source code back (so long as you ship without debug info, and the like)
But you can get a compile-able source, and that in pascal or c whichever you want.
There are disassemblers, and there are tools that help transform assembler to higher languages. Though by far not as readable as the original source.
Now saying "there are tools"... They do not work all on there own. It takes a lot of extra work for a hacker to make it to a source...
But a hacker doesnt even need the source. They analyse the assembler. And they debug and analyse behaviour.
There is now way to stop a hacker. You can only make it harder.
---------------
For example, with RTTI (and that is required to have forms, unless you do not use the form designer at all) your application (without debug info) contains the name of every form, button, label. That is information a hacker can use.
If an obfuscater renames your "activation success" label, into "etouhr" then that is less helpful.
The hacker can still search for the actual text though. So next you need to encrypt all captions, (or have an obfuscater that does this)...
Still you can spend any amount of time, a good hacker still will break it.