我想编辑第一条指令并将其更改为jmp 100h (给或取几个字节),mov edi,edi取2个字节,jmp 100h取5个字节(如果我错了,请纠正我)
我将机器码编辑为jmp 100h,并添加一个nop将其舍入为6个字节。
.text:08048DD5 mov edi, edi
.text:08048DD7 mov edi, edi
.text:08048DD9 mov edi, edi
.text:08048DDB mov edi, edi
.text:08048DDD mov edi, edi
.text:08048DDF mov edi, edi
.text:08048DE1 mov edi, edi
.text:08048DE3 mov edi, edi
.text:08048DE5 add [ebp+var_C], 1 ; Add
.text:08048DE9 mov eax, offset format ; "Message %d: %s"
.text:08048DEE lea edx, [ebp+s] ; Load Effective Address
.text:08048DF4 mov [esp+8], edx结果如下所示:
.text:08048DD5 jmp loc_8048D41
.text:08048DD5 ; ---------------------------------------------------------------------------
.text:08048DDA db 90h
.text:08048DDB db 89h, 0FFh
.text:08048DDD db 89h, 0FFh
.text:08048DDF db 89h, 0FFh
.text:08048DE1 db 89h, 0FFh
.text:08048DE3 db 89h, 0FFh
.text:08048DE5 ; ---------------------------------------------------------------------------
.text:08048DE5 add [ebp+var_C], 1
.text:08048DE9 mov eax, offset aMessageDS ; "Message %d: %s"
.text:08048DEE lea edx, [ebp+s]
.text:08048DF4 mov [esp+8], edx
.text:08048DF8 mov edx, [ebp+var_C]这里到底出了什么问题?如何保持代码的其余部分完好无损?
发布于 2013-07-18 21:58:51
看起来它可以工作,但是反汇编程序没有将数据解释为指令。这可能是因为前面的jmp指令-反汇编程序看到它后面的代码永远不会到达,所以它假设它实际上不是代码(因此将其解释为直接数据)。
https://stackoverflow.com/questions/17724933
复制相似问题