交易平台网站制作,阳江公司做网站,营销型网站的优缺点,网站建设的文案我的目标是能够运行windows 下的大部分PE格式的程序#xff0c;这一点通过实验已经证明完全是可行的。
PE格式主要有exe dll sys等文件#xff0c;这三个文件可以用相同的函数解析#xff0c;
主要有以下段组成#xff0c; 1、文件头#xff0c;包含DOS文件头、PE文件头…我的目标是能够运行windows 下的大部分PE格式的程序这一点通过实验已经证明完全是可行的。
PE格式主要有exe dll sys等文件这三个文件可以用相同的函数解析
主要有以下段组成 1、文件头包含DOS文件头、PE文件头、段信息等
2、.text区段包含可执行代码也称为代码区段。
3、.data区段包含已初始化的全局和静态变量。
4、.rdata区段包含只读数据如常量、字符串等。
5、.bss区段包含未初始化的全局和静态变量该区段在文件中不占用空间只在内存中分配。
6、.idata区段包含导入表用于存储程序运行时需要动态链接的外部函数和库的信息。
7、.rsrc区段包含资源数据如图标、位图、字符串等。
exe、dll、sys区别主要是入口函数不用其他基本一样。
因此只需要将文件分段加载至内存再处理好导入表还有一些重定位等需要处理就可以正常运行。
ntoskrnl.exe hal.exe 以及sys加载至内核
ntdll.dll kernel32.dll user32.dll gdi32.dll等加载到用户进程。他们之间做api处理相应调用
用户进程与内核用kiFastSystemCall 调用 sysenter_entry 接收内核的调用并返回用户态。
以上过程均已通过代码实验成功。
现在要处理是驱动程序 sys的加载与调用主要是内核api的资料比较少还在试验当中。