Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
"""
Main function to process command arguments and to inject Frida.
"""
jscode = resource_string("jnitrace.build", "jnitrace.js").decode()
jscode = jscode.replace("IS_IN_REPL = true", "IS_IN_REPL = false")
args = _parse_args()
b_t = False
if args.backtrace == "accurate":
b_t = True
elif args.backtrace == "fuzzy":
b_t = True
formatter = TraceFormatter({
"show_backtrace": b_t,
"show_data": not args.hide_data
}, args.output is not None)
device = frida.get_usb_device(3)
if args.inject_method == "spawn":
pid = device.spawn([args.target])
else:
pid = device.get_process(args.target).pid
session = device.attach(pid)
scripts = {}
if args.prepend:
prepend = session.create_script(args.prepend.read(), runtime="v8")
prepend.on("message", _custom_script_on_message)