社区
进程/线程/DLL
帖子详情
怎样获取进程地址
BloodAndIron33
2004-09-13 02:30:50
怎样在VC中列举正在运行的程序并获取其起始地址和结束地址?
...全文
321
9
打赏
收藏
怎样获取进程地址
怎样在VC中列举正在运行的程序并获取其起始地址和结束地址?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
BloodAndIron33
2004-09-14
打赏
举报
回复
谢谢各位,更要谢谢XLT123,希望以后还能得到各位的指导
xlt123
2004-09-13
打赏
举报
回复
补充一下,以上方法适用win2000后版本
nt下不支持 ToolHelp,得用 PSAPI.DLL 中的
EnumProcesses ,EnumProcessModules
9X不支持 EXECUTE 属性,不过,系统
将自动转换为 PAGE_READWRITE,保险起见,传 PAGE_READWRITE
xlt123
2004-09-13
打赏
举报
回复
用HANDLE hProcess = OpenProcess(...)取得进程句柄
用Module32First,Module32Next列举进程使用的模块
当PROCESSENTRY32.th32ProcessID == MODULEENTRY32.th32ProcessID
时,该 MODULEENTRY32.hModule即为进程的载入地址
通过ReadProcessMemory,WriteProcessMemory即可读写该进程的内存地址
不过,OpenProcess 传递的权限必须是Read/Write:
PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE |
PROCESS_QUERY_INFORMATION
如果某段内存仍然无法读写,(ReadProcessMemory/WriteProcessMemory返回0)
用VirtualProtectEx修改该段内存的保护属性即可
保护属性改为 PAGE_EXECUTE_READWRITE
具体函数调用方法参看 msdn
rfa
2004-09-13
打赏
举报
回复
32位环境下的每个进程都有自己的虚拟地址空间(线性空间),这个空间在逻辑上是每个进程所私有的,并且这个空间最大可以有4.06GB。我想搂住的意思大概是想取出某个进程在物理内存的实际位置吧,这在DOS时代,或者是16位Windows下是可行的,但是在32位Windows平台下这是被严格禁止的(因为这样不安全)。
其实就是无论你的计算机是否真的具备4GB的实际物理内存,对于每个进程来说它都回认为自己所运行的计算机有4GB的内存,并且是被自己所独占的。
BloodAndIron33
2004-09-13
打赏
举报
回复
各位,Process32First和Process32Next用法我已经知道我急需的是得到正运行的进程在内存中的地址
yuantao
2004-09-13
打赏
举报
回复
枚举进程可以用toolhelp函数,也就是楼上的CreateToolhelp32Snapshot
Process32First
Process32Next
至于取得进程地址吗,就没什么办法了,因为每个进程的地址都是0x0 - 0xffffffff
oyljerry
2004-09-13
打赏
举报
回复
CreateToolhelp32Snapshot
Process32First
Process32Next
Mr-Chen
2004-09-13
打赏
举报
回复
http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=198597
BloodAndIron33
2004-09-13
打赏
举报
回复
接受准则
Windows
进程
常用DLL模块注入技术
环境块注入,
获取
进程
上下文信息,直接性修改程序执行流程完成注入。
进程
入口点注入,在程序初始化的时机前将dll模块文件注入至目标主线程。
进程
调试级注入,涉及调试器相关功能调用知识点 dll模块重定位内存注入...
java-jna-
获取
进程
所在的开始
地址
和结束
地址
java jna
获取
进程
的
地址
段
C++
获取
进程
某模块入口
地址
这段代码用于遍历
进程
快照中的
进程
,并找到指定
进程
(如"QQMusic.exe"),然后
获取
该
进程
加载的指定模块(如"QQMusic.dll")的模块入口
地址
。函数是自定义的函数,而非Windows API函数。函数
获取
目标模块(如...
远程
获取
进程
DLL模块
地址
//
获取
进程
快照中包含在th32ProcessID中指定的
进程
的所有的模块。 if (!handle) { CloseHandle(handle); return NULL; } ZeroMemory(&moduleEntry, sizeof(MODULEENTRY32)); moduleEntry.dwSize = sizeof...
使用
进程
名
获取
进程
id和
进程
句柄
本文内容为编写一个任务管理器所需要的API介绍以及如何通过
进程
名称
获取
进程
id的方法,函数使用频率高,所以贴出来以便复用。 相关api介绍 CreateToolhelp32Snapshot 函数功能为拍摄当前所有...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章