/AndroidPurelyNative_Troopers23

This contains notes and code for my Troopers23 Beyond Java talk

Picture1

Beyond Java: Obfuscating Android Apps with Purely Native Code

During this talk I demonstrate how to use purely native code as an obfuscation technique in Android. Together, we rewrite a standard Android Java applicaiton in C++ and remove all traces of the entrypoint. We even mask our Android framework API calls by using direct Binder invocations and messages.

Supporting Code

  • DirectBinderInvocations.zip
    • Examples in Java and C++ for direct Binder invocations of dial() method
  • PurelyNativeEmpty_Source.zip
    • Example purely native empty application
  • AnubisBenignPurelyNative.zip
    • Purely native application based on benign fake Anubis sample
    • Password: infected1

Tools

Link References

Java Native Interface (JNI)

NativeActivity

Android Source Code