- UID
- 5372
注册时间2005-12-18
阅读权限8
最后登录1970-1-1
初入江湖
TA的每日心情 | 擦汗 2016-3-7 14:27 |
---|
签到天数: 7 天 [LV.3]偶尔看看II
|
发表于 2015-12-30 10:10:10
|
显示全部楼层
下载后测试了一下,在Win7 Pro x64里完全没有问题,但是在Win XP Pro SP3(Vmware 虚拟机)里不行,提示vbsedit.key无效。
打开LordPE观察到vbsedit.exe没有加载exe文件所在目录下的version.dll(当然这个破解已经放到vbsedit.exe一起了)。这个问题貌似不是破解的问题,而是系统的问题,为了验证它拿notepad.exe做一下测试。
01002B41 |. 51 PUSH ECX ; /lParam
01002B42 |. 6A 01 PUSH 0x1 ; |wParam = 0x1
01002B44 |. 68 0B040000 PUSH 0x40B ; |Message = WM_USER+11.
01002B49 |. 50 PUSH EAX ; |hWnd => NULL
01002B4A |. FF15 40120001 CALL NEAR DWORD PTR DS:[<&USER32.Send>; \SendMessageW
01002B50 |> FF35 44900001 PUSH DWORD PTR DS:[0x1009044] ; /StringToAdd = 00000005 ???
01002B56 |. 8D85 90FCFFFF LEA EAX, [LOCAL.220] ; |
01002B5C |. 50 PUSH EAX ; |ConcatString
01002B5D |. FF15 18110001 CALL NEAR DWORD PTR DS:[<&KERNEL32.ls>; \lstrcatW
01002B63 |. 8D85 90FCFFFF LEA EAX, [LOCAL.220]
01002B69 |. 50 PUSH EAX ; /Text
01002B6A |. FF35 30980001 PUSH DWORD PTR DS:[0x1009830] ; |hWnd = NULL
01002B70 |. FF15 F0110001 CALL NEAR DWORD PTR DS:[<&USER32.SetW>; \SetWindowTextW
默认这里高亮的部分是字符串拼接函数lstrcat的起始部分,完成后就看到记事本标题栏"无标题 - 记事本“。 就补丁这里吧,让他跳过字符拼接,最后显示 ”无标题“。
01002B50 > \EB 11 JMP SHORT NOTEPAD.01002B63 < --- 直接跳过吧。
01002B52 90 NOP ; |
01002B53 90 NOP ; |
好吧,开始Patch生成破解version.dll,放在notepad.exe一起(单独搞了个文件夹),打开notepad.exe,发现补丁不起作用。重新生成个lpk.dll放进去,补丁就运行一起正常。
通过LordPE发现这个version.dll在我的环境下就是不会加载,查了相关资料关于Dll加载顺序的问题,可执行文件所在目录下的dll不管在什么情况下都是优先级最高的。想不明白其中的缘由,特此请教。
|
|