2012-3-24 13:28
砖家叫兽
终于明白为什么会弹了
我用OD调用 GETDLGITEMTEXTA 这个API函数
直接强制指定了函数地址
那么 跟我版本不一样的操作系统 即使也是XP 一样找不到这个API正确地址
相较于这个第一段
[url]http://www.xycq.net/forum/thread-246054-1-1.html[/url]
004D7C80 55 PUSH EBP
004D7C81 8BEC MOV EBP,ESP
004D7C83 51 PUSH ECX
004D7C84 81EC 00020000 SUB ESP,200
004D7C8A 8BCC MOV ECX,ESP
004D7C8C 51 PUSH ECX
004D7C8D 68 E87C4D00 PUSH Ekd5.004D7CE8 ; ASCII "USER32.DLL"
004D7C92 FF15 24614800 CALL DWORD PTR DS:[<&KERNEL32.LoadLibrar>; kernel32.LoadLibraryA
004D7C98 85C0 TEST EAX,EAX
004D7C9A 74 28 JE SHORT Ekd5.004D7CC4
004D7C9C 68 F47C4D00 PUSH Ekd5.004D7CF4 ; ASCII "GetDlgItemTextA"
004D7CA1 50 PUSH EAX
004D7CA2 FF15 FC614800 CALL DWORD PTR DS:[<&KERNEL32.GetProcAdd>; kernel32.GetProcAddress
004D7CA8 85C0 TEST EAX,EAX
004D7CAA 74 18 JE SHORT Ekd5.004D7CC4
004D7CAC A3 D07C4D00 MOV DWORD PTR DS:[4D7CD0],EAX
004D7CB1 C605 CA7C4D00 0>MOV BYTE PTR DS:[4D7CCA],1
004D7CB8 E8 E3120000 CALL Ekd5.004D8FA0
004D7CBD C605 CA7C4D00 0>MOV BYTE PTR DS:[4D7CCA],0
004D7CC4 8BE5 MOV ESP,EBP
004D7CC6 5D POP EBP
004D7CC7 C3 RETN
修改了这一段以后 搜索API函数地址 这样就可以适用于各系统了
区别比较明显的是加了一段
接下来 我会更新引擎在之前的帖子
[url]http://www.xycq.net/forum/thread-247214-1-1.html[/url]
[color=Silver][[i] 本帖最后由 砖家叫兽 于 2012-3-24 16:13 编辑 [/i]][/color]