Dos64-stub:在DOS中运行64位PE二进制文件的利器
1. 项目基础介绍
Dos64-stub 是一个开源项目,旨在允许在DOS环境中运行64位的PE(Portable Executable)二进制文件。该项目主要由 Baron-von-Riedesel 维护,使用 Assembly 语言编写,旨在通过提供一个小的stub程序,使得64位程序能够在DOS操作系统中执行。
2. 项目核心功能
Dos64-stub 的核心功能包括:
- 检查CPU是否为64位架构。
- 检查PE映像是否符合可执行条件。
- 确保足够的XMS(扩展内存)可用。
- 设置IDT(中断描述符表)和页表以支持64位的PAE分页。
- 将映像读取并移动到扩展内存中。
- 安装一个小的“操作系统”(int 21h/31h),允许调用不需要指针转换的实模式DOS函数。
- 重新编程主PIC(可编程中断控制器),使得IRQs 00h-07h映射到Int 78h-7fh。
- 切换到长模式,并调用已加载64位映像的入口点。
此外,Dos64-stb 还会处理基址重定位,并默认映射前64GB的物理内存。而Dos64-stb2则不要求映像包含基址重定位,因为它应能够将映像加载到其偏好的加载地址。
3. 项目最近更新的功能
根据项目的最新更新,目前没有详细的更新日志显示具体新增的功能。不过,项目的维护者持续在进行代码的优化和改进,以确保项目的稳定性和兼容性。最近的提交可能包括对现有功能的改进,错误修复,以及性能优化等。具体更新内容需要查看项目的提交历史和文档以获取更多信息。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考