我想把 Steam 上 Saya 的资源提取出来。用 GARbro 尝试时候发现资源文件被加密了,GARbro 的数据库还没有针对这个更新。
Nitro+ 的 NPK 文件用的加密算法是 AES,密钥一般就硬编码在程序里。逆向找密钥的时候有个小技巧:现代程序使用 AES 的时候一般会先判断 CPU 是否支持 AES-NI,有一个 调用 CPUID 然后 if ( _ECX & 0x2000000 ) 的操作,如果支持就调用相关指令。所以搜索 CPUID、AESDEC 之类就可以很快定位到 AES 相关函数。
找到密钥后,随便用什么办法喂给 GARbro 就行了。因为 GARbro 不光能提取资源,还可以重打包。所以理论上可以任意修改,往里加戏,把柯南加进去都行。