发新话题
打印

[转载]基本的跳转指令

[转载]基本的跳转指令

信息来源:木瓜破解教程

现在我来给大家上第四课,请注意听讲,并保持肃静!(这堂课开始我们将是踏上破解之旅前最重要的一课,然后才能去感受破解带给我们的甜酸苦辣)
首先,我来讲一下汇编语言的几条常用命令(有可能一开始不太理解,那只能死记硬背了):


--------------------------------------------------------------------------------
跳转命令

--------------------------------------------------------------------------------

根据条件作出是否跳转的决定,通常前面会有一个判断语句,例如:
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的值互换

TOP

好东西怎会每人顶呢?
看懂了这些再配合点破解教程,相信一个初学者也能明白简单的破解原理

TOP

跳转指令是基础啦.

那些消除跳转SETCC指令的也要学的,还有comv和fcomv这些指令也可以用来消除跳转.使程序变清晰的.

不过只有Pentiun pro级以上的X86cpu才支持.
流氓会武术,谁都挡不住. http://hi.baidu.com/zvrop

TOP

学了上面的几天命令,一般的爆破肯定是没问题的。
青铜的钝剑:我是没有眼泪的人 为了保护自己 今后我可以对任何人残忍 巫师的披风:我不怕死 因为我一直对它充满着无尽的好奇 想亲眼看一下死之后会是什么←目前状态 耀眼的强光:我最擅长从零开始创造世界 所以从来不怕失败 它最多也就让我一无所有

TOP

发新话题