首页
社区
课程
招聘
[原创]Zygisk注入器 - 动动手指轻松注入并隐藏你的SO文件
发表于: 11小时前 370

[原创]Zygisk注入器 - 动动手指轻松注入并隐藏你的SO文件

11小时前
370

作者在去年发布了Zygisk注入模块的实现,成功实现了模块的自动注入和Riru隐藏功能。

然而,每次更换目标应用都需要重新编译,操作繁琐,导致用户采用率不高。为了解决这个问题,作者对项目进行了全面重构,带来了以下改进:

项目已完全开源,包含面具模块、管理APP以及所有打包脚本,并配置了GitHub CI自动构建。欢迎各位开发者贡献代码,提交PR。

项目地址87bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6B7K9i4q4A6N6e0t1H3x3U0u0Q4x3V1k6K9P5h3N6A6M7$3E0Q4x3X3c8y4P5f1W2F1K9X3g2U0N6r3!0J5

特别感谢以下项目和开发者(按时间顺序):

如果对自定义linker感兴趣的大佬,推荐soLoader作者的文章b8eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6&6N6i4g2C8K9g2)9J5k6h3y4G2L8$3I4Q4x3V1j5J5x3o6t1#2i4K6u0r3x3o6k6Q4x3V1j5I4y4g2)9J5c8V1y4#2M7%4c8G2L8f1I4A6L8X3E0W2M7W2)9J5c8R3`.`.

前往 GitHub Release 页面下载最新版本的面具模块

本教程以 v1.1.0 版本为例

下载模块文件(如下图所示):

CleanShot_2025_06_26_at_20_33_37

安装到手机,支持所有面具模块相关的APP(如 KernelSU、APatch 等)

注意:如果您的APP不支持Zygisk注入,请额外安装 Zygisk-Next 模块,否则可能导致注入失败。

进入"SO文件管理",点击"增加SO文件":

CleanShot_2025_06_26_at_20_36_35

选择要注入的SO文件:

CleanShot_2025_06_26_at_20_37_10

本教程使用以下两个SO文件进行测试:

提示:后文将解释为什么自定义linker无法注入 libgadget.so

选择SO后,系统会询问是否删除原文件:

CleanShot_2025_06_26_at_20_38_42

设计理念:此功能可防止某些APP扫描tmp目录中的SO文件进行风控检测。

添加成功后,SO管理界面会显示已添加的文件:

CleanShot_2025_06_26_at_20_39_38

本教程以珍惜大佬的Hunter为例演示配置过程。

点击空白处,配置注入参数:

CleanShot_2025_06_26_at_20_40_50

保存配置后,开启注入开关:

CleanShot_2025_06_26_at_20_41_17

打开目标APP,查看日志输出:

CleanShot_2025_06_26_at_20_42_17

成功打印"我已经成功加载",表明注入成功。

切换到gadget进行测试:

CleanShot_2025_06_26_at_20_43_27

特性:本注入模块支持同时注入多个SO文件。

CleanShot_2025_06_26_at_20_44_09

注入成功:

CleanShot_2025_06_26_at_20_44_19

说明:由于使用的Hunter版本较旧,可能无法检测到注入。建议使用新版本进行测试。

测试Riru Hide功能:

CleanShot_2025_06_26_at_20_46_07

提示:修改配置后,建议先关闭再开启注入开关,确保新配置生效。

CleanShot_2025_06_26_at_20_46_45

Riru Hide成功生效。

测试自定义Linker加载:

CleanShot_2025_06_26_at_20_47_19

加载成功:

CleanShot_2025_06_26_at_20_47_34

参考项目中的 CI配置文件

如果您fork了本项目,只需在本地修改代码并push,云端将自动编译。

使用项目提供的 build_all.sh 脚本进行编译。

环境要求:需要Java 17环境。

因为gadget的init_array里面其中有一个函数,尝试使用maps和soinfo获取到自己模块的信息,防止递归调用。

但是自定义linker的soinfo和内存段都是自己分配的,导致gadget找不到自己,发生了断言失败,我们可以简单的去掉断言,但是可能造成其他bug,后续作者会和小佳一起修复。

当然还有一种复杂的方法,就是用注入的so的soinfo,替换成要注入的so的,多见于360等壳子,等后续作者会实现。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 11小时前 被棕熊编辑 ,原因:
收藏
免费 22
支持
分享
最新回复 (21)
雪    币: 27
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
1
11小时前
0
雪    币: 2529
活跃值: (6561)
能力值: ( LV9,RANK:235 )
在线值:
发帖
回帖
粉丝
3
支持
11小时前
0
雪    币: 2320
活跃值: (2779)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
太强了 楼主
11小时前
0
雪    币: 41
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
1
11小时前
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
学习
11小时前
0
雪    币: 19
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
1
10小时前
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
学习
10小时前
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
看看
10小时前
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
楼主,开启注入时:APP将管理器中的SO复制到目标APP目录,这个目录是复制到data/data/包名下,还是说data/app/包名/lib下
10小时前
0
雪    币: 4
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11
感谢分享
9小时前
0
雪    币: 8
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
12
感谢分享
9小时前
0
雪    币:
活跃值: (1030)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
感谢分享。
8小时前
0
雪    币: 765
活跃值: (1542)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
支持下吧
7小时前
0
雪    币: 80
活跃值: (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
感谢分享
5小时前
0
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
16
感谢分享
2小时前
0
雪    币: 117
活跃值: (1541)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
666
2小时前
0
雪    币: 12051
活跃值: (18914)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
实现了模块的自动注入和Riru隐藏功能
1小时前
0
雪    币: 2270
活跃值: (6065)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
谢谢分享
50分钟前
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
20
android 15支持吗?
45分钟前
0
雪    币: 2265
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
21
看看
36分钟前
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
22
SO文件还要自己去开发?
31分钟前
0
游客
登录 | 注册 方可回帖
返回