光的传人

软件破解常用汇编指令

cmp a,b // 比较a与b

mov a,b // 把b值送给a值,使a=b

ret // 返回主程序

nop // 无作用,英文(no operation)简写,意思“do nothing”(机器码90)

call // 调用子程序,子程序以ret结尾

je或jz // 相等则跳(机器码是74或84)

jne或jnz // 不相等则跳(机器码是75或85)

jmp // 无条件跳(机器码是EB)

jb // 若小于则跳

ja // 若大于则跳

jg // 若大于则跳

jge // 若大于等于则跳

jl // 若小于则跳

pop xxx // xxx出栈

push xxx // xxx压栈

爆破无敌口诀

一条(跳)就死,九筒(90)就胡――(对应上面的2--修改为nop)

一条(跳)就胡,一饼(EB)伺候――(对应上面的1--修改为jmp)

(74) 变(75)

(84) 变 (85)

一条(跳)就死,九筒(90)就胡

对应这句口诀的软件代码有这样的特征,就是跳转指令后的代码是软件正常运行的代码,而跳转指令跳转到的地方就是软件限制等非正常运行的代码。

口诀的意思是说如果软件在跳转(跳转到指定的代码后)就出现注册失败(无法使用、功能限制等),那么就要把跳转指令(如JMP机器码为EB)改为NOP(机器码为90),这样改后,就使跳转指令失效,从而使跳转指令后面的代码得以执行,达到爆力破解的软件目的。

网友评论(以下内容仅代表网友观点,与本站无关)
    1.威客兼职  2015/3/3 13:13:43 回复
    很基本,但是遇到特定的就不行了

原创文章请注明转载自光的传人博客本文地址:http://www.liu16.com/post/481.html,标题:软件破解常用汇编指令

【我来说两句】
分享到:

评论 1

发表评论:

阿光验证码

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。