破解基础知识和16进制编辑器
1.机器码,又称机械码。当你用16进制编辑器打开、编辑EXE等可执行文件时,你会看到许许多多的由0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F组成的数码,这些数码就是机器码。修改程序时必须通过修改机器码来修改EXE等可执行文件。
2. 16进制编辑器。16进制编辑器是编辑、修改EXE等可执行文件的软件。常用的有UltraEdit、WinHex等
3. 破解时常用的汇编指令如下,汇编较弱者可先强行背住,以后就可慢慢理解了。
cmp a,b //比较a与b
mov a,b //把b的值送给a,使a=b
ret //返回主程序
nop //无作用,英文"no operation"的简写,意思是"do nothing"(机器码90) (解释:ultraedit打开编辑exe文件时看到90,等同于汇编语句nop)
call //调用子程序,子程序以ret结尾
je 或jz //若相等则跳(机器码74 或0F84)
jne或jnz //若不相等则跳(机器码75或0F85)
jmp //无条件跳(机器码EB)
jb //若小于则跳
ja //若大于则跳
jg //若大于则跳
jge //若大于等于则跳
jl //若小于则跳
jle //若小于等于则跳
pop xx //xx出栈
push xx //xx压栈
更为详细的指令请查阅汇编书籍。
4.破解常见修改
汇编指令修改 相应的机器码修改(通过16进制编辑器实现)
jnz/jne->nop 75->90
jnz/jne -> jmp 75-> EB
jz/je->nop 74->90
jz/je -> jmp 74-> EB
jnz -> jz 75->74 或 0F 85 -> 0F 84
jz -> jnz 74->75 或 0F 84 -> 0F 85
jnz -> jz 75->74 或 0F 85 -> 0F 84
je-> jne 74->75 或 0F 84 -> 0F 85