首页
社区
课程
招聘
[旧帖] [求助]2个问题 0.00雪花
发表于: 2007-2-15 14:04 4006

[旧帖] [求助]2个问题 0.00雪花

2007-2-15 14:04
4006
1。我要将je(0f84)改成jmp(EB)多了一个字节怎么办?
我是将多的一个字节三掉 但是程序运行不了
2。指令是 jne 0040efca 机器码却是 75 37 66
0040efca=37 66 ?
或许这些问题以前说过 但是论坛内容太多 几天看不过来 请高手帮我解决下

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
2
第一个问题多出来的一个字节用NOP(90)替换。
第二个问题似乎不可能,条件跳转指令只有两种格式(机器码长度6位长和2位长的,没看过有3位长的):
第一种就是远距跳转,他的机器码长度有6位长。格式如下:
0F XX XX XX XX XX
第二种就是近距跳转,他的机器码长度只有2位长,格式如下:
XX XX
如果你说是75 33还有可能。
2007-2-15 14:19
0
雪    币: 57
活跃值: (386)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
是 75 37 但是37!=0040efca啊
   
2007-2-15 14:37
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
4
37是跳转的偏移量,计算公式如下:
当前跳转指令地址+偏移量+指令长度(2)=要跳转的地址。
从你的给出的跳转地址和机器码,你所说的那条指令地址一定是0040EF91:
0040EF91 75 37 jne 0040EFCA

0040EF91 + 37 + 2 = 0040EFCA
2007-2-15 14:43
0
雪    币: 57
活跃值: (386)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
还有刚才那第1个问题
of 85 cf
我改成 90 eb cf
这个cf是不是也要用那个偏移公式改过? 因为前面多了一个代码nop
2007-2-15 14:51
0
雪    币: 57
活跃值: (386)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
不用了 我想通了
2007-2-15 14:55
0
游客
登录 | 注册 方可回帖
返回
//