楼上的厉害,一眼就看出来了...程序运行出错!用OD载入成这样了:
00401000 > $ 6A 00 push 0
00401002 . 68 B0214000 push 004021B0 ; ASCII "
38dK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4m8W2k6r3W2&6i4K6u0W2j5$3!0E0"
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 '
775K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4m8W2k6r3W2&6i4K6u0W2j5$3!0E0i4K6t1%4i4K6t1$3L8X3u0K6M7q4)9K6b7R3`.`. 68 C1214000 //指向
892K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4m8W2k6r3W2&6i4K6u0W2j5$3!0E0
push反了,和我的本意相反,改过来就行了,呵呵!