常见修改(机器码),第1张

常见修改(机器码),第2张

74 = > 75 74 = > 90 74 = > EB
75 = > 74 75 = > 90 75 = > EB
JNZ-> NOP
75-> 90(对应机器码修改)
JNZ

四。两种不同情况下不同的修改方法
1。修改为jmp
je(jne,jz,jnz) =>jmp。对应的机器码EB(发现错误消息up时第一个跳转)jmp用于绝对无条件跳转,从而跳过下面的错误消息
XXXXXXXX错误消息。未注册的版本不能...、“功能在演示中不可用”或“命令不可用”或“不能保存在共享软件/演示中”等。(我们希望跳过它,不让它出现)
。。。
.。。
xxxxxxxx正确的路线在哪里?

2.修改为nop
je(jne,jz,jnz) =>nop。用对应的机器码90(正确信息查到的第一个跳转)nop来擦除这个跳转,使其无效,失效,这样程序就可以顺利的在它
XXXXXXXXXXX正确信息之后马上来正确的信息,比如注册成功。。。
.。。
XXXXXXXXXXX错误消息(希望不要跳到这里,不要让它出现)。它们在存储器和寄存器、寄存器和输入输出端口之间传输数据。

1.通用数据传输指令。
MOV传输字或字节。
MOVSX首先扩展符号,然后传输。
MOVZX先扩展零,然后传输。
PUSH将单词推入堆栈。
POP从堆栈中弹出单词。
PUSHA将DI依次推入堆栈。
POPA依次将Di,Si,BP,SP,BX,DX,CX,AX推出堆栈。
PUSHAD依次将EAX、ECX、EDX、EBX、ESP、EBP、ESI、EDI推入栈中。
POPAD推送EDI Ea依次弹出堆栈。
BSWAP交换32位寄存器中字节的顺序
XCHG交换字或字节。(至少有一个操作数是寄存器,段寄存器不能用作操作数)
CMPXCHG比较和交换操作数。
xadd在累加之前交换。
结果在第一个操作数中。
XLAT字节查找表转换。
──BX指向一个256字节。AL是查表的结果。([BX+艾尔]->艾尔)

2.I/O端口传输指令。
IN I/O端口输入。(语法:IN accumulator,{port number │DX})
OUT I/O端口输出。(语法:OUT {端口号│DX},累加器)
当输入输出端口由immediate方法指定时,其范围为0。当寄存器DX指定时,
其范围为0-65535。

3.目的地址传送指令。
LEA加载有效地址。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 常见修改(机器码)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情