怎么解机器码?
发布网友
发布时间:2022-04-28 15:51
我来回答
共1个回答
热心网友
时间:2022-06-19 13:27
破解基本知识
一、机器码.
ultraedit打开,编辑exe文件时你会看到
许许多多的由0,1,2,3.4,5,6,7,8,9,A,B,C,D,E,F组成的数码,这些数码
就是机器码.
修改程序时必须通过修改机器码来修改exe文件.
二、需要熟练掌握的全部汇编知识(只有这么多)
不大容易理解,可先强行背住,混个脸儿熟,以后慢慢的就理解了
cmp a,b比较a与b
mov a,b 把b的值送给a
ret返回主程序
nop无作用,英文“no operation”的简写,意思是“do nothing”(机器码90)***机器码的含义参看上面
(解释:ultraedit打开编辑exe文件时你看到90,等同于汇编语句nop)
call 调用子程序
je或jz若相等则跳(机器码74或OF84)
jne或jnz若不相等则跳(机器码75或OF85)
jmp无条件跳(机器码EB)
jb若小于则跳
ja若大于则跳
jg若大于则跳
jge若大于等于则跳
jl若小于则跳
jle若小于等于则跳
pop出栈
push压栈
三、常见修改(机器码)
74=>7574=>9074=>EB
75=>7475=>90 75=>EB
jnz->nop
75->90(相应的机器码修改)
jnz-> jmp
75->EB(相应的机器码修改)
jnz-> jz
75->74(正常)OF 85 -> OF 84(特殊情况下,有时,相应的机器码修改)
四、两种不同情况的不同修改方法
1.修改为jmp
je(inejzjnz) =>jmp相应的机器码EB(出错信息向上找到的第一个跳转))jmp的作用是绝对跳,无条件跳,
从而跳过下面的出错信息
x0000000033x出错信息,例如:注册码不对,sorry,未注册版不能.."Function Not Avaible in Demo"或
"Command Not Avaible”或 "Can't save in Shareware/Demo"等(我们希望把它跳过,不让它出现)
xxXXXXXXXXXxx正确路线所在
⒉.修改为nop
je(jnejzjnz)=>nop相应的机器码90(正确信息向上找到的第一个跳转)nop的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处
XXXXXXXxxXXx正确信息,例如:注册成功,谢谢您的支持等(我们希望它不被跳过,让它出现,程序一定要顺利来到这里)
xXXXXXXXXXXX出错信息(我们希望不要跳到这里,不让它出现)
这条是破解无敌口诀,希望大家想学会破解的呢都把他背下来,破解其实并不难,关键要背一些基本的知识。
—条(跳)就死,九筒(90)就胡(对应上面的2.修改为nop)
—条(跳)就胡,一饼((EB)伺候(对应上面的1.修改为jmp)
妻死(74)便妻无(75)