随笔-211  评论-26  文章-8  trackbacks-0
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或84)
jne或jnz // 不相等则跳(机器码是75或85)
jmp // 无条件跳(机器码是EB)
jb // 若小于则跳
ja // 若大于则跳
jg // 若大于则跳
jge // 若大于等于则跳
jl // 若小于则跳
pop xxx // xxx出栈
push xxx // xxx压栈


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

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

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

一条(跳)就胡,一饼(EB)伺候

对应这句口诀的软件代码有这样的特征,就是跳转后到达软件的正常运行代码,而不跳转呢,就执行跳转指令下面的非正常运行代码(如不能注册、功能限制等)。

口诀的意思是说如果软件在跳转后(跳转到指定代码)就使软件正常运行(如成功注册,功能限制解除等),那么就要让这个跳转变成JMP(机器码为EB)这个无条件跳转指令,从而达到爆为破解的目的。

(74) 变(75)
(84) 变 (85)
posted on 2007-07-11 12:29 dragon 阅读(208) 评论(1)  编辑  收藏 所属分类: asm学习

评论:
# re: 流行的汇编破解口决 2007-07-11 15:39 | 木头
中国人学编程就是累啊,如果母语是英文,哪里要这么麻烦。
所以中国人要加油。说不定那天编程只要对着机器念一段中文,他就自动给你编些完毕@@  回复  更多评论
  

只有注册用户登录后才能发表评论。
该文被作者在 2007-07-22 00:34 编辑过
网站导航: