首页
社区
课程
招聘
[原创]ttEncrypt加密逆向分析(详细版)
发表于: 2025-3-31 11:34 19058

[原创]ttEncrypt加密逆向分析(详细版)

2025-3-31 11:34
19058
收藏
免费 159
支持
分享
最新回复 (136)
雪    币: 50
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
76
111
2025-6-10 11:27
0
雪    币: 166
活跃值: (1099)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
77
学习一下
2025-6-10 11:28
0
雪    币: 223
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
78
666
2025-6-10 11:47
0
雪    币: 2793
活跃值: (3025)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
79
0000
2025-6-10 17:18
0
雪    币: 0
活跃值: (251)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
80
1
2025-6-11 14:49
0
雪    币: 5107
活跃值: (1700)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
81
666
2025-6-11 15:02
0
雪    币: 0
活跃值: (372)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
82
111
2025-6-12 17:52
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
83
66
2025-6-12 21:37
0
雪    币: 791
活跃值: (2078)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
84
6666
2025-6-15 18:17
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
85
6666,强烈支持
2025-6-17 03:58
0
雪    币: 89
活跃值: (1343)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
86
666
2025-6-17 07:54
0
雪    币: 234
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
87
666
2025-6-17 16:39
0
雪    币: 1487
活跃值: (3478)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
88
牛逼
2025-6-18 17:53
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
89
2025-6-20 16:26
0
雪    币: 225
活跃值: (1101)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
90
6
2025-6-20 17:16
0
雪    币: 166
活跃值: (665)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
91

1. op1 = 47, op2 = 24 第一次分析的时候是对的, 
.text:000000000000411C                 ADD             W11, W23, #0xCD0 ; jumptable 0000000000003360 case 24 W23 = 0x0400032F, W11 = W23 & 0xCD0 = 0
.text:0000000000004124                 ADD             W12, W23, #0x340                                              W12 = W23 + 0x340 = 0x0400066F
后来又重复分析了一下, 然后就错了. 把 ADD 看成 AND 了:
.text:000000000000411C                 ADD             W11, W23, #0xCD0 ; jumptable 0000000000003360 case 24 W23 = 0x0400032F, W11 = W23 & 0xCD0 = 0
.text:0000000000004124                 ADD             W12, W23, #0x340                                       W12 = W23 & 0x340 = 0x300
2. 

00000074  00000C6F  47(0x2F49(0x31)  NOP             ;LSL    X0, X0, #0

00000070  002000CF  15(0x0F--------  B.EQ X0,X1,#0x80               如果大于则跳转到虚拟 PC 0x80处。              

0000007C  01A0003B  59(0x3B--------  STR X0, [X13, #0x0]            否则 新长度赋值为 0,表示处理失败

00000078  08000C6A  42(0x2A--------  B   0x284                      跳转到 虚拟 PC 0x284处执行
反编译的时候, 你为什么调整指令的顺序, 即 74 -> 70 -> 7C -> 78? 后面还有几次.
3.
.text:0000000000004BC4       CMP             X9, #0x20

.text:0000000000004BC8                 B.CS            loc_4BD4              相等跳转

这里错了, 应该是大于时候跳转.
4. 00000070  002000CF  15(0x0F)  --------  B.EQ X0,X1,#0x80
00000250  0040014F  15(0x0F)  --------  B.HI    #0x268          ;X0, X2, $0x14 
00000078  08000C6A  42(0x2A)  --------  B   0x284
00000260  0800072A  42(0x2A)  --------  B   0x230  

这个跳转地址如何分析出来的, 我知道是控制变量[X19,#-0x20] == 2 时候, 是call; 但是等于1,3时候, X0的地址如何计算的,搞不清楚,中间跳了好几次....
5. 还有个小错误, ORR X1 X2 X3, 后面的X2和X3的位置写反了, 虽然不影响结果.

最后于 2025-7-3 18:44 被三草儿编辑 ,原因:
2025-6-28 11:12
0
雪    币: 220
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
92
6666
2025-6-29 02:10
0
雪    币: 218
活跃值: (125)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
93
大佬怎么联系
2025-6-30 15:20
0
雪    币: 81
活跃值: (1028)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
94
1
2025-7-3 17:57
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
95
感谢大佬分析整理
2025-7-8 23:58
0
雪    币: 99
活跃值: (1032)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
96
感谢分享!!
2025-7-11 02:52
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
97
666666666666666
2025-7-14 22:22
0
雪    币: 4
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
98
6666
2025-7-14 22:50
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
99
6
2025-7-15 11:48
0
雪    币: 203
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
100
2025-7-15 23:48
0
游客
登录 | 注册 方可回帖
返回