Dos64-stub:在DOS中运行64位PE二进制文件的利器

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),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值