C语言怎么让找到一个进程在内存中的起始地址

我想写修改器计划让用户选择要修改的程序(进程)然后让用户输入数值(例如游戏里的角色血量)然后用指针去扫描这个进程例如void*p;if(*((double*)p)==用户... 我想写修改器
计划让用户选择要修改的程序(进程)
然后让用户输入数值(例如游戏里的角色血量)
然后用指针去扫描这个进程例如
void * p;
if (*((double*)p) == 用户输入的数)//也可能是别的数据类型
把所有符合的 数据的地址记下
然后用户故意让怪物打一下,使血量发生变化
再把变化后的血量输入,再扫描一次
这次扫描结果与上次扫描结果中,数据地址相同的保留
这样几次下来就能确定下血量这个数据的地址了
然后再用指针去修改
求怎么样找到一个进程在内存中的起始地址
用WIN32函数也可以
顺便说下它的结束地址

求破,求解,求大神,求赐教
展开
 我来答
tianlidon
2016-01-06 · TA获得超过1219个赞
知道小有建树答主
回答量:676
采纳率:85%
帮助的人:106万
展开全部
//获取模块基址可以使用windows api函数GetModuleHandle

#include "stdafx.h"
#include "windows.h"
#include "process.h"
int main(int argc, char* argv[])
{   //获取模块基址
    HMODULE hmou = ::GetModuleHandle(NULL);
    long int addr = (long int)hmou;
    printf("进程基址:0X%0X\n", addr);
    system("pause");
    return 0;
}

HMODULE GetModuleHandle (LPCTSTR  lpModuleName);

▲功能说明:获取一个应用程序或动态链接库的模块句柄

▲参数说明:lpModuleName 模块名称

▲返回值:如执行成功成功,则返回模块句柄。零表示失败。通过GetLastError获得错误信息

如:

GetModuleHandle(NULL);

这将返回自身应用程序句柄

▲注意:

前提是:只有欲获取的模块已映射到调用该函数的进程内,才会正确得到模块句柄。常用模块映射函数:LoadLibrary(..)。

oak_shield
2014-05-24 · TA获得超过201个赞
知道小有建树答主
回答量:177
采纳率:0%
帮助的人:187万
展开全部
程序执行时在内存中有代码段和堆,动态数据在堆中存放,代码段中是没有你要的数据的。
基本上的过程是这样的:
1。枚举系统所有进程,找到你需要的进程id
2。对该进程进行快照,得到该进程的堆信息
3。在堆中查找你要的信息
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
那个人163
2014-05-24 · 超过18用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:40万
展开全部
Module32First中MODULEENTRY32结构里modBaseAddr就是主程序模块的起始地址
更多追问追答
追问
求具体代码,示例一下,还有顺便说下求它的结束地址
追答
最简单的方法是使用进程快照CreateToolhelp32Snapshot,列举所有的进程,然后枚举找到你所需要的进程,用Module32First获取其起始地址,然后用Module32Next获取下一个进程的基址也就是上一个进程的结束地址。
具体还是自己查一下MSDN,或者百度一下枚举所有进程的方法
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友17e1598
2020-10-26
知道答主
回答量:1
采纳率:0%
帮助的人:559
展开全部
这应该是不可行的,操作系统的内存管理中会提供内存保护,你用c语言写一个程序运行之后,你定义的指针只能操作分配给你的那部分空间,不是所有空间都能操作的。也就说,你的c程序里面访问的所有变量,操作系统都会做一个检查,如果逻辑地址超出界地址寄存器的数值,是不可能的被执行的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangganglei
2014-05-24 · 超过23用户采纳过TA的回答
知道答主
回答量:180
采纳率:100%
帮助的人:72.9万
展开全部
高深的问题,占位,同求大神
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式