本帖最后由 YiZheng 于 2020-2-19 15:34 编辑
打扰一下,阅读本教程你得会点CE的基础,如果你是小白我会在文章末尾附上CE教程的链接;
游戏选择的是【连连看3】,游戏会附在末尾
“亲,建议预览一下游戏界面呢!“
相见就是缘分,多看看,多分析分析总是好的,有句话说得好,学而不思则罔,思而不学则殆,不思不学是什么?答案:”【网贷】“;
咳咳!上面血条代表时间,生命代表可洗牌次数,主要先修改这两个,目标是为了不让游戏结束,方便找到棋盘的基址;
生命:[zzllk.exe+36374 ]+AC4 【单字节】;
时间:[zzllk.exe+36374 ]+E0 【双字节】;
重点来了,找棋盘的地址,简单分析一下;
1.找第一颗棋子的内存地址,因为大多数情况它和其它棋子是连在一块的;
1.棋子是单字节,如果程序员不傻的话;
2.每次洗牌棋子会变,相应的内存也会变;
3.棋子消除,相应的内存区域归零,或者255;
懂得可以开干了!奥里给!
找第一颗:【数值类型:字节】【扫描类型:未知的初始值】—>洗牌—>【扫描类型:变动的数值】—>重复这个步骤,如果洗牌后这颗棋子没有变化恭喜你成功了—>【扫描类型:为变动的数值】,这时候会出来几个也可能是一个,一个一个右击浏览相关内存区域,如果出来一个与下图差不多的内存结构就成功了;
你如果找到的不是第一颗棋子,你浏览内存区域的话,是没有我这样排列的很规律的,但是只要有一堆零,一堆FF,就差不多对了;
第一颗棋子的地址:【zzllk.exe+36374】+198*4
现在你可以把所有的内存改成同一个数字,你会发现整盘棋都一毛一样了;
好了结束了,大神勿喷,小白就自个玩吧;
下篇:【编程实现找出相同的棋子】;
这个是CE中级教程,有点老不过能学到东西;
|