金山游侠的原因(怎么查找和修改另一应用程序的值)
金山游侠是通过修改另一个游戏的内存来改游戏里面的值,在VC中应该怎么实现查找和修改另一个程序的值,给点提示吧,这些一点都不明白怎么实现的?我知道每个应用程序都有自己独立的...
金山游侠是通过修改另一个游戏的内存来改游戏里面的值,在VC中应该怎么实现查找和修改另一个程序的值,给点提示吧,这些一点都不明白怎么实现的?
我知道每个应用程序都有自己独立的4GB虚拟内存空间,但怎么知道应用程序在物理内存上的地址并修改?还是有其它方法去改?比如运行暗黑,然后运行修改程序,得到暗黑的句柄,然后查找一个数值,得到自己想改的数值后用WriteProcessMemory()写入内存.这是我的思路,请问下是不是这样的?具体的函数请说明了下。非常感谢~! 展开
我知道每个应用程序都有自己独立的4GB虚拟内存空间,但怎么知道应用程序在物理内存上的地址并修改?还是有其它方法去改?比如运行暗黑,然后运行修改程序,得到暗黑的句柄,然后查找一个数值,得到自己想改的数值后用WriteProcessMemory()写入内存.这是我的思路,请问下是不是这样的?具体的函数请说明了下。非常感谢~! 展开
2个回答
展开全部
物理地址是不需要知道的。——当然也可以实现,那需要进入实模式,并且要查找某个进程的地址映射表,来修改物理内存。比较麻烦
直接修改进程的线型地址空间一样可以达到效果。
首先 OpenProcess 打开那个进程。具体的前奏还有查找窗口、搜索进程等方法,反正就是要获取那个目标进程的句柄。
然后 VirtualProtectEx 修改那个进程的内存保护模式,让进程的某部分可读可写。(具体的看MSDN上的说明)。
再,搜索需要修改的数据所在地址
后 WriteProcessMemory 修改那个数据。
最后 恢复现场。
直接修改进程的线型地址空间一样可以达到效果。
首先 OpenProcess 打开那个进程。具体的前奏还有查找窗口、搜索进程等方法,反正就是要获取那个目标进程的句柄。
然后 VirtualProtectEx 修改那个进程的内存保护模式,让进程的某部分可读可写。(具体的看MSDN上的说明)。
再,搜索需要修改的数据所在地址
后 WriteProcessMemory 修改那个数据。
最后 恢复现场。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询