Environment: android 10
Build environment: node: v14.19.0
jnitrace app freeze#
SeeFlowerX:
The reason why jnitrace always freezes the phone has been found!
There is a code for dlopen replace in the source code jnitrace-engine/lib/engine.ts. Commenting out this part of the code will prevent the phone from freezing.
Change this part of the code to patch: https://gist.github.com/SeeFlowerX/67d4503e0e521a6711862f65d8494b00
If it is an installed corresponding library, then the path is> node_modules/jnitrace-engine/dist/engine.js
Recompile:
Push to the jnitrace directory:
mv jnitrace/build/jnitrace.js /usr/local/Caskroom/miniconda/base/envs/frida14.2.18/lib/python3.7/site-packages/jnitrace/build/
It will take effect.
Demo video from SeeFlowerX:
After enabling, failed to hook into JNI?#
A normal trace will have a line:
Traced library "libmynative.so" loaded from path "/data/app/io.reao.mynative-msWjdfdU69wZmWOOd46paw==/base.apk!/lib/arm64-v8a".
This indicates that the target so has been detected. If not, it means it has not been detected.
Adding console.log can show which so files are loaded