漏洞总结:APKTool 资源重命名/注入漏洞 漏洞概述 APKTool 在处理被剥离(stripped)的 APK 文件时,存在资源重命名和注入逻辑缺陷。该问题导致: 无效的资源名称(包括目录遍历尝试)未被正确替换 缺失资源时无法注入通用条目,导致 APK 无法重新编译 缺失属性或 ID 资源(如 / 属性项)时无法处理 默认解析模式为 而非 ,导致剥离的 APK 无法重新编译 影响范围 所有使用 APKTool 处理被剥离 APK 文件的场景 特别是那些包含缺失资源、属性或 ID 的 APK 文件 可能导致 APK 无法重新编译,影响逆向工程和修改流程 修复方案 1. 严格资源名称规范:确保无效资源名称(包括目录遍历尝试)被正确替换 2. 注入通用条目:为缺失资源注入通用条目,确保剥离的 APK 可以重新编译 3. 填充缺失属性:根据实际使用情况填充缺失属性,确保剥离的 APK 可以重新编译 4. 修改默认解析模式:将默认解析模式从 改为 ,否则剥离的 APK 无法重新编译 - 模式仍可用于包含未使用的虚拟资源(很少有用) - 模式仍可用于完全忽略缺失资源(很少有用) - 非剥离 APK 的输出在所有模式下已保持一致 POC 代码/利用代码