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 Jul 12 '19 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 Jul 12 '19 at 8:49
  • Check out frida.re – 0xec Jul 12 '19 at 16:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.