首页
社区
课程
招聘
未解决 frida hook 方法的堆栈只有一条记录
发表于: 2023-12-17 16:34 2259

未解决 frida hook 方法的堆栈只有一条记录

2023-12-17 16:34
2259

RT,在使用frida hook 方法的堆栈结果只显示自身本身一条记录
环境:xiaomi真机, frida-server==16.0.19;apk:baidu_netdisk.11.48.2,hook下载文件部分的staicCallbackMsg 函数(该方法只有一个字符串参数)
打印堆栈方法

1
2
function printstack() { console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()));
        }

结果只有 com.baidu.netdisk.P2P.staicCallbackMsg 一条记录;理论上至少线程名应该也有一条记录的,为啥会只有一条记录,不解


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 1888
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
JNI调用
2023-12-17 23:42
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
mb_sbsievro JNI调用
如果是JNI调用堆栈也会打印是哪个JNI函数调用的
2023-12-18 09:06
0
雪    币: 244
活跃值: (1792)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
mb_dvykdjrm 如果是JNI调用堆栈也会打印是哪个JNI函数调用的
JNI调用Java的代码getStackTraceString是获取不到JNI层调用栈的
2023-12-18 09:28
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
lqfcugo JNI调用Java的代码getStackTraceString是获取不到JNI层调用栈的
假设是 public native String StacicMsg()这个so方法调用了 Java层的StaciCallbackMsg方法, getStackTraceString起码能获取到这个堆栈: 

com.baidu.netdisk.P2P.StaticCallbackMsg
com.baidu.netdisk.P2P.StaticMsg

---------------------------------
再不济也会有线程的堆栈打印出来的
2023-12-18 10:35
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
lqfcugo JNI调用Java的代码getStackTraceString是获取不到JNI层调用栈的
搜索到说可能是flutter框架,所以hook不到
2023-12-18 10:36
0
雪    币: 1888
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
mb_dvykdjrm 假设是 public native String StacicMsg()这个so方法调用了 Java层的StaciCallbackMsg方法, getStackTraceString起码能获取到这个堆 ...
native层创建的线程,使用JavaVM::AttachCurrentThread拿到JNIEnv,然后使用JNI调用目标方法,所以调用栈只有一条
2023-12-18 11:24
0
游客
登录 | 注册 方可回帖
返回
//