Mr.Hack 发表于 2018-3-25 07:16:05

为什么在win7下手动修改exe加shelcode失败??l

需求:通过在一个EXE文件的代码节空白区手动添加一段shellcode,功能就是弹出一个MessageBox.
MessageBox的VritaualAddress是:0x76b5EA99
在文件偏移为0x1ACC0的地方加入如下shellcode:

6a 00 6a 00 6a 00 6a 00e8 CC 31 B4 72 e9 0e 66 fe ff

翻译成汇编就是:
push 0
push 0
push 0
push 0
Call 0x72b431cc(MessageBox的地址)
jmp 0xfffe660e(程序原始入口点RVA)

代码节的起始RWA:0x400
代码节的起始RVA:0x1000
程序入口RVA:0x1ee0
程序基地址(ImageBase):0x4000000

可是为什么修改完后不能运行,用DTDugd调试打开可以正常运行。在XP系统下用这样的方法也是直接成功了。是不是WIN7加入了什么特别的安全机制?跪求大神解答。

Happy、D 发表于 2022-4-23 23:25:55

可能是你的那个MessageBox的入口地址不对,我遇到过。我当时是编写了一个调用messageBox的例子,然后编译,使用第三方软件比如odllydbg软件调试找到的地址才成功
页: [1]
查看完整版本: 为什么在win7下手动修改exe加shelcode失败??l