用ccl及oc定位出特征码是在
0049AA63 push 0049E048
这句上,用nop填充后过了卡巴,但不知道怎么修改才能正确运行程序,请高手指教。附近代码是
0049AA4C |. E8 3BFEFFFF call 0049A88C
0049AA51 |. A1 48E04900 mov eax, dword ptr [49E048]
0049AA56 |. 50 pu

sh eax
0049AA57 |. E8 A0C4F6FF call <jmp.&kernel32.CloseHandle>
0049AA5C |. 8D4424 08 lea eax, dword ptr [esp+8]
0049AA60 |. 50 push eax
0049AA61 |. 6A 06 push 6
0049AA63 68 48E04900 push 0049E048
0049AA68 |. FF15 3CE04900 call dword ptr [49E03C]
0049AA6E |> 85C0 test eax, eax
0049AA70 |. 7D 04 jge short 0049AA76
0049AA72 |. 33C0 xor eax, eax
0049AA74 |. EB 2C jmp short 0049AAA2
0049AA76 |> 68 00100000 push 1000
0049AA7B |. 53 push ebx
感觉 哪句都不能互换,用跳转法修改在附近也找不到空白代码,在较远处找到一个空白用跳转法修改后保存时提示“选择部分包括修改后的重定位。。。。。”最后只能选择跳过,无法保存所有修改后的代码,请问这又是什么原因?以前修改汇编指令时也经常遇到这样的提示,望高手指教,多谢
