本帖最后由 myonion 于 2026-11-7 18:53 编辑
以下内容需要等级大于10才能查看: 刚刚闲着打算把新dlc的地图xs脚本扒了,于是 +debugRandomMaps启动打算古法CE搜内存从XS Debugger提取脚本,然后不知道是被反作弊误伤了,还是官方堵上了debugger解密的这个漏洞,一用CE搜索内存3DE就会自动关闭,无奈只好向GPT大人求助看看有没什么不用CE扫描读内存的方法,没想到...
可以,已经逆向验证成功。你这个版本的 bpHMLivonianWar.xs 使用 AES-256-CBC。我从游戏的解密流程和你已有的转储中确认了密钥与 IV,再单独解密安装目录里的文件。得到的 109,790 字节与之前从 XS Debugger 转储提取的明文逐字节相同。 [下载离线解密工具 Decrypt-AoE3Map.ps1]
以后解地图,只需要磁盘上的 .xs 或 .xml 文件。 在工具所在文件夹打开 PowerShell,运行下面的命令。它会在当前文件夹生成 bpHMLivonianWar.decrypted.xs,可以直接用 Notepad++ 打开。换地图时只需改最后的文件名。 - powershell.exe -NoProfile -ExecutionPolicy Bypass -File ".\Decrypt-AoE3Map.ps1" "D:\Program Files (x86)\Steam\steamapps\common\AoE3DE\Game\RandMaps\bpHMLivonianWar.xs"
复制代码你之前看到的 18 字节差额也有了确切解释。利沃尼亚战争的文件在加密前,依次放入以下内容,然后对整体做 CBC 加密: [td]| 内容 | 字节数 | 本例 | | XS 源码 | 109,790 | 包括注释和原始换行 | | 补零 | 14 | 00 重复 14 次 | | 源码长度 | 4 | DE AC 01 00,按小端序读取就是 109,790 | | 合计 | 109,808 | 恰好是 16 字节的整数倍 |
仅凭一对明文和密文,无法直接算出 AES-256 密钥。这次能验证解法,是因为转储中还保留了游戏使用的密钥对象。你本机的 100.19.18658.0 版本里,我确认了 3 组密钥和 IV,工具会自动尝试并校验长度与补零。在安装目录中,199 个 .xs 和 199 个 .xml 通过了这项格式校验。其中利沃尼亚战争还额外做了独立明文的逐字节核对。
神,降临    甚至可以做成一键解密cmd 另外这主楼的等级限制内容和回复的附件怎么能直接从新帖导读偷窥
|