例如我打开记事本,想获取里面的内容,
ReadProcessMemory它的第二个值是通过怎么算得到的??

解决方案 »

  1.   

    如果只是要获取记事本的文本,可以直接发送WM_GETTEXT消息来获取文本。
    也可以用内存搜索工具取到地址后用ReadProcessMemory读。举个例子吧:
    打开记事本,输入:hello world打开一个内存搜索的软件,比如Cheat Engine,
    选择记事本在搜索的地方选Value Type:Text,Unicode,搜索hello world。
    记事本保存的是unicode字符,所以这里要选上。这时你会得到内存中存放hello world的地址。
    之后你直接写OpenProcess,ReadProcessMemory那个地址和hello world的长度就好了。
      

  2.   


    这个要看游戏的设计,如果金钱值什么的放在全局变量里就不会变,简单判断方式就是你重新开几次游戏,看看每次搜索到的是否是固定地址就知道了。不过大部分游戏都会用new的方式,那么地址就不是固定的,你要先找到保存内存指针的全局固定地址,然后一步一步往下解。这个地址值就是金山游侠搜索的那个地址值。