关于跟踪读写内存有关问题(汇编)


关于跟踪读写内存问题(汇编)
写游戏修改器,写完了生成配置、数据搜索、指针扫描功能,差跟踪内存读写问题。
这个问题是这样的:如何获取读写本进程内存的汇编代码地址?
例如:进程A.EXE的地址00F00000内容为0A   00   00   00,如何跟踪A.EXE读和写该地址的汇编代码,获取该汇编代码的地址?
是HOOK   API?HOOK那个呢?COPYMEMORY不行。难道是扫描内存然后分析数据?反正我是不会了,能提供这方面的详细介绍内容也可。

VisualBasic程序开发环境 程序开发 VisualBasic

青果山圣斗士 11 years ago


你搜索softice bpm 这个是在内存下断点的.
ollydbg也可以的,找到你的数据,然后下内存读或者写断点,然后这个数据改变的时候就会断下来
在写地址的那句汇编上.

Illya answered 11 years ago



文中所说的bpm断点就是读写内存的断点,可以是代码段中,也可以是在数据段中.
你要是用过softice或者是trw之类的调试器就会知道bpm断点.
^_^说实话,我只是对这些东西了解一些,并没有做过类似的东西.

闷骚宅女. answered 11 years ago


刚才搜索了一下,有牛人说道使用DRx寄存器

小松あすか answered 11 years ago


读写内存的时候中断,这个时候断点所在的地方就是读写的汇编代码了

散华礼弥1 answered 11 years ago


修改器的原理都是使用WriteProcessMemory()对指定内存区域进行写入。

如果要实现数值锁定功能就ReadProcessMemory()不断进行指定内存区域的读取,发现数值有改变就重新写入。

吴克的叔叔葛炮 answered 11 years ago


内存代码 和 汇编代码的转换问题。。。。

其实也可以说内存中的代码(应该叫机器码了)就是汇编代码
只不过汇编代码是以符号化的方式显示出来,以方便的理解

具体的转换工作。。。 目前我也很想知道,如果知道了这个
那我早就可以在VB中用汇编了。。。。。

一般的转换原理:
Mov eax,数据
原理好像是 先将 Mov 按约定的机器码 or 或者 xx 与后面的参数运算后 得到
本条语句的机器码。。。 具体,研究了一段时间,但苦于找不到教材实在.....

Site。 answered 11 years ago


用VB整这个难度大了点,换了我可能找点VC的代码,然后学学VC的使用(虽然也挺费劲).

じ星辰Ж泪葉 answered 11 years ago


楼主你总拿红警作例子,我以前写过一个红警金钱修改的小程序,我发现红警有3个内存偏移地址存放金钱值,而且相互校验,其中2个内存偏移地址为固定的,一个为动态变化的。不知道这对你有什么帮助没有!我改的是红警2.0的金钱值,在希赛资源里能找到我哪个不成器的东西

温柔美丽袁小青 answered 11 years ago


咳咳.......帮顶一下.......

arbiter answered 11 years ago


咳咳.......帮顶一下.......

原厂轩辕王 answered 11 years ago


呵呵~
其实这个问题你应该去那里问一下吧。
好像有人在搞调试器,问下收获应该会比较大。

黑白色D魔理沙 answered 11 years ago


关注

三千年的猪 answered 11 years ago


学习

爱德君7788 answered 11 years ago

Your Answer