楼上的厉害,一眼就看出来了...程序运行出错!用OD载入成这样了:
00401000 > $ 6A 00 push 0
00401002 . 68 B0214000 push 004021B0 ; ASCII "http://pediy.com"
00401007 . 68 C1214000 push 004021C1 ; ASCII "pediy"
0040100C . 6A 00 push 0
0040100E . E8 07000000 call 0040101A
00401013 . 6A 00 push 0
00401015 . E8 06000000 call 00401020
0040101A $- FF25 4C204000 jmp dword ptr [40204C] //这里出错
00401020 $- FF25 66204000 jmp dword ptr [402066]
//这里出错!
====================
应该是这里错!
jmp MessageBoxA FF25 4C204000 //跳到IMAGE_THUNK_DATA
jmp ExitProcess FF25 66204000
=====================
原来是THUNK的RVA搞错了,改成
jmp MessageBoxA FF25 B0204000
jmp ExitProcess FF25 B8204000
,程序终于可以正常运行了!感谢dummy!!,还有
PUSH 'pediy' 68 B0214000
push 'http://pediy.com' 68 C1214000 //指向http://pediy.com
push反了,和我的本意相反,改过来就行了,呵呵!