这几天在玩剑三,突然兴趣来了,想要分析剑3的资源打包格式。在资源分析和逆向方面原来偶尔也干过,
不过总体来说还是处于菜鸟阶段,这篇文 章希望和其他有兴趣的兄弟分享下这几天的经历,仅仅作为技术研究。
一、安全保护
一般来说,很少有游戏的资源格式可以直接通过分析资源文件本身得到答案,大部分难免要静态逆向、动态调试。
无论是静态逆向还是动态调试,首先 需要知道当前exe和dll的保护情况,用peid查看,发现只有gameupdater.exe 用upx加壳了。不太明白金山为什么对客户端没有加壳。
其实我并不关心gameupdater.exe 是否加壳,毕竟要动态分析的目标是JX3Client.exe ,要动态调试JX3Client.exe,首先要解决启动参数问题。
二、启动参数
如果直接启动JX3Client.exe,JX3Client.exe会直接退出,并启动gameuodater.exe,然后通过 gameupdater.exe启动JX3Client.exe。
这种启动方式会影响动态调试,所以首先我需要找出JX3Client.exe的 启动参数。打开IDA逆向,转到启动处,汇编代码如下:
start proc near
call ___security_init_cookie
jmp ___tmainCRTStartup
start endp
call ___security_init_cookie
jmp ___tmainCRTStartup
start endp