能力值:
( LV9,RANK:290 )
|
-
-
2 楼
NOP是空指令,是什么也不做的,自己添加代码可以在nop上面写代码,
但是要注意不要让自己写的代码与程序的另一段代码重叠了
071C5784 813B C5B1662D cmp dword ptr ds:[ebx],2D66B1C5
071C578A 0F84 62180000 je 071C6FF2 //jmp 071C57E4跳过特殊处理
把je 71c6ff2改为jmp 71c6ff2后,
程序运行到这里就无条件地跳到71c6ff2上执行,不管上面发生了什么事情(当然程序崩溃除外)所以71c579a--71c6ff2都不会运行到的,除非有别的地方跳到这里.
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
那请问我这么改跟文章中的要求改法一样把,下面NOP多出几行是正常的把?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
这和解释机器码有关,
比如你的je 071C6FF2 的机器码为 660F84C36F1C07
但你改为jmp 071C57E4 那机器码为 E93876DBEC
那么就少了2个字节,为了不影响CPU对下面指令的解释,就得用
NOP来填充,NOP的机器代码为一个字节,上面例子少了二个字节
所以得加二个NOP
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
呵呵,想不到也有和我一样的菜菜
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
最初由 gdimk 发布 这和解释机器码有关, 比如你的je 071C6FF2 的机器码为 660F84C36F1C07 但你改为jmp 071C57E4 那机器码为 E93876DBEC 那么就少了2个字节,为了不影响CPU对下面指令的解释,就得用 NOP来填充,NOP的机器代码为一个字节,上面例子少了二个字节 ........
又学到了新知识
谢谢
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
还有个问题:文章要求把
071C5B4F 8907 mov dword ptr ds:[edi],eax
071C5B51 61 popad
这两行翻转一下,可我发现无论用空格然后编辑哪个,下面一个就会被覆盖或者出错,请问,这个又该如何去改?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
最初由 酷酷 发布 呵呵,想不到也有和我一样的菜菜
菜菜不丢脸,丢脸的是明知自己菜却又不肯去学。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
呵呵,你们都比我强多了,我都不会用爆破和改程序。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
顶,请高手释疑
|
|
|