科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道Vista安装的QQ2007在XP无法运行解决方法

Vista安装的QQ2007在XP无法运行解决方法

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

很多人都已经发现,QQ2007Beta1在Vista和在XP下,装上的东西会有很多不同。而且,最严重的问题是在XP安装的QQ2007Beta1不能在Vista运行,Vista下安装的QQ2007Beta1不能在XP运行。

作者:zdnet安全频道 来源:论坛整理 2008年7月26日

关键字: 腾讯 Xp Vista QQ2007 QQ

  • 评论
  • 分享微博
  • 分享邮件

  很多人都已经发现,QQ2007Beta1在Vista和在XP下,装上的东西会有很多不同。而且,最严重的问题是在XP安装的QQ2007Beta1不能在Vista运行,Vista下安装的QQ2007Beta1不能在XP运行。这里提供了一种通过修改Vista版QQ2007Beta1的LoginCtrl.dll来解决这个问题的办法。

  

  

  

  很多人都已经发现,QQ2007Beta1在Vista和在XP下,装上的东西会有很多不同。而且,最严重的问题是在XP安装的QQ2007Beta1不能在Vista运行,Vista下安装的QQ2007Beta1不能在XP运行。在的珊瑚虫论坛上最新的版本数据库上,有这么两条:

  [Versions]

  0661=QQ2007 Beta1 Vista

  065F=QQ2007 Beta1

  可以说明XP和Vista下的QQ2007Beta1是不同的。我比较了一下,Vista版缺少那些和键盘加密有关的组件,npk*.sys缺席,而且, Vista版的LoginCtrl.dll大小是168KB,XP版却是184KB。我经过反汇编发现,限制Vista版本在XP下运行的代码,就在这个 LoginCtrl.dll里。

  * Reference To: KERNEL32.GetVersionExA, Ord:0175h

  |

  :10012146 FF15C0B00110 Call dword ptr [1001B0C0]

  :1001214C 8D4DF0 lea ecx, dword ptr [ebp-10] '调用GetVersionExA得到系统版本

  * Reference To: MFC42.Ordinal:021C, Ord:021Ch

  :1001214F E8FE430000 Call 10016552

  :10012154 33DB xor ebx, ebx

  :10012156 68AF0B0000 push 00000BAF

  :1001215B 8D4DF0 lea ecx, dword ptr [ebp-10]

  :1001215E 895DFC mov dword ptr [ebp-04], ebx

  * Reference To: MFC42.Ordinal:1040, Ord:1040h

  |

  :10012161 E83A440000 Call 100165A0

  :10012166 83BD60FFFFFF06 cmp dword ptr [ebp+FFFFFF60], 00000006 '主版本号是6?

  :1001216D 7318 jnb 10012187 '是则跳

  :1001216F 6A10 push 00000010

  :10012171 6828490210 push 10024928

  :10012176 FF75F0 push [ebp-10]

  :10012179 53 push ebx

  * Reference To: USER32.MessageBoxA, Ord:01BEh

  |

  :1001217A FF15F0B70110 Call dword ptr [1001B7F0]

  :10012180 53 push ebx '弹出“文件损坏"警告

  * Reference To: KERNEL32.ExitProcess, Ord:007Dh

  |

  :10012181 FF15C4B00110 Call dword ptr [1001B0C4] '退出

  * Referenced by a (U)nconditional or (C)onditional Jump at Address:

  |:1001216D(C)

  |

  * Reference To: MFC42.Ordinal:0490, Ord:0490h

  |

  :10012187 E87A440000 Call 10016606 '进入登陆对话框过程

  :1001218C 8B400C mov eax, dword ptr [eax+0C]

  :1001218F 53 push ebx

  :10012190 6A10 push 00000010

  :10012192 6A10 push 00000010

  :10012194 6A01 push 00000001

  :10012196 68C33E0000 push 00003EC3

  :1001219B 50 push eax

  (以下省略)

  因此,只要将LoginCtrl.dll Vista版的

  :1001216D 7318 jnb 10012187 '是则跳

  改成了

  :1001216D EB18 jmp 10012187 '直接跳

  ,就能绕过绕过了检测出系统是XP之后的退出程序的过程,直接进入登录画面。

  

  

  经测试对QQ2007Beta1 V07.0.101.162有效。

  本文按照LGPL协议发布,可以任意传播和在说明原文出处和作者的情况下修改。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章