I have .so library extracted from an .apk file for x86 architecture. (let's say libfoo.so)

From the .smali code I can see that the library is loaded with System.loadLibrary(), and I can see the name of the only method I need the result of.

Thus, I thought I might be able to run it using Java on i386 ubuntu VM.

While trying to run it I've satisfied all the .so libraries that were popping up during the compilation attempts.

Then my java code which containted of only loading the libfoo.so failed with SIGSEGV (0xb). Which says, as I've googled, that it's a crash in the native library itself, which gives me no clue what to do next.

So the question. What options do I have?

  • Trying to get through SIGSEGV (0xb). Is it even possible?
  • Attempt to run the library in c++. Should I?
  • Decompile the library in IDA Pro and try to implement the logic in another language. (the path I've been before and I know it has low chances to succeed)

I hope someone will bring the light to my struggling =)

Thank you, experienced few, in advance.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.