12345下一页
查看: 97|回复: 39

[相关教程] 安卓App完整性校验绕过:Play Integrity和签名和Dex校验

[复制链接]

96

主题

5

回帖

951

积分

UID
2
贡献
9 点
钻石
7 个
C币
993 个
发表于 2026-2-21 10:01:14 | 显示全部楼层 |阅读模式
安卓 App 完整性校验是 Google Play 的安全机制。开发者可以检测 App 是否被篡改。逆向时需要绕过。

一、Play Integrity API(原 SafetyNet)
Google 的设备完整性验证服务。App 调用 Play Integrity API,Google 服务器返回设备是否可信、App 是否被篡改的判断。

绕过方法:

  • 用 Frida hook 网络请求,伪造 Google 服务器返回的 JSON。需要知道完整的 response 格式
  • 用 Magisk 模块(如 Shamiko)隐藏 root 和 hook 痕迹
  • 在 Google Pixel 设备上用 LSPosed 隐藏 Xposed 痕迹


二、应用签名校验
App 在运行时调用 PackageManager 获取自身签名,跟预设值比对。

Frida 绕过:
  1. Java.perform(function() {
  2.     var PM = Java.use("android.app.PackageManager");
  3.     PM.getPackageInfo.overload('java.lang.String', 'int').implementation = function(name, flags) {
  4.         var info = this.getPackageInfo(name, flags);
  5.         info.signatures.value = Java.array("android.content.pm.Signature", [
  6.             Java.use("android.content.pm.Signature").$new("原签名hex")
  7.         ]);
  8.         return info;
  9.     };
  10. });
复制代码

三、Dex 完整性校验
App 运行时计算 classes.dex 的 hash,跟预设值比对。防止重打包。

绕过:找到校验代码(通常在 Application.onCreate 或 native 层),用 Frida hook 让 hash 比较返回 true。或者直接 patch smali 删除校验逻辑。

四、文件存在性检测
App 检查 /system/xbin/su、/sbin/.magisk 等路径是否存在,判断是否 root。

绕过:用 Magisk Hide 或 Shamiko 模块,让目标 App 看不到这些文件。

温馨提示:
1、在论坛里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、论坛的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
6、网络世界也请遵守我国的法律法规!一旦发现违法行为,将立即封存相关信息并报警处理!
回复

使用道具 举报

匿名  发表于 2026-9-17 18:32:56
占坑编辑ing
回复

使用道具

0

主题

381

回帖

50

积分

UID
764601
贡献
0 点
钻石
0 个
C币
1 个
发表于 2026-9-17 18:37:21 | 显示全部楼层
写得很细,尤其是中间那段,说到点上了。
回复

使用道具 举报

0

主题

361

回帖

0

积分

UID
147732
贡献
0 点
钻石
0 个
C币
0 个
发表于 2026-9-17 18:44:57 | 显示全部楼层
静态分析搞不定的部分,动态跑一遍基本就清楚了。这套思路对其他 App 通用吗?
回复

使用道具 举报

0

主题

366

回帖

61

积分

UID
172788
贡献
0 点
钻石
0 个
C币
0 个
发表于 2026-9-17 18:50:18 | 显示全部楼层
关键算法的定位比还原实现更耗时间。这类分析一般要多久能出结果?
回复

使用道具 举报

0

主题

359

回帖

0

积分

UID
908569
贡献
0 点
钻石
0 个
C币
0 个
发表于 2026-9-17 18:55:31 | 显示全部楼层
混淆只能提高门槛,不能真正阻止有心人。想了解下有没有遇到反调试的坑?
回复

使用道具 举报

0

主题

354

回帖

33

积分

UID
644551
贡献
0 点
钻石
0 个
C币
1 个
发表于 2026-9-17 19:00:34 | 显示全部楼层
通信协议那层如果能抓到明文,能省掉大量逆向工作。
回复

使用道具 举报

0

主题

384

回帖

0

积分

UID
416124
贡献
0 点
钻石
0 个
C币
0 个
发表于 2026-9-17 19:05:28 | 显示全部楼层
这类活很吃经验,工具只是辅助。
回复

使用道具 举报

0

主题

390

回帖

45

积分

UID
481551
贡献
0 点
钻石
0 个
C币
1 个
发表于 2026-9-17 19:10:22 | 显示全部楼层
这类技术更新的频率很高,老教程参考价值有限。
回复

使用道具 举报

0

主题

377

回帖

54

积分

UID
655918
贡献
0 点
钻石
0 个
C币
0 个
发表于 2026-9-17 19:13:43 | 显示全部楼层
整体思路对,不过细节上不同版本差异还是很大的。
回复

使用道具 举报

温馨提示:
1、在论坛里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、论坛的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
6、网络世界也请遵守我国的法律法规!一旦发现违法行为,将立即封存相关信息并报警处理!
12345下一页
您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

QQ客服返回顶部