首页
社区
课程
招聘
frida基于bug的Stalker跟踪检测和修复
发表于: 2025-4-2 17:50 4954

frida基于bug的Stalker跟踪检测和修复

2025-4-2 17:50
4954

传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!!

收藏
点赞 7
打赏
分享
最新回复 (7)
雪    币: 3576
活跃值: (7400)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
没太看明白你的commit, 根据我的对stalker源码的理解,把trust_threshold 加大,或者永远都重新编译不就能轻松解决问题嘛
2025-6-24 17:55
0
雪    币: 503
活跃值: (1160)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
可能是对重编译的这个词表达的不太准确,重编译这个说法实际上跟trust_threshold的关系不是很大
1. trust_threshold这个值的作用是在未达到阈值之前,走block都会由stalker引擎来决定是否进行后补丁(backpatch),其中的backpatch可以简单理解成将blockA的下一步直接连接到blockB,这样就不会有stalker引擎在这两个block中间介入上下文操作,而达到加快执行速度的目的(没有stalker的上下文介入就必然会导致stalker在这之间无法感知任何的变动);
2. 然而重编译(recompile)这个说法更偏向于说的是让用户决定怎么去transform这个block(也就是js中所写的stalker.follow的transform方法实现)-  对应的调用是在gum_exec_ctx_compile_block方法中的ctx->transform_block_impl。

而这篇文章所说的问题是,进入了stalker引擎后(也就是说这本来就是threshold在阈值之内的事情),在判断是否要进行重编译的这个判断逻辑上出现了一些问题
2025-6-25 13:09
0
雪    币: 503
活跃值: (1160)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
zhuzhu_biu 没太看明白你的commit, 根据我的对stalker源码的理解,把trust_threshold 加大,或者永远都重新编译不就能轻松解决问题嘛[em_049]
可能是对重编译的这个词表达的不太准确,重编译这个说法实际上跟trust_threshold的关系不是很大
1. trust_threshold这个值的作用是在未达到阈值之前,走block都会由stalker引擎来决定是否进行后补丁(backpatch),其中的backpatch可以简单理解成将blockA的下一步直接连接到blockB,这样就不会有stalker引擎在这两个block中间介入上下文操作,而达到加快执行速度的目的(没有stalker的上下文介入就必然会导致stalker在这之间无法感知任何的变动);
2. 然而重编译(recompile)这个说法更偏向于说的是让用户决定怎么去transform这个block(也就是js中所写的stalker.follow的transform方法实现)-  对应的调用是在gum_exec_ctx_compile_block方法中的ctx->transform_block_impl。

而这篇文章所说的问题是,进入了stalker引擎后(也就是说这本来就是threshold在阈值之内的事情),在判断是否要进行重编译的这个判断逻辑上出现了一些问题
2025-6-25 13:10
0
雪    币: 3576
活跃值: (7400)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
5
zsa233 可能是对重编译的这个词表达的不太准确,重编译这个说法实际上跟trust_threshold的关系不是很大 1. trust_threshold这个值的作用是在未达到阈值之前,走block都会由sta ...
好的,看来是我理解的浅显了, 大佬看你提交代码改了挺多的; 我很好奇,你是配置出了完整的代码跳转,提示那些吗(c/vala),我目前的方法是直接把meson用 cmake重写了一遍,
2025-6-25 19:52
0
雪    币: 503
活跃值: (1160)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
zhuzhu_biu 好的,看来是我理解的浅显了, 大佬看你提交代码改了挺多的; 我很好奇,你是配置出了完整的代码跳转,提示那些吗(c/vala),我目前的方法是直接把meson用 cmake重写了一遍,
我是frida项目子模块迭代拉下来,只关注我要改的子模块(在了解了项目模块大概的前提下),比如frida-gum。vscode的打开这个模块,函数跳转的话通常能跳转就跳转,不能跳转就搜索关键词。调试验证就是用__android_log_print打日志来观察,编译还是按照官方的来。说实话项目内容太多了,改得越多越不好发现问题,如果觉得修改后手动编译替换的操作流程太长,我是建议写脚本来自动化这个编译上机流程。
2025-6-26 14:01
0
雪    币: 3576
活跃值: (7400)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
7
好吧,我以为终于遇到一个能搭建官方的开发环境的人了,  我直接全部meson移植cmake,目前用着很舒服,跳转,补全,编译,都没问题, 你也可以试试,我目前用起来是比较方便的, 换成cmake的难度也不大
2025-6-26 14:35
0
雪    币: 10825
活跃值: (9141)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
8
666
2026-5-24 23:49
0
游客
登录 | 注册 方可回帖
返回