Decompiling a regular Android application I noticed that its code uses some native functions. So, unpacking the (.apk) file I found the usual "lib" folder and under that a series of folders for different architectures (arm64-v8a, armeabi-v7a, x86, x86_64). Each folder contains the same (.so) file.

I decompiled one of them (the one under the x86 folder) using IDA Pro and I found all the functions used natively from the Java code. Since I'm still not so good with assembly code, I would like to reverse the behavior of those functions calling them with different arguments from my own code, maybe linking the (.so) library in some way. I've never done something like this.

So, do you know a proper way to do this in Windows/Linux? (Preferably Java on Windows?) That could help me a lot to follow the instructions in IDA.

  • Did you mean GetProcAddress() or dlopen() like functions?
    – Biswapriyo
    Commented Jul 12, 2019 at 8:20
  • No, I mean the functions called by the application's business methods, say for increasing performance or for hiding that particolar part of code.
    – Dadex
    Commented Jul 12, 2019 at 8:49
  • Check out frida.re
    – 0xec
    Commented Jul 12, 2019 at 16:54


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.