The Problems with JNI Obfuscation in the Android Operating System

The Problems with JNI Obfuscation in the Android Operating System

Code obfuscation is a technique used hide the inner workings of an application. Effective code obfuscation tools hinder reverse engineering efforts. In this talk, I present the problem brought on by the Java Native Interface (JNI) in the process of obfuscating Android applications. I then illustrate how this security leak provides a great way to start reverse engineering. I then end with a few strategies on how to obfuscate Java native functions with the goal of suppressing attempts at reverse engineering the application, and a discussion of the design aspects of JNI that hinder automatic robust obfuscation.

Presented by