Get a stack trace in your hook
4 views
e3dd894b...
Description
Get a stack trace (from Java) while you want to know who has called your function
How to Use
Download the script and run it with Frida CLI:
Download ScriptThen run with Frida:
frida -U -f YOUR_PACKAGE_NAME -l get-a-stack-trace-in-your-hook.js
Replace YOUR_PACKAGE_NAME with the target app's package name.
Source Code
JavaScript
Java.performNow(function(){
var target = Java.use("com.pacakge.myClass")
var threadef = Java.use('java.lang.Thread')
var threadinstance = ThreadDef.$new()
function Where(stack){
var at = ""
for(var i = 0; i < stack.length; ++i){
at += stack[i].toString() + "\n"
}
return at
}
target.foo.overload("java.lang.String").implementation = function(obfuscated_str){
var ret = this.foo(obfuscated_str)
var stack = threadinstance.currentThread().getStackTrace()
var full_call_stack = Where(stack)
send("Deobfuscated " + ret + " @ " + stack[3].toString() + "\n\t Full call stack:" + full_call_stack)
return ret
}
})
Comments