首页
社区
课程
招聘
[旧帖] [讨论]NOP掉一些指令后,这些NOP该怎么处理? 0.00雪花
发表于: 2013-3-21 08:55 1965

[旧帖] [讨论]NOP掉一些指令后,这些NOP该怎么处理? 0.00雪花

2013-3-21 08:55
1965
是就这样保存不管这些NOP指令,还是有什么办法把这些NOP也去掉,给程序稍微减肥?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
以下例子仅作演示,地址仅作参考:
。。。。
0000 JMP 0005
0001 TEST EAX,EAX
0002 NOP
0003 NOP
0004 NOP
0005 MOV CX,5
。。。。。。。

去掉3个NOP后代码变成:
。。。。
0000 JMP 0005
0001 TEST EAX,EAX
0002 MOV CX,5
。。。。。。。

JMP 0005就不知道跳到什么地方去了,并且程序里可能会有很多地方调用0005这段程序,想要调整所有调用与被调用之间的相对偏移量非常不容易。
2013-3-21 09:57
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
有些加壳软件能够压缩EXE体积,你可以找个试试。
2013-3-21 10:04
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
牵一发动全身,不要考虑去掉NOP指令了,一个稍微大点的程序里有数以万计的JZ,JNZ,JMP,CALL指令,怎么可能全部修正过来?
2013-3-21 10:33
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
你的意思就是保留那些NOP不用在意了?
2013-3-21 15:32
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我的意思就是这样,只要目的达到,谁还会在乎多几个NOP指令。
2013-3-21 21:06
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
嗯,我本来以为用NOP替代原来的指令后,可以删除掉,看来没这么简单。
2013-3-21 21:50
0
游客
登录 | 注册 方可回帖
返回
//