Jcomics 发表于 2007-2-11 08:32:00

[转帖]解决在Vista下安装的QQ2007Beta1在XP运行不了的完美方法

很多人都已经发现,QQ2007Beta1在Vista和在XP下,装上的东西会有很多不同.而且,最严重的问题是在XP安装的QQ2007Beta1不能在Vista运行,Vista下安装的QQ2007Beta1不能在XP运行.这里提供了一种通过修改Vista版QQ2007Beta1的LoginCtrl.dll来解决这个问题的办法.<br/><br/><img alt="" src="http://www.cnbeta.com/ugmbbc/News/qq2k712.JPG" border="0"/>
        <br/><br/><img alt="" src="http://www.cnbeta.com/ugmbbc/News/qq2k713.JPG" border="0"/>
        <br/><br/>很多人都已经发现,QQ2007Beta1在Vista和在XP下,装上的东西会有很多不同。而且,最严重的问题是在XP安装的QQ2007Beta1不能在Vista运行,Vista下安装的QQ2007Beta1不能在XP运行。在的珊瑚虫论坛上最新的版本数据库上,有这么两条:<br/><br/><br/>0661=QQ2007 Beta1 Vista<br/>065F=QQ2007 Beta1<br/><br/>可以说明XP和Vista下的QQ2007Beta1是不同的。我比较了一下,Vista版缺少那些和键盘加密有关的组件,npk*.sys缺席,而且, Vista版的LoginCtrl.dll大小是168KB,XP版却是184KB。我经过反汇编发现,限制Vista版本在XP下运行的代码,就在这个 LoginCtrl.dll里。<br/><br/>* Reference To: KERNEL32.GetVersionExA, Ord:0175h<br/>|<br/>:10012146 FF15C0B00110 Call dword ptr <br/>:1001214C 8D4DF0 lea ecx, dword ptr '调用GetVersionExA得到系统版本<br/><br/>* Reference To: MFC42.Ordinal:021C, Ord:021Ch<br/>|<br/>:1001214F E8FE430000 Call 10016552<br/>:10012154 33DB xor ebx, ebx<br/>:10012156 68AF0B0000 push 00000BAF<br/>:1001215B 8D4DF0 lea ecx, dword ptr <br/>:1001215E 895DFC mov dword ptr , ebx<br/><br/>* Reference To: MFC42.Ordinal:1040, Ord:1040h<br/>|<br/>:10012161 E83A440000 Call 100165A0<br/>:10012166 83BD60FFFFFF06 cmp dword ptr , 00000006 '主版本号是6?<br/>:1001216D 7318 jnb 10012187 '是则跳<br/>:1001216F 6A10 push 00000010<br/>:10012171 6828490210 push 10024928<br/>:10012176 FF75F0 push <br/>:10012179 53 push ebx<br/><br/>* Reference To: USER32.MessageBoxA, Ord:01BEh<br/>|<br/>:1001217A FF15F0B70110 Call dword ptr <br/>:10012180 53 push ebx '弹出“文件损坏"警告<br/><br/>* Reference To: KERNEL32.ExitProcess, Ord:007Dh<br/>|<br/>:10012181 FF15C4B00110 Call dword ptr '退出<br/><br/><br/>* Referenced by a (U)nconditional or (C)onditional Jump at Address:<br/>|:1001216D(C)<br/>|<br/><br/>* Reference To: MFC42.Ordinal:0490, Ord:0490h<br/>|<br/>:10012187 E87A440000 Call 10016606 '进入登陆对话框过程<br/>:1001218C 8B400C mov eax, dword ptr <br/>:1001218F 53 push ebx<br/>:10012190 6A10 push 00000010<br/>:10012192 6A10 push 00000010<br/>:10012194 6A01 push 00000001<br/>:10012196 68C33E0000 push 00003EC3<br/>:1001219B 50 push eax<br/><br/>(以下省略)<br/><br/>因此,只要将LoginCtrl.dll Vista版的<br/>:1001216D 7318 jnb 10012187 '是则跳<br/>改成了<br/>:1001216D EB18 jmp 10012187 '直接跳<br/>,就能绕过绕过了检测出系统是XP之后的退出程序的过程,直接进入登录画面。<br/><br/><img alt="" src="http://www.cnbeta.com/ugmbbc/News/qq2k71.JPG" border="0"/><br/><br/>经测试对QQ2007Beta1 V07.0.101.162有效。<br/><br/>本文按照LGPL协议发布,可以任意传播和在说明原文出处和作者的情况下修改。<br/><br/><strong>相关文件:</strong><br/><br/><a href="http://freehost25.websamba.com/yksoft/download/LoginCtrl_0661_cracked_forxp.rar" target="_blank">http://freehost25.websamba.com/yksoft/download/LoginCtrl_0661_cracked_forxp.rar</a>
页: [1]
查看完整版本: [转帖]解决在Vista下安装的QQ2007Beta1在XP运行不了的完美方法