環境:android 10
ビルド環境: node : v14.19.0
jnitrace アプリがフリーズする#
SeeFlowerX:
jnitrace が常に携帯電話をフリーズさせる原因がわかりました!
jnitrace-engine/lib/engine.ts のソースコードには、dlopen の置換コードがあります。この部分のコードをコメントアウトすると、携帯電話がフリーズしなくなります。
この部分のコードをパッチに変更: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 からのデモビデオ:
有効化後、JNI にフックできませんか?#
正常なトレースには次の行があります:
Traced library "libmynative.so" loaded from path "/data/app/io.reao.mynative-msWjdfdU69wZmWOOd46paw==/base.apk!/lib/arm64-v8a".
これは、ターゲットの so が検出されたことを示しています。検出されない場合は、検出されていません。
console.log を追加して、ロードされた so を確認できます