chame1eon/jnitrace

How to load jnitrace-engine scripts when running jnitrace

shp7724 opened this issue · 2 comments

Hello,

I've read through the readme files, but I'm still not sure how to load jnitrace-engine scripts when running jnitrace.
(I'm quite new to frida and jnitrace.)

Initially I thought the jnitrace-engine script would work in the same way as frida scripts, so I tried

jnitrace -l libnative-lib.so com.example.myapplication -a path/to/jnitrace-engine-script.js

but it didn't seem to work. (where the content of jnitrace-engine-script.js is exactly same as the simple usage example in the docs)

Could you give some more details about this?

Thank you :)

Hi,

Thanks for your question. jnitrace cannot run jnitrace-engine scripts, jnitrace is just one simple use case of jnitrace-engine.

jnitrace-engine is a npm library that allows you to call methods to make tracing the JNI easier. For example you can write a small script that traces the FindClass method and writes a message to a file every time that method is called. jnitrace-engine gives you the flexibility to do what you want in JS code, whenever a JNI function is called.

jnitrace is a project that uses jnitrace-engine. All it does is use that API and whenever a function is called, logs it out to the screen or to a JSON file. jnitrace does not run jnitrace-engine scripts. You need to run jnitrace-engine scripts using frida -l.

You can see this is how jnitrace uses jnitrace-engine: https://github.com/chame1eon/jnitrace/blob/99ddca8c983c01a5e3c721a0c127251e0f44bb7e/jnitrace/src/main.ts

If you do want to write your own scripts using jnitrace-engine, you need to use this template that oleavr developed for Frida. It is great I used it myself for building these projects:

https://github.com/oleavr/frida-agent-example

Within the package.json file you can include jnitrace-engine and once the project has built you can run it with Frida.

Hope that helps. Let me know if you have any other questions.

Thanks

Closing as not heard a response in over a month.