更新1.3版,锁血自动化。嗯,我也觉的之前强迫症狂按快捷键的设计挺蠢的。
=============================
这回应该算是真功德圆满了,至少在我的游戏玩法下算是足够了。之前还考虑过增加一键配置咖啡屋渔场之类的东西,但后来觉得意义不大....然后统一回答下各位哈尼的问题。
1.为什么用图种:
因为其实我有帮朋友宣传他们做的游戏的意思。游戏我也没见过,不敢说一定是个好游戏,但可以肯定的是这是一帮热爱游戏的有趣的专业团队制作的CRPG,制作人算是中国DND圈的老前辈了,文案(就我那朋友)也是经常跑团每日大欧陆风云钢铁雄心的中年文青,都是多年以游戏制作为职业的资深者,所以对于喜欢DND或者CRPG的玩家,这游戏还是值得关注的。要是有哈尼觉得感兴趣,也算对得起他们请我吃的早茶了...
2.一些功能的实现思路:
SSG有的就不说了,其他的重点主要是一个游戏重启后指针变动的处理,一个是今天新增的无敌的思路。
重启处理比较简单,hook加载Sys43VM的语句(Daiteikoku.exe+185B0),即可以最快的速度知道新的基址。当然加载后内存分配之类的也要花时间,做进一步处理之前应该稍微等待一下。我的处理方法是Call调用结束后就让一个自定义的变量增加,循环读取这个变量,变动则等待500毫秒,然后更新指针...
无敌稍微麻烦一些,还是hook更新HP的代码(Sys43VM.DLL+0x1D3D4),跳转后需要判断栈中的两个值,esp+0xC的值是-1,esp+0x10的值是0x0A,这就是更新血时的栈帧,然后需要判断是不是己方提督(eax+0x18,0是己方提督)—……另外edi是提督的偏移量,根据这个可以找到那些需要被击破才出发事件的提督.。
其实我从来不做代码混淆,任何一个IL查看工具就能看逆向后的代码....