回 帖 发 新 帖 刷新版面

主题:关于进程

如果知道一个进程的ID
如何获得该进程程序段的内存地址及范围

回复列表 (共7个回复)

沙发

WINXP--任务管理器

板凳

有没有方法可以获取进程ID所对应的进程中的pcb信息
用程序可以实现吗?

3 楼

查一下API,应该可以的。
如果你没有API的基础,就不好说了。

4 楼

直接用汇编不能解决吗?
说起来,汇编才是最基础的
C可以实现的,汇编应该可以的吧

5 楼

8086时代,汇编是最基础的。
到了80386时代,出现了保护模式,用户不可以直接使用硬件资源了,只能通过系统提供的API调用。所以在现代系统的角度来看,API才是最基础的。
以前我也想获得进程的信息,但是由于时间关系,没有深入~你要这个干什么?

6 楼

我听有的大侠说
用汇编可以修改正在内存中运行的程序
感觉功能很强大
所以想多了解一些这方面的东西

7 楼

每个进程都有自己独立的地址空间,程序中访问的地址都是虚拟地址,比如C代码中一个指针对应的地址,并不是实际的物理内存地址(实际要经过一个查表翻译的过程来找到实际的物理地址,简单的说操作系统为每个进程设置好一个表,CPU在访问某个地址时先查该表,再访问真正的物理内存地址)。这涉及CPU保护模式的知识。

因此两个进程A.exe和B.exe,A中正在访问的某个地址值0x1234对B是没有意义的。

汇编也可以调用操作系统API的。你说的问题,在windows下,可以试试查一下进程访问和调试相关的API。

我来回复

您尚未登录,请登录后再回复。点此登录或注册