首页
社区
课程
招聘
[原创]基于trace 进行数据流分析的一些实践
发表于: 2025-1-15 15:42 44015

[原创]基于trace 进行数据流分析的一些实践

2025-1-15 15:42
44015

声明

本文仅限于技术讨论,不得用于非法途径,后果自负

前言

在前面逆向vmp的时候 handle分析写的是欲仙欲死,于是乎有了这篇文章,这篇文章的的灵感来源于 https://bbs.kanxue.com/thread-270799.htm ,由于vmp带来的代码膨胀,寻常的调试 f5 已经对无能为力了,既然寄存器跟踪不了 那我们来跟踪数据吧。

准备工作

这里选用excel 作为trace 的一个后端,之所以用它,是因为我在b站看到了EXCEL 2024电竞大赛的相关视频 ,看的我是一愣一愣的,它主要有这几个优点
1.结果可视化
2.搜索速率强大
3.奇奇怪怪的功能丰富,不用自己造轮子

trace结构

1.指令集
2、内存读写
3.寄存器
4.值分析(写不明白)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
num: number;
   addr: NativePointer;
   offset: NativePointer;
   asm: string;
   mem_acc: string;
   reg_analyse: string;
   func_analyse: string;
   X0: NativePointer;
   X1: NativePointer;
   X2: NativePointer;
   X3: NativePointer;
   X4: NativePointer;
   X5: NativePointer;
   X6: NativePointer;
   X7: NativePointer;
   X8: NativePointer;
   X9: NativePointer;
   X10: NativePointer;
   X11: NativePointer;
   X12: NativePointer;
   X13: NativePointer;
   X14: NativePointer;
   X15: NativePointer;
   X16: NativePointer;
   X17: NativePointer;
   X18: NativePointer;
   X19: NativePointer;
   X20: NativePointer;
   X21: NativePointer;
   X22: NativePointer;
   X23: NativePointer;
   X24: NativePointer;
   X25: NativePointer;
   X26: NativePointer;
   X27: NativePointer;
   X28: NativePointer;
   FP: NativePointer;
   LR: NativePointer;
   SP: NativePointer;
   NZCV: NativePointer;
   PC: NativePointer;

[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!

最后于 2025-1-17 13:32 被kanxue编辑 ,原因:
上传的附件:
收藏
免费 181
支持
分享
最新回复 (130)
雪    币: 367
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
谢谢大佬分享
2025-1-15 16:11
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
谢谢
2025-1-15 16:24
0
雪    币: 10
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
感谢大佬分享,大佬是否也在研究attd呢
2025-1-15 16:25
0
雪    币: 2116
活跃值: (4417)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
5
大佬,请问一下trace是用的什么工具呢?
2025-1-15 16:44
0
雪    币: 16
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
1
2025-1-15 16:46
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
大佬nb
2025-1-15 16:57
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
感谢大佬分享
2025-1-15 17:05
0
雪    币: 757
活跃值: (1832)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
6
2025-1-15 19:36
0
雪    币: 1715
活跃值: (2726)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
对于上亿规模的trace分析,excel性能不行。
2025-1-15 20:56
0
雪    币: 1643
活跃值: (3296)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
666
2025-1-15 23:07
0
雪    币: 24
活跃值: (1220)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
来看看
2025-1-16 08:47
0
雪    币: 48
活跃值: (2253)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
感谢大佬
2025-1-16 10:05
0
雪    币: 196
活跃值: (3006)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
14
感觉很不错呀. 关于你提出的值分析问题, 没必要在Trace中把值分析做完, 可以尝试在后端分析过程中, 结合map进行分析. 另外trace端可以借鉴QBDI的shadowMemory机制, 区分内存读写.
2025-1-16 11:32
0
雪    币: 370
活跃值: (5353)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
15
FANGG3 感觉很不错呀. 关于你提出的值分析问题, 没必要在Trace中把值分析做完, 可以尝试在后端分析过程中, 结合map进行分析. 另外trace端可以借鉴QBDI的shadowMemory机制, 区分内 ...
受教了,谢谢大佬
2025-1-16 13:05
0
雪    币: 198
活跃值: (623)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
111111111
2025-1-16 13:32
0
雪    币: 329
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
17
2025-1-16 19:20
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
18
大佬nb
2025-1-16 21:09
0
雪    币: 383
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
19
大佬nb
2025-1-17 08:34
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
20
大佬nb
2025-1-17 08:40
0
雪    币: 225
活跃值: (2861)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
21
看看怎么回事
2025-1-17 10:15
0
雪    币: 686
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
22
mb_ldbucrik 感谢大佬分享,大佬是否也在研究attd呢
有什么attd的资料吗
2025-1-17 11:39
0
雪    币: 370
活跃值: (5353)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
23
mb_uzklxgat 有什么attd的资料吗
最后于 2025-2-12 21:01 被method编辑 ,原因:
2025-1-17 11:50
0
雪    币: 182
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
24
感谢分享
2025-1-17 14:05
0
雪    币: 366
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
25
学习一下
2025-1-17 14:26
0
游客
登录 | 注册 方可回帖
返回