完整课程入口:996 全套课程体系 | Lua 学习路径 | 幂尔框架 mirs.cn
解包工具按扩展名和标准目录批量提取资源:.png、.lua、.anim 一扫一个准。在加密之外,资源命名与目录结构的"非标准化"能把批量提取的成本抬高一个量级。适用于:客户端资源目录、热更补丁目录、脚本数据文件的存放策略。
策略一:伪扩展名。 脚本文件统一改用无意义后缀(.dat、.bin、.res),加载端按固定偏移读取。批量解包工具按扩展名分类的流程直接失效,攻击者需要逐文件识别格式。策略二:哈希目录。 资源目录从 res/ui/equip/ 改为按内容哈希前缀分桶(res/7f/7f3a2c.png),目录结构失去语义,无法按"装备图标"这类业务含义批量定位。策略三:清单内聚。 资源与用途的对应关系只存在于加密的清单文件里,清单本身走二次加密(参考 xxtea 篇的三层方案),破不开清单就看不懂资源用途。
命名非标准化后,加载端必须维护"逻辑名 → 物理路径"的映射表,映射表随清单一起加密下发。注意两点:映射表查询是热路径,哈希表结构一次到位;构建期生成映射表时做一次冲突检测(逻辑名唯一性),避免两个逻辑名指向同一物理文件。
某 996 客户端实施后复测:通用解包工具提取结果全部为乱码文件、无目录语义,人工整理 2 小时仅还原 11% 的资源对应关系;未实施前同工具 3 分钟提取全部且按目录分类清晰。边界说明:防扫描只防"批量自动化",防不了人工逐文件分析——人工分析的天花板由加密(xxtea 篇)与完整性自校验负责。三项手段(加密、命名、清单内聚)叠用的客户端,资源被完整还原的成本高于重新制作,攻击动机自然消散。