不知道这个问题放在这里讨论是否合适就拿英雄无敌这个单机游戏来练习,修改其中的金钱之类数据。delphi关于内存读写方面的代码是没问题的不过内存当中存放四个字节单位的数据类型,我用byte接收跟用integer接收,数据不一样……两类型间区别是否在于它们所占用内存字节数的不同?integer占用四个字节,比如它用12 00 00 00代表18这个整数,那 12 55 00 00类似这样的是多少整数?我试过修改成这样,变得非常大,想请教一下,这个换算规则是什么?如果我修改第三个字节的话,数据变得更大。……最后还有个问题游戏每次从新开启,这个数据点的内存位置便会发生变化,不知道如何确定其游戏基址,只要能确定基址的话,这个位置的变化就在固定的偏移量里。另外再问一下游戏打开后,我们用金山游侠这类工具找到的内存地址是相对游戏内存的,还是整个系统内存的???应该不会是系统内存吧?没理由游戏每次打开都注定分配到这一块系统内存。那如果这样的话,这两个内存地址是否可以相互换算?就是说如何将我们查找到的内存地址转换成系统全局的内存地址呢?还有我不知道怎么称呼这个一直变化的内存地址……我每次重新打开游戏,金钱的地址都在变化,不过不会出现像红色警报那样多个地址,他符合的内存地址只有一处。