The Problems with JNI Obfuscation in the Android Operating System

DerbyCon V - Unity

Presented by: Rick Ramgattie
Date: Sunday September 27, 2015
Time: 13:30 - 14:20
Location: Track 3
Track: Teach Me

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.

Rick Ramgattie


KhanFu - Mobile schedules for INFOSEC conferences.
Mobile interface | Alternate Formats