Reverse Engineering Code

Have you ever been in one of those situations where you have the latest and greatest algorithm, or you are creating a unique architecture and you want the intellectual property protected? I'm sure any programmer has.

So whats the big deal, you code the application, compile it and nobody knows how you did it right? Well its always been possible to reverse engineer code, but with Java and .NET applications its even easier because of the bytecode they generate. Sure obfuscators can make your code less readable, but any half-decent programmer can still figure it out.

The biggest problem with Java and .NET is the large use of APIs. It is possible to determine what an application is doing and how its coded from watching its API function calls. Easily done in Java because of the JNPI (Java Native Profiling Interface) that allows you to watch function calls.

So next time your using Java and .NET, just make sure you keep in mind what you may be exposing.

Hint: Coding your own version of the Java API and using an obfuscator can make the API calls harder to recognise.

0 comments:

Post a Comment