首页
社区
课程
招聘
关于机器码转汇编的问题?
2004-9-10 17:43 4237

关于机器码转汇编的问题?

2004-9-10 17:43
4237
:00417DC1 7407                    je 00417DCA
//如果EAX=0,就一切OK!!!
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00417C1A(U)
|
:00417DC3 33C0                    xor eax, eax
//不用说了,这个跳转一跳就Over了!!!
:00417DC5 E94D020000              jmp 00418017
现在你知道怎么改了,就将00417DC1的7407简单的改为EB07就OK了。
这里7407是机器码等效je 00417DCA 但是7407改为EB07是怎么回事?是不是“不跳转”用汇编语言描述是什么?
请赐教
同理,:0040DAC4 0F85CB000000  jne 0040DB95 //这句当然是一定要使它跳转的

将0040DAC4处的代码0F85CB000000改为90E9CB000000,再运行程序试试 ,呵呵,没问题了吧。
又是怎么回事?赐教赐教。指点迷津。

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

收藏
点赞1
打赏
分享
最新回复 (1)
雪    币: 492
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小僧空尽 2004-9-12 13:04
2
0
je 74 表示为0就跳,不为0则继续,一般该为75就可以了,但是有时后一旦等于0反而不跳了,这就是将原意思反转,所以将74该为EB是无论为0不为0都跳,根据实际情况还可以将74后75后面的数字该为00,同EB的意思差不多。
0F85CB000000 jne 同样只要将0F85 该为0F84 就可以了。将他填充为90的意思是不做操作的意思,要根据具体情况看是否把他该为不操作,你可以去看看汇编跳转的一些教程啊
游客
登录 | 注册 方可回帖
返回