二、需要熟练掌握的全部汇编知识
不大容易理解,可先强行背住,混个脸儿熟,以后慢慢的就理解了
cmp a,b 比较 a 与 b
mov a,b 把 b 的值送给 a
ret 返回主程序
nop 无作用 英文“no operation”的简写,意思是“do nothing”(机器码90)
call 调用子程序
je 或 jz 若相等则跳(机器码74 或0F84)
jne 或 jnz 若不相等则跳(机器码75或0F85)
jmp 无条件跳(机器码EB)
jb 若小于则跳
ja 若大于则跳
jg 若大于则跳
jge 若大于等于则跳
jl 若小于则跳
jle 若小于等于则跳
pop 出栈
push 压栈
三、常见修改(机器码)
74=>75 74=>90 74=>EB
75=>74 75=>90 75=>EB
jnz->nop
75->90(相应的机器码修改)
jnz -> jmp
75 -> EB(相应的机器码修改)
jnz -> jz
75->74 (正常)0F 85 -> 0F 84(特殊情况下,有时,相应的机器码修改)
四、两种不同情况的不同修改方法
1、修改为jmp
je(jne,jz,jnz)=>jmp 相应的机器码EB(出错信息向上找到的第一个跳转) jmp的作用是绝对跳无条件跳,从而跳过下面的出错信息
xxxxxxxxxxxx 出错信息,例如:注册码不对,sorry,未注册版不能… , “Function Not Avaible in Demo” 或 “Command Not Avaible” 或 “Can’t save in Shareware/Demo”等 (我们希望把它跳过,不让它出现)
。。。
xxxxxxxxxxxx 正确路线所在
2、修改为nop
je(jne,jz,jnz) =>nop 相应的机器码90(正确信息向上找到的第一个跳转) nop的作用是抹掉这个跳转,使这个跳转无效,从而使程序顺利来到紧跟其后的正确信息处
xxxxxxxxxxxx 正确信息,例如:注册成功,谢谢您的支持等(我们希望它不被跳过,让它出现,程序一定要顺利来到这里)
。。。
xxxxxxxxxxxx 出错信息(我们希望不要跳到这里,不让它出现)
。。。
五、爆破无敌口诀
一条(跳)就死,九筒(90)就胡 (对应上面的2.修改为nop )
一条(跳)就胡,一饼(EB)伺候 (对应上面的1.修改为jmp )
妻死(74)便妻无(75)
爸死(84)便爸无(85)
汇编语言的几条常用命令:
根据条件作出是否跳转的决定,通常前面会有一个判断语句,例如:
CMP AX,BX
JZ XX
上面两条命令意为用AX减BX,它的值如果为0则跳转到XX的标 行
常用的跳转命令有:
跳转命令
JZ/JE | 相等或为零为则跳转 |
JNZ/JNE | 不相等或不为零则跳转 |
JL/JLE | 小于/小于或等于则跳转 |
JG/JGE | 大于/大于或等于则跳转 |
JMP | 无条件跳转 |
比较语句
CMP AX,BX | AX寄存器减去BX寄存器的内容 |
AND AX,BX | AX与BX做”与运算” |
OR AX,BX | AX与BX做”或运算” |
TEST AX,BX | 与 AND AX,BX 命令有相同效果 |
XOR AX,AX | 使AX的内容清零,每个寄存器与自己作异或运算等于清零动作. |
子程式
一个子程的模样长得像这个样子:CALL 15F:334422,子程式是主程式的一个分支,用来做特定动作。
打个比方: 你要上班,先走路到车站,然后上车,然后下车,然后走到自己的办公室;
这里如果要把上班编为一段程式的话,那么就可以把”走路”,”搭车”,”走到办公室”做为分支程式来处理;
说得再通俗一点就是: 你要破解的程式不可能就是一条主程式到底,肯定会呼叫下面的子程式,由子程式来处理你发送的注册信息,然后比较,然后标记是否注册正确,这些都是靠它来完成的。
所以说,破解的关键在于,找准程式在哪儿将会作注册判断,并进入那个注册子程式,仔细观察,你就成功了,子程式的返回码是RET。
算术运算
ADD AX,BX | 加法运算 AX=AX+BX |
SUB AX,BX | 减法运算 AX=AX-BX |
INC AX | 寄存器加一 AX=AX+1 |
DEC AX | 寄存器减一 AX=AX-1 |
MUL | 乘法运算 |
DIV | 除法运算 |
数据操作
MOV AX,BX | 数据传送指令,将BX的值移送到AX中 |
XCHG AX,BX | 将AX与BX的值互换 |
我最近在玩和讯财经微博,很方便,很实用。
一句话,一张图,随时随地与我分享理财心得与亲历见闻。
点击以下链接激活,来和我一起玩吧!
http://t.hexun.com/active.aspxviteCode=vgHnLwTTuTjrgTw%2fP7b6%2fA%3d%3d
相关资源:matlab代码做游戏-nonlocal_games_seminar_talk:一组与“扩展的非…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!