I recently heard of a software security company that makes your code hack-proof in terms of reverse engineering and code modification. Their technique is this:
They insert checksums in multiple check points in the code that secure the code between them. As the code flow is executed at every checkpoint the checksum is checked and if the code has been tampered with then the checksum fails and you know there has been code modification. If a checkpoint is removed then the next checkpoint will also fail because a checkpoint has been removed.
To buy their services would be completely out of budget for my project (an Android application) however I would like to implement that technique on my own.
Could someone offer some insight on how something like this could be implemented ? Also if there are other methods that one could use το prevent code modification please share.
(Just to clarify I'm aware of obfuscation, weird missleading code logic, and writing fake methods to further make the code difficult to read and will apply these methods too )