翻譯如下:
環境:android 10
建置環境:node:v14.19.0
jnitrace app 卡死#
SeeFlowerX:
終於找到了導致 jnitrace 卡死手機的原因!
在源碼的 jnitrace-engine/lib/engine.ts 中有一段 dlopen 替換的程式碼,將這部分程式碼註釋掉就不會卡住手機了
將該部分程式碼改為 patch:https://gist.github.com/SeeFlowerX/67d4503e0e521a6711862f65d8494b00
如果是安裝的對應庫,那麼路徑是 > node_modules/jnitrace-engine/dist/engine.js
重新編譯:
推到 jnitrace 的目錄:
mv jnitrace/build/jnitrace.js /usr/local/Caskroom/miniconda/base/envs/frida14.2.18/lib/python3.7/site-packages/jnitrace/build/
即可生效。
來自 SeeFlowerX 的演示視頻:
開啟之後,沒有成功 hook 到 jni?#
正常的 trace 會有一行:
Traced library "libmynative.so" loaded from path "/data/app/io.reao.mynative-msWjdfdU69wZmWOOd46paw==/base.apk!/lib/arm64-v8a".
說明檢測到了目標 so,如果沒有,說明沒檢測到
添加 console.log 可以查看加載了哪些 so