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

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

2026-7-9 16:49
3509

注:这里有些语言描述参考f6eK9s2c8@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


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

最后于 2026-7-14 09:21 被belikewater编辑 ,原因:
上传的附件:
收藏
点赞 ・89
打赏
分享
最新回复 (52)
雪    币: 11
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2 楼
感谢老铁
2026-7-9 21:54
0
雪    币: 1901
活跃值: (6053)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
3 楼
66
2026-7-10 08:25
0
雪    币: 1406
活跃值: (1820)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4 楼
666
2026-7-10 09:08
0
雪    币: 593
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5 楼
看看内容
2026-7-10 09:26
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6 楼
666
2026-7-10 09:33
0
雪    币: 635
能力值: ( 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
雪    币: 4301
活跃值: (5719)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14 楼
过来瞧瞧
2026-7-12 15:57
0
雪    币: 1053
活跃值: (1711)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15 楼
666
2026-7-12 17:24
0
雪    币: 59
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
16 楼
666
2026-7-13 21:58
0
雪    币: 50
能力值: ( 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
雪    币: 224
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
19 楼
感谢分享
2026-7-19 16:48
0
雪    币: 128
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
20 楼
666
2026-7-21 09:05
0
雪    币: 111
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
21 楼
一栋奥特曼 这个用frida hook constructors分两次也能dump出来,不过它这个frida反调试好麻烦,大佬有时间做下吗[em_006]
你可以参考libmsaoaidsec.so这个如何用frida 反调试,本质就是把thread 进行替换
2026-7-21 13:52
0
雪    币: 3679
活跃值: (2089)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
22 楼
学习
2026-7-21 17:15
0
雪    币: 158
活跃值: (2791)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23 楼
感谢你分享这么好的资源!
2026-7-21 19:01
0
雪    币: 215
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
24 楼
学习
+
2026-7-22 09:49
0
雪    币: 101
活跃值: (1326)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25 楼
1
2026-7-22 17:08
0
游客
登录 | 注册 方可回帖
返回