能力值:
( LV9,RANK:490 )
|
-
-
2 楼
用OD的汇编功能直接改
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
不明白,
晕不到6个字
|
能力值:
( LV9,RANK:490 )
|
-
-
4 楼
在OD中,双击你要更改的代码JL 0045FAF3 ,会弹出汇编对话框。
在对话框是输入你要改的代码。如:
JL 0045FAF3 -> Jnl 0045FAF3
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
[QUOTE=petnt;417163]在OD中,双击你要更改的代码JL 0045FAF3 ,会弹出汇编对话框。
在对话框是输入你要改的代码。如:
JL 0045FAF3 -> Jnl 0045FAF3[/QUOTE]
用这个方法
87000000
就丢了, 就得用二进制改,JMP的二进制是90 e9
是要光跳后面没有数据,我就不问了,NOP掉就OK了,
普通的跳传74 改eb 但后面有数据的就要改成 90 e9是不一样的
|
能力值:
( LV9,RANK:490 )
|
-
-
6 楼
搞不明白你要说什么了?
疑问1. jl -> jnl(jge) 是不会改变指令字节数的,后面的87000000是跳转距离,还是要用到的,怎么会丢呢?
疑问2. 用我提到的方法在编辑框是如果输入NOP,会把整条指令都NOP掉的,肯定会使程序顺序执行的。怎么会出来你提到的问题呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
0045FA7F . /7E 08 JLE SHORT 0045FA89
改成
0045FA7F /74 08 JE SHORT 0045FA89
是没问题的
0045FA66 /0F8C 87000000 JL 0045FAF3
0045FA6C . |7E 24 JLE 0045FA92
改成
0045FA66 /E9 88000000 JMP 0045FAF3
0045FA6B |90 NOP
0045FA6C . |7E 24 JLE 0045FA92
就少个二进制数了
我只想NOP掉跳传,后面的87000000 不变,不知道87000000是什么汇编语句
|
能力值:
( LV9,RANK:490 )
|
-
-
8 楼
0F8C 87000000 放在一起才是一条完整的指令。
87000000是跳转距离。
想让那个87000000不变也有一个变通的办法,就是把Nop放前面
0F8C87000000->90E987000000
|
|
|