首页
社区
课程
招聘
[讨论]如何增加nop行
发表于: 2011-11-14 14:51 14794

[讨论]如何增加nop行

2011-11-14 14:51
14794
用od 后打开一个文件,现在汇编码如下:
地址:汇编码
0062cc18   push   ebp
0062cc19   mov eax,2710

现在要实现下面后格式;
0062cc18   push   ebp
0062cc19   nop
0062cc1a   n0p
0062cc1b   nop
0062cc1c   nop
0062cc1d   mov eax,2710

在push  ebp后面增加四个 nop后,mov eax,2710的地址号会自动地变化。
怎样才能实现呢?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 6
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你要的应该是将代码整体下移的效果吧

一个pe文件的空间都是非常紧凑的 ,你增加一个命令,下面的每一句都得跟着改,效率太低了

一般都是 jmp 走了,补齐代码了再jmp回来
2011-11-14 15:19
0
雪    币: 3
活跃值: (118)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
同2楼,e9走,补齐了加入自己代码在e9回来
2011-11-14 15:35
0
雪    币: 188
活跃值: (85)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
同上
2011-11-14 16:00
0
雪    币: 41
活跃值: (224)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
提出这个问题,是因为在有原版后,可以在CALL后,对相应的寄存器的内容进行修复,这就要用到一定的空间来编写了。如果能有这样的小插件,文件的大小也就没有什么了。用跳转的方法是可以的,如果软件中需要修改的地方很多,就相当麻烦了。
2011-11-14 16:50
0
雪    币: 254
活跃值: (126)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
修改的地方很多,还是插个dll进去吧
2011-11-14 17:25
0
雪    币: 260
活跃值: (47)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
注入dll弄个CodeCave,寄存器,堆栈随便你改。
2011-11-14 22:09
0
游客
登录 | 注册 方可回帖
返回
//