2

Currently, I am debugging a native library in a test APK, however I am running into issues. First of all, I can connect to the debugger and attach to the process without any issues. In the first image below, I select "Same" as the one on my local machine is the decompiled .so file, and the one from the Android remote, which is on my Emulator, is the actual .so file.

enter image description here

After I select that, I don't get the typical "Moving Cross References" one would expect and stuff, and only get a popup saying it's "Downloading Symbols". Nevertheless, the dialog completes and the debugger attaches to the process. Here is part of my output Window in IDA Pro:

C100000: loaded /data/app/com.example.hellojni-1/lib/arm/libImageProcessing.so
C000000: loaded /system/lib/arm/nb/libdl.so
C7638000: loaded /system/bin/linker
Debugger: attached to process /system/bin/app_process32 (pid=18383)

However, all my registers are blank:

enter image description here

And IDA Pro doesn't let me step through the code, or do anything else expected of the debugger. What could the issue be here? What am I doing incorrectly? The debugger attaches to the process just fine, but all I seem to be able to do is pause and start the process. For reference, these are my processor options:

enter image description here

Edit: This is the verbose output, where read_regs gives -1.

enter image description here

1
  • Were you loading an APK or just .so files? May 17, 2022 at 14:46

1 Answer 1

1

Most likely the execution is currently in the kernel or Dalvik code. Put some breakpoints in code that should be executed (e.g. JNI exports) and do some actions in the app to trigger them.

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.