当前位置: 代码迷 >> C语言 >> 如何获取已运行程序的入口地址呀
  详细解决方案

如何获取已运行程序的入口地址呀

热度:230   发布时间:2006-07-15 10:06:35.0
如何获取已运行程序的入口地址呀

如何获取已运行了的程序的入口地址呀

搜索更多相关的解决方案: 入口  地址  获取  运行  

----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
Assembly debug
----------------解决方案--------------------------------------------------------

这个有点难啊
使用DOS的一个中断找出程序的PSP(程序段前缀)所在的内存地址;
每一个程序运行时都DOS都会为它分配一个PSP,256字节,其中存放了程序的地址入口;
然后通过地址偏移找出程序的地址入口~
这个呢,就要看DOS操作系统的知识了~~~~~~~


----------------解决方案--------------------------------------------------------
以下是引用王者在2006-7-15 23:40:30的发言:

这个有点难啊
使用DOS的一个中断找出程序的PSP(程序段前缀)所在的内存地址;
每一个程序运行时都DOS都会为它分配一个PSP,256字节,其中存放了程序的地址入口;
然后通过地址偏移找出程序的地址入口~
这个呢,就要看DOS操作系统的知识了~~~~~~~

dos是单任务系统。
假如已有一个程序正在运行,你又如何再运行你查找“程序的PSP(程序段前缀)”的程序?
假如只是查找程序自己的入口,那么,printf("%p",main);即可。

如果是在多任务系统下讨论,又另当别论了,俺就不多说了。


----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-16 00:55:09
baidu

等 级:新手上路
威 望:8
帖 子:3812
专家分:0
注 册:2005-11-4
  得分:0 
dos调用程序时,DOS将首先确定可用内存区的最低地址。并由此处开始建立256字节程序段前缀。
EXE与com一样。
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-16 01:26:15
baidu

等 级:新手上路
威 望:8
帖 子:3812
专家分:0
注 册:2005-11-4
  得分:0 
我没觉得有相同的
----------------解决方案--------------------------------------------------------
  相关解决方案