首页
社区
课程
招聘
[原创]某加固简单分析记录
发表于: 2026-7-9 16:49 2744

[原创]某加固简单分析记录

2026-7-9 16:49
2744

注:这里有些语言描述参考a64K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6%4j5i4c8W2M7U0f1#2y4e0g2Q4x3V1k6i4j5i4c8W2M7W2u0W2N6X3g2J5M7$3g2d9N6h3I4W2M7H3`.`.


将目的so解压到/data/data/com.ct.client/files/
assets/ijm_lib/arm64-v8a/libexec.so
assets/ijm_lib/arm64-v8a/libexecmain.so

 

libexec.so最先被加载,着手libexec.so
这里先贴出对应栈栈变量对应的含义


.init_proc

 

这里有个细节就是[SP + 0x28] -> 保存了init_proc的调用者,可以推断后续X30会做文章,由于是init_proc,默认是没有参数的,直接跟进BL sub_987B4

X30 - 0x24 -> 0x9858C:

 

继续跟进 BL sub_987E8

跟进sub_98888 ->



这里细讲下:这里的X3 指定是LR寄存器保存的值,[X3, 4] -> BL 指令,

也就是说offset = imm26 << 2
init_porc:0x985A0 E0 07 B4 A9  STP X0, X1, [SP,#var_C0]!

+0x4:0x985A4 E2 03 01 A9  STP X2, X0, [SP,#0xC0+var_B0]

+0x8:0x985A8 FE 17 00 F9  STR X30, [SP,#0xC0+var_98]

+0xC:0x985AC 82 00 00 94  BL sub_987B4

+0x10:0x985B0 FE 0F 1F F8  STR X30, [SP,#0xC0+var_D0]!
0x94000082 & 0xFFFFFF = 0x82,这里只需要24位,应该是他们能够保证其在24bit能够表示的范围之内。
继续跟进BL sub_98BC8

 

对其中的部分函数进行说明
sub_98AF8:

[X1,-4] = BL imm26 << 2
W5 = imm26 & 0xFFFFFF
然后在进行sub_98B00


冰与火的战歌:Windows内核攻防实战高级班!从零到实战,融合AI与Windows内核攻防全技术栈,打造具备自动化能力的内核开发高手。

最后于 2026-7-14 09:21 被belikewater编辑 ,原因:
上传的附件:
收藏
免费 68
打赏
分享
最新回复 (35)
雪    币: 11
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
感谢老铁
2026-7-9 21:54
0
雪    币: 1560
活跃值: (5463)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
3
66
2026-7-10 08:25
0
雪    币: 1082
活跃值: (1375)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
666
2026-7-10 09:08
0
雪    币: 560
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
看看内容
2026-7-10 09:26
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
666
2026-7-10 09:33
0
雪    币: 609
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
6666
2026-7-10 09:35
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
111
2026-7-10 10:39
0
雪    币: 219
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
666
2026-7-10 15:11
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
666
2026-7-10 18:34
0
雪    币: 185
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11
666
2026-7-10 18:49
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
12
学习
2026-7-11 08:52
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
13
有惊喜吗
2026-7-11 23:09
0
雪    币: 4000
活跃值: (5254)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
过来瞧瞧
2026-7-12 15:57
0
雪    币: 1011
活跃值: (1647)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
666
2026-7-12 17:24
0
雪    币: 59
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
16
666
2026-7-13 21:58
0
雪    币: 60
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
17
1111
2026-7-14 22:21
0
雪    币: 59
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
18
这个用frida hook constructors分两次也能dump出来,不过它这个frida反调试好麻烦,大佬有时间做下吗
2026-7-16 21:20
0
雪    币: 214
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
19
感谢分享
2026-7-19 16:48
0
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
20
666
2026-7-21 09:05
0
雪    币: 42
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
21
一栋奥特曼 这个用frida hook constructors分两次也能dump出来,不过它这个frida反调试好麻烦,大佬有时间做下吗[em_006]
你可以参考libmsaoaidsec.so这个如何用frida 反调试,本质就是把thread 进行替换
2026-7-21 13:52
0
雪    币: 2433
活跃值: (1707)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
22
学习
2026-7-21 17:15
0
雪    币: 158
活跃值: (2526)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
感谢你分享这么好的资源!
2026-7-21 19:01
0
雪    币: 15
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
24
学习
+
2026-7-22 09:49
0
雪    币: 101
活跃值: (1276)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
1
2026-7-22 17:08
0
游客
登录 | 注册 方可回帖
返回