解决VC11程序在XP下“不是有效的Win32应用程序”问题
本文最后更新于 3519 天前,其中的信息可能已经有所发展或是发生改变。

当你运行一些新版程序(比如用 VC2012/VC11 默认情况下编译出来的程序)在XP上运行出现“不是有效的Win32应用程序”时,

如果是你自己的项目,你可以更新微软提供的更新包以支持 Windows XP Target 功能。

但是面对没有源代码的项目或是无法迁移的项目,又想让其在 XP 下运行,可以通过修改 PE 头来解决此问题(本方法全球首发,秒杀一切)。

不是有效的 Win32 应用程序

 问题所在:

在新版VC编译出来的程序,不支持运行在 XP 之下,其根本原因是 PE 头中的最低系统版本限制。

我们可以使用 PE Explorer 程序查看。

修改PE头解决不是有效的Win32应用程序问题

我们可以看到,其操作系统版本号为 6.0,即其最低支持运行的系统为 Windows Vista,自然 XP 下无法运行。(附: Windows XP 为 5.1,2003 为 5.2)

也就是我们只要把 操作系统版本、子系统版本 这两项 同时修改为 5.1,就可以去掉 “不是有效的 Win32 应用程序” 问题   [前提是程序中不能有 Windows XP 以后才有的 API]。

解决方案:

既然是在 PE 头中,我们只要用一般的十六进制编辑器来修改即可。(我用的 FlexHex)。

首先打开样本工程,找到 PE 头位置:

解决不是有效的 Win32 应用程序

然后把 06 00 00 (6.0) 修改为  05 00 01 (5.1)即可。

解决不是有效的 Win32 应用程序

保存即可,这样程序就可以在 XP 下运行(一般来说,如果你用了高版本 API 的话那就没办法了)。

目前我已经用此办法将 VC2012 编译器 移植到了 XP 下(原发布在易语言论坛)。

移植实例:VC 2012 链接器 For XP 下载:

下载地址:点击去下载

CC-BY-NC-SA ー  無断転載はご遠慮下さい

评论

  1. 10年前
    2013-8-12 21:01:23

    全球首发。。。你网站好像挂了一段时间

    • 博主
      Hsuer
      10年前
      2013-8-12 21:27:57

      是的,用 Apache 不稳定,所以自己研制了一套“Web 服务器”。 ❗

  2. Suci
    9年前
    2013-11-17 12:28:45

    看不懂诶,远程调试x64为什么不能用

  3. zz
    8年前
    2015-6-02 19:22:55

    我有一个软件,用此法过了第一关(不再显示”不是有效的Win32应用程序”),但变为显示“找不到序数:无法定位序数345于动态链接库COMCTL32.dll上”,请问还能继续破吗?
    谢谢

    • 博主
      zz
      8年前
      2015-6-02 19:30:24

      看来是不行了,用到了新版 API

  4. Suci
    Disqus
    3年前
    2020-5-13 13:35:42

    看不懂诶,远程调试x64为什么不能用

  5. Disqus
    3年前
    2020-5-13 13:35:42

    全球首发。。。你网站好像挂了一段时间

    • Hsuer
      Disqus
      3年前
      2020-5-13 16:35:34

      是的,用 Apache 不稳定,所以自己研制了一套”Web 服务器”。 ❗

  6. zz
    Disqus
    3年前
    2020-5-13 13:35:43

    我有一个软件,用此法过了第一关(不再显示”不是有效的Win32应用程序”),但变为显示”找不到序数:无法定位序数345于动态链接库COMCTL32.dll上”,请问还能继续破吗?
    谢谢

    • zz
      Disqus
      3年前
      2020-5-13 16:35:35

      看来是不行了,用到了新版 API

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇