首页
社区
课程
招聘
[原创]写一个简单的签名检测
发表于: 2025-8-26 17:18 4817

[原创]写一个简单的签名检测

2025-8-26 17:18
4817

目的:检验你现有“签名校验工具/方案”的强度,把理论与实战对齐。

对比我们之前的理论基础,我实现了一个签名检测程序 Small Detector,专门面向以下三类关键检查:

Java 层签名检测:基于系统 API 读取自身(或目标包)签名信息,核验证书指纹、公钥等关键字段,评估应用“自查签名”的可靠性与覆盖面。

IO / 文件层检测:对 APK 本体与运行时文件进行只读校验,辅助识别“重签 / 二次打包 / 资源改动 / 运行态被替换”等风险线索。

包名一致性检测:对比 AndroidManifest 声明与运行时 Context.getPackageName()ApplicationInfodataDir 等信息,识别包名绕过与路径伪装。

一句话总结:用 Small Detector 去“打”你自己的签名校验逻辑,看看真实强度如何。

定位:签名校验强度的红队/自测工具,用于灰盒/黑盒条件下的快速、可复现验证。

不建议:直接作为生产环境防护组件;生产防护应当整合更完整的运行态防护与风控策略。

通过 PackageManager / PackageInfo / Signature 等获取目标包签名信息。

核验点:

证书指纹(SHA-256 / DER 摘要)与公钥参数的稳定比对

证书主体/颁发者、有效期等基础一致性

对“仅做字符串比对”的薄弱实现给出提醒

针对 APK 归档与关键条目进行只读核查:

Zip 结构合理性(中央目录偏移、条目数量、对齐特征等)。

AndroidManifest.xmlresources.arsc.dex 条目大小与压缩策略的异常指纹

运行时文件与 FD 侧线索(只读探测):

open/fstat/readlink/ 等路径与挂载信息,以发现被替换重定向迹象。

对齐以下信息源,识别包名伪装:

AndroidManifest 中的包名;

运行时 Context.getPackageName()ApplicationInfodataDiruid 等;

/data/user/0/<package>/... 路径推导是否与声明/运行时一致。

注:本版本不包含 V3 对抗相关内容;如需更深入的结构比对,可在后续扩展版中开启。

安卓 7.0+ 推荐;允许“未知来源”后直接安装 APK。

场景 A:重签识别

取一份你的正式 APK;2) 使用调试证书重签;3) 分别检测并对比结果。
预期:能稳定识别重签/二次打包,且 Java 层比对不被简单绕过。

场景 B:运行态替换线索
在常规与带 Hook/文件重定向的环境分别运行,关注 IO 报告与异常指纹。

场景 C:包名伪装识别
对比 Manifest 与运行时包名/路径/UID 是否一致,识别伪装或“多开容器”痕迹。

调试环境可能闪退:属于自检/对抗副作用,用于提示运行态不可信。

开启 eBPF Hook 可能出现对抗:不同内核策略下可能异常退出。

内核强制反调试(写死策略):如系统层禁止调试/跟踪,也可能触发闪退。

这些现象用于暴露“实验室强度 ≠ 真实环境强度”。若你的签名校验能在此环境下仍然产出可信结论,说明方案更稳健。

证书/指纹:显示证书摘要、公钥要素、主体/颁发者等。

文件/结构线索:Zip/Manifest/DEX/资源条目与运行时 FD 信息的异常提示。

包名一致性:Manifest、运行时信息、路径三者是否一致。

建议做法(我的观点)

将 Small Detector 作为签名校验强度门禁接入 CI:重签 → 检测 → 必须失败;

同时保留 离线文件基线(哈希、大小、条目数)与运行态自检两条线,避免单点策略被绕过。

蓝奏云(直装包)

a6dK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6$3k6T1i4K6u0W2L8r3q4F1P5X3!0#2N6#2)9J5k6h3y4G2L8g2)9J5c8X3W2G2d9g2S2B7x3K6c8C8k6%4x3$3k6l9`.`.

GitHub(APK 与资料)

077K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6z5K9g2c8A6j5h3&6q4M7W2S2A6L8X3M7$3y4U0k6Q4x3V1k6Q4x3X3c8m8L8X3c8J5L8$3W2V1f1X3g2$3k6i4u0K6k6g2)9J5c8X3u0D9L8$3u0Q4x3V1k6E0j5h3W2F1i4K6u0r3i4K6t1#2c8e0N6Q4x3U0g2m8c8q4)9J5y4f1u0q4i4K6t1#2c8e0g2Q4x3U0f1&6x3q4)9J5y4e0S2p5i4K6t1#2c8e0k6Q4x3U0g2m8x3q4)9J5y4f1p5I4i4K6t1#2c8e0W2Q4x3U0g2m8b7g2)9J5y4e0S2o6i4K6t1#2c8e0N6Q4x3U0f1&6b7W2)9J5y4f1t1^5i4K6t1#2c8e0g2Q4x3U0f1^5y4g2)9J5y4f1t1K6i4K6u0r3f1$3#2S2L8r3I4Q4x3U0f1J5x3p5c8W2N6r3g2U0N6r3!0J5i4K6u0W2j5i4m8C8

仅用于学习研究与自测;严禁用于未授权的渗透、绕过、攻击。

使用者需确保行为合规,一切后果自负。

—— 目标始终如一:用可复现实验把签名校验做“硬”,让强度可量化、可回归。


作者目前的 的环境位android 13  在你的设备上可能不兼容

目的:检验你现有“签名校验工具/方案”的强度,把理论与实战对齐。

注:本版本不包含 V3 对抗相关内容;如需更深入的结构比对,可在后续扩展版中开启。

这些现象用于暴露“实验室强度 ≠ 真实环境强度”。若你的签名校验能在此环境下仍然产出可信结论,说明方案更稳健。

  • Java 层签名检测:基于系统 API 读取自身(或目标包)签名信息,核验证书指纹、公钥等关键字段,评估应用“自查签名”的可靠性与覆盖面。

  • IO / 文件层检测:对 APK 本体与运行时文件进行只读校验,辅助识别“重签 / 二次打包 / 资源改动 / 运行态被替换”等风险线索。

  • 包名一致性检测:对比 AndroidManifest 声明与运行时 Context.getPackageName()ApplicationInfodataDir 等信息,识别包名绕过与路径伪装。

  • 定位:签名校验强度的红队/自测工具,用于灰盒/黑盒条件下的快速、可复现验证。

  • 不建议:直接作为生产环境防护组件;生产防护应当整合更完整的运行态防护与风控策略。

  • 通过 PackageManager / PackageInfo / Signature 等获取目标包签名信息。

  • 核验点:

    • 证书指纹(SHA-256 / DER 摘要)与公钥参数的稳定比对

    • 证书主体/颁发者、有效期等基础一致性

    • 对“仅做字符串比对”的薄弱实现给出提醒

  • 证书指纹(SHA-256 / DER 摘要)与公钥参数的稳定比对

  • 证书主体/颁发者、有效期等基础一致性

  • 对“仅做字符串比对”的薄弱实现给出提醒


传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2025-8-26 17:20 被逆天而行编辑 ,原因:
上传的附件:
收藏
免费 123
支持
分享
最新回复 (81)
雪    币: 7
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2025-8-26 19:49
0
雪    币: 193
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
1
2025-8-27 04:01
0
雪    币: 204
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
1
2025-8-27 09:19
0
雪    币: 3261
活跃值: (12385)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
厉害,感谢分享
2025-8-27 09:46
0
雪    币: 2622
活跃值: (7209)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢分享
2025-8-27 10:02
0
雪    币: 375
活跃值: (3176)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
666
2025-8-27 10:42
0
雪    币: 477
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
谢谢分享
2025-8-27 11:00
0
雪    币: 3009
活跃值: (3844)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
过来看看
2025-8-28 06:15
0
雪    币: 64
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
666
2025-8-28 06:40
0
雪    币: 2444
活跃值: (2672)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
学习
2025-8-28 07:30
0
雪    币: 767
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
12
大佬厉害
2025-8-28 07:59
0
雪    币: 19
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
13
mark
2025-8-28 09:25
0
雪    币: 309
活跃值: (1331)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
mark
2025-8-28 12:45
0
雪    币: 213
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
15
谢谢分享
2025-8-28 13:41
0
雪    币: 0
活跃值: (340)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
666
2025-8-28 14:25
0
雪    币: 1647
活跃值: (2798)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
17
666
2025-8-28 15:28
0
雪    币: 1152
活跃值: (1251)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
可以学习
2025-8-28 15:31
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
19
666
2025-8-28 16:15
0
雪    币: 1762
活跃值: (1240)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
20
感谢分享
2025-8-28 16:37
0
雪    币: 9343
活跃值: (7227)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
21
感谢分享
2025-8-28 17:46
0
雪    币: 1391
活跃值: (6838)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
22
1
2025-8-29 17:55
0
雪    币: 203
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
23
1
2025-8-29 18:22
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
24
66666666666666666666
2025-8-29 22:53
0
雪    币: 1
活跃值: (3793)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
+++++
2025-8-30 01:03
0
游客
登录 | 注册 方可回帖
返回