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

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

2026-7-9 16:49
2123

注:这里有些语言描述参考596K9s2c8@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编辑 ,原因:
上传的附件:
收藏
免费 0
打赏
分享
最新回复 (22)
雪    币: 11
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
感谢老铁
2026-7-9 21:54
0
雪    币: 1551
活跃值: (5338)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
3
66
2026-7-10 08:25
0
雪    币: 1036
活跃值: (1310)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
666
2026-7-10 09:08
0
雪    币: 548
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
看看内容
2026-7-10 09:26
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
666
2026-7-10 09:33
0
雪    币: 601
能力值: ( 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
雪    币: 3946
活跃值: (5194)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
过来瞧瞧
2026-7-12 15:57
0
雪    币: 954
活跃值: (1562)
能力值: ( 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反调试好麻烦,大佬有时间做下吗
5天前
0
雪    币: 214
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
19
感谢分享
2天前
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
20
666
16小时前
0
雪    币: 18
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
21
一栋奥特曼 这个用frida hook constructors分两次也能dump出来,不过它这个frida反调试好麻烦,大佬有时间做下吗[em_006]
你可以参考libmsaoaidsec.so这个如何用frida 反调试,本质就是把thread 进行替换
11小时前
0
雪    币: 2389
活跃值: (1626)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
22
学习
8小时前
0
雪    币: 158
活跃值: (2456)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
感谢你分享这么好的资源!
6小时前
0
游客
登录 | 注册 方可回帖
返回