首页
社区
课程
招聘
[原创] frida-trace 指令追踪&监控寄存器变化 反Ollvm 及SVC HOOK 思路
发表于: 2022-6-30 16:14 41753

[原创] frida-trace 指令追踪&监控寄存器变化 反Ollvm 及SVC HOOK 思路

2022-6-30 16:14
41753

stalker介绍链接

工具参考了网上的一些实现。在此感谢frida sktrace

图片描述

反ollvm的核心在与确定分发器 次分发器 逻辑块的关系
如图所示不同的颜色代表的是不同的指令块。这对于ollvm的执行流程分析会很有帮助,但目前对于patch脚本这块并没有去完善, 原因是基于平坦流的混淆,对patch的要求非常复杂。还不如直接看执行流程。但如果是函数体较短的平坦流,推荐分析出流程后直接手动patch。

工具对于寄存器里出现的字符串也可以直接显示。 对大部分的指令都做了解析

目前SVC 的HOOK 方案非常多 有 ptrace 、ptrace +seccomp 、 frida+seccomp 、 内存扫描hook、
现在应该有一个新的方案了 指令SVC HOOK。如图所示 能完整的监控到寄存器的变化。 stalker 也是支持指令的修改的。在此期待一个大佬能出一个方案,
但目前感觉可能在效率上会有所限制。如果监控整个so,所带来的性能问题,可能不好解决。

图片描述
传递size0 则代表监控所有SO里的指令执行, 推荐追踪单函数,免的产生过量的信息。
图片描述


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

最后于 2022-7-2 16:12 被IIImmmyyy编辑 ,原因:
收藏
免费 9
支持
分享
最新回复 (37)
雪    币: 696
活跃值: (2433)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
老哥已经有个工具叫frida-trace了,另外你这个怎么用啊,没看明白
2022-6-30 16:53
0
雪    币: 212
活跃值: (585)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
mb_ckfmrnqa 老哥已经有个工具叫frida-trace了,另外你这个怎么用啊,没看明白
原版的frida-trace 主要是对函数的追踪、 对于寄存器的变化 没有显示, 这个版本是完善了寄存器的变化。后续有时间的话可能会完善流程cfg图
2022-6-30 17:00
0
雪    币: 18
活跃值: (996)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
transform trace 出来的代码都是有一段没一段的,不好用。
2022-6-30 17:37
0
雪    币: 212
活跃值: (585)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
bullyxy transform trace 出来的代码都是有一段没一段的,不好用。
目前分析 和IDA 进行了对比 没发现这种情况
2022-6-30 17:42
0
雪    币: 860
活跃值: (4145)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6

淦,我是发还是不发呢

2022-6-30 18:33
0
雪    币: 212
活跃值: (585)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
王麻子本人 淦,我是发还是不发呢
哈哈  发  我就是没找到适合的工具只好自己手撸
2022-6-30 19:09
0
雪    币: 18
活跃值: (996)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
IIImmmyyy 目前分析 和IDA 进行了对比 没发现这种情况
这个代码 trace 出来又正常了,奇怪。我之前在 transform 就有 bug,都是在 process 里处理的。
2022-7-1 18:17
0
雪    币: 234
活跃值: (1914)
能力值: ( LV5,RANK:73 )
在线值:
发帖
回帖
粉丝
9
和sktrace有什么区别?
2022-7-2 19:08
0
雪    币: 234
活跃值: (1914)
能力值: ( LV5,RANK:73 )
在线值:
发帖
回帖
粉丝
10
想问下楼主你输出的log是终端吗,有没有办法带颜色保存到文件中?
2022-7-3 10:41
0
雪    币: 212
活跃值: (585)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
falconnnn 想问下楼主你输出的log是终端吗,有没有办法带颜色保存到文件中?
带颜色输出到文件应该是不支持。 输出成XML带颜色应该是可以 但那得自己写了
2022-7-3 14:53
0
雪    币: 212
活跃值: (585)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12
falconnnn 和sktrace有什么区别?
sktrace 不支持spawned 还有一些小问题。 另外是基于python的, 在某些使用场景下不是非常方便。所以我全改成js的
2022-7-3 14:55
0
雪    币: 198
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
13
没看明白怎么用的... frida直接跑你的index.ts么?
2022-7-5 15:22
0
雪    币: 234
活跃值: (1914)
能力值: ( LV5,RANK:73 )
在线值:
发帖
回帖
粉丝
14
天会晴心会暖 没看明白怎么用的... frida直接跑你的index.ts么?
npm install编译完跑_agent.js
2022-7-5 16:40
0
雪    币: 359
活跃值: (648)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
我感觉思路应该跟这个差不多:https://bbs.pediy.com/thread-272839.htm,慢慢,这些技术就会普及了,只是时间问题
2022-7-5 16:57
0
雪    币: 198
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
16
falconnnn npm install编译完跑_agent.js

感谢

最后于 2022-7-5 17:46 被天会晴心会暖编辑 ,原因:
2022-7-5 17:24
0
雪    币: 3098
活跃值: (4222)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
没看懂怎么用
2022-7-6 14:59
0
雪    币: 198
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
18
VNRKDOEA 没看懂怎么用[em_85]
clone下来后npm install   然后修改straceInject.js 里的 soName 和 要hook的函数和方法大小 然后npm run build 生成新的_agent.js 最后直接Frida -I 跑就行了 就跟你平时跑Frida脚本一样
2022-7-6 17:15
0
雪    币: 8
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
19
各方面都不如sktrace意义在哪里呢
2022-7-6 17:28
0
雪    币: 226
活跃值: (105)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
很好,学习教程,感谢分享!
2022-7-7 00:47
0
雪    币: 3098
活跃值: (4222)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
天会晴心会暖 clone下来后npm install 然后修改straceInject.js 里的 soName 和 要hook的函数和方法大小 然后npm run build 生成新的_agent.js 最后 ...
谢谢大佬
2022-7-7 11:11
0
雪    币: 212
活跃值: (585)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
22
mb_yqoccwgm 各方面都不如sktrace意义在哪里呢
你觉的哪个好用就用哪个 没强迫你,另外不使用sktrace的原因也写了。 奇了怪了,咋总有杠精
2022-7-7 22:20
0
雪    币: 8
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
23
sktrace完全可以不用python也支持spawn
2022-7-8 10:49
0
雪    币: 212
活跃值: (585)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
24
mb_yqoccwgm sktrace完全可以不用python也支持spawn
嗯 那你就用sktrace 
2022-7-8 15:04
0
雪    币: 212
活跃值: (585)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
25
chenxia0 我感觉思路应该跟这个差不多:https://bbs.pediy.com/thread-272839.htm,慢慢,这些技术就会普及了,只是时间问题
是的 stalker 可以得到执行块的信息。 用来反ollvm也是不错的选择, 但目前面对复杂的平坦流 patch 难度颇高
2022-7-8 15:06
0
游客
登录 | 注册 方可回帖
返回
//