好吧,我的想法是将64位和32位绑定到一个应用程序的方式,所以如果它不运行64位版本,它会尝试32位。
我正在阅读关于PE的知识,并且学习了一些有关MS-DOS Real Mode Stub的知识,它说明了它如何调用一个应用程序(通常是一个错误消息)。 但是每次我试图做关于MS-DOS Real Mode Stub的研究时,它似乎只显示错误信息。 所以我的想法是用我的32位应用程序覆盖STUB。
我的自我天真的想法,当32位操作系统将运行64位可执行文件,它会失败,然后运行存根文件。
有没有办法让我的可执行32位/ 64位独立?
您无法创建包含x86
和x64
代码的单个可执行文件。 但是,您可以创建单独的32位和64位应用程序,将x64
应用程序打包到x86
应用程序资源中。 在程序开始,你可以检查,你正在使用IsWow64Process
运行的x64
环境,然后如果需要,解压缩你的x64
版本,并运行它
在MacOS,Linux和DOS(或混合DOS-Windows),但不是32和64位Windows中有很多二进制文件
您可以编译该程序的单独版本,然后通过另一个可执行文件的脚本进行选择
另一种方法是在安装时只安装所需的版本。 这被CCleaner等许多程序所使用。 安装程序是一个32位应用程序或像.NET一样的通用程序,因此它可以在任何地方运行。 如果它检测到64位Windows,那么它只安装64位版本,与32位版本相同。
阅读更多: