修改内存数据有那么难理解吗?建议楼主去玩玩Cheat Engine和OllyDBG。

解决方案 »

  1.   

    我可以这么理解吗?
    FindFirst是在全部内存中查找,比如我要查找1003,那么所有内存块值是1003的内存地址都会存入我声明的数组中。程序1中有值为1003是肯定的,别的进程中也可能有值是1003,所以检索出来的地址有可能是多个?FindNext是对FindFirst查找出来的地址进行筛选,看究竟哪个地址是程序1中我们要修改的那个变量的地址。所以要改变输入值,如果某个地址不是我们想要的,那么新输入的值很可能不在那个地址中出现,所以那个地址就不是目标地址。通过不断改变查找值,最终只剩下一个地址就是要找的地址。关于那个在程序1摁两下回车,我查了下,貌似是要模拟游戏进程的那个变量的改变?比如要修改阳光值,游戏中阳光是不断减少的,就是要模拟一下那个。对于程序编写没有什么实质的作用?帮我看一下是这个样子的吗?
      

  2.   

    我可以这么理解吗?
    FindFirst是在全部内存中查找,比如我要查找1003,那么所有内存块值是1003的内存地址都会存入我声明的数组中。程序1中有值为1003是肯定的,别的进程中也可能有值是1003,所以检索出来的地址有可能是多个?FindNext是对FindFirst查找出来的地址进行筛选,看究竟哪个地址是程序1中我们要修改的那个变量的地址。所以要改变输入值,如果某个地址不是我们想要的,那么新输入的值很可能不在那个地址中出现,所以那个地址就不是目标地址。通过不断改变查找值,最终只剩下一个地址就是要找的地址。关于那个在程序1摁两下回车,我查了下,貌似是要模拟游戏进程的那个变量的改变?比如要修改阳光值,游戏中阳光是不断减少的,就是要模拟一下那个。对于程序编写没有什么实质的作用?帮我看一下是这个样子的吗?
      

  3.   

    那个。。我还得问一下。。产生数的程序1是个while循环啊,那么变量每次只有一个值才对,如果我一直不摁enter那么变量的值会一直是1002啊,为什么后面搜索1000的时候会把这个变量的地址搜出来呢?