软件分析技术
第一节 汇编语言简介
我这里放上KOBE 的汇编教程,内容较简单,想在破解方面有一定发展的最好是买一本汇编书来学习。现在计算机毕业的学生,汇编都学过,我曾碰到一网友说学过汇编,是8088等,说太老了用不上,我现在告诉大家,足够了,目前硬件都兼容X86系统,明白吗?再多复杂的程序,最终都需X86指令执行,你就可以跟踪它,看到的都是汇编代码。你并不需多高的水平,只要能看得懂就行了,买来的汇编书只要看看前两章就可以了,了解各种指令的含义,了解寄存器、数据在内存存储顺序等概念。但你如想有所作为,还是在汇编上花点时间吧。
附:KOBE的汇编教程(仅供参考)
KOBE 的汇编教程(一)
SUPER HIT 大家好!国庆节阅兵真够COOL的,做为中国的CRACKER 感觉真不错,。。。come on come on 给我感觉。。。 在CRACK的过程中大家(初学者)一定感到功力不 够。在网络上大家可以轻易找到MANY CRACKERS WRITE 的文章,有大陆的(象我们的),也有台湾的(YHQ,俞 煌男)。 但却极少有汇编的讯息,也许是别人懒得去写吧。 我虽极懒,却不忍看到初学者们东碰西撞(象我当处 一样)。与是就有了。。。。。。。。
(一)汇编命令戏说 我们这里汇编的BOOK大多都是8086,8088时的 指令,不过问题不大。。。。。爱就一个字,我只说 一次。。。。。。 listen carefully:
MOV 不用多说了 ESP:MOV AX,CX MOV BX,AX
PUSH 推入栈(STACK)ESP:PUSH AX
POP 出栈ESP:POP CX
XCHG 交换ESP:XCHG AX,BX
IN、OUT 与PORT有关的IN/OUT
XLAT 查表
LEA 段内偏移量。ESP:LEA AX,AREA1=MOV AX,OFFSET AREA1
LAHF、SAHF与棋标有关的寄存器 AH
PUSHF、POPF将棋标入/出栈
ADD ESP ADD AX,CX (AX=AX+CX)
ADC 加入棋标C的ADD
INC ESP INC AX(AX=AX+1)
AAA 加法校正
SUB、SBB 减法
DEC ESP: DEC AX(AX=AX-1)
NEG 去补,
CMP ESP : CMP AX,CX 将AX-CX的结果送之FLAG C A、S等。
通常与JNZ、JZ连用。
MUL、IMUL 乘
DIV、IDIV 除
SHR、SAR、SHL 算术、逻辑位移R=RIGHT L=LEFT
OR、XOR、AND 逻辑运算 ESP :XOR AX,AX(AX=0)
(未完待续)
不知看懂了没有,各位初学者,以后我会POST MORE 的。 下次也许回POST DEBUG的用发详解,或SOFTICE 咦,怎么没人要求。嗨,算了,。。。。
本文档资料欢迎转宰。嘻。。。。。
kobe 的教学档(二)
寄存器讲座KOBE的数学档(二)
SUPER HITS 各位好,在下又想多寒暄几句,但在家的TIME下多了, 还是赶紧POST几篇上来,以壮大BLACKSMITH的CHINACRACKER吧。 咦,XXX一怎么又肥了一圈,是不是吃了什么? 什么,INTEL PROSESSOR,难怪.......不,不,别走,接下来切入正题。
(二)80386、80486与8086、8088的区别,是不是有点跑题, 不过还好了,没有我们线性代数老师跑得远了。
不面我们来熟悉一下8086、8088的寄存器
(1)通用寄存器:AX、BX、CX、DX、SI、DI、SP、SP当然一种寄存器都有 自己的特殊用途,如:CX做为记数器;AX很通用,尤其在调用中断时。
(2)标旗:A、C、S、O......太多了(歇一歇)
(3)寄存器:CS、SS、DS、ES 80386、80486中又对(1)、(2)进行了EXTEND成了EAX,ESX ...... 但然还加入了系统地址寄存器GDTR...... 调试寄存器DR0......(说到DR0 CIH病毒就有用这个寄存器来置感染标志喔! .....又跑题了)。还有控制寄存器CR0...... 测试寄存器TR6......
在学CRACK时最好对386的实模式,保护模式及虚拟86模式时对寄存器占用所 了解。由于计算机的进步AX(16位)---->EAX(32位)许多相应的计算也变了。
第一节 汇编语言简介
我这里放上KOBE 的汇编教程,内容较简单,想在破解方面有一定发展的最好是买一本汇编书来学习。现在计算机毕业的学生,汇编都学过,我曾碰到一网友说学过汇编,是8088等,说太老了用不上,我现在告诉大家,足够了,目前硬件都兼容X86系统,明白吗?再多复杂的程序,最终都需X86指令执行,你就可以跟踪它,看到的都是汇编代码。你并不需多高的水平,只要能看得懂就行了,买来的汇编书只要看看前两章就可以了,了解各种指令的含义,了解寄存器、数据在内存存储顺序等概念。但你如想有所作为,还是在汇编上花点时间吧。
附:KOBE的汇编教程(仅供参考)
KOBE 的汇编教程(一)
SUPER HIT 大家好!国庆节阅兵真够COOL的,做为中国的CRACKER 感觉真不错,。。。come on come on 给我感觉。。。 在CRACK的过程中大家(初学者)一定感到功力不 够。在网络上大家可以轻易找到MANY CRACKERS WRITE 的文章,有大陆的(象我们的),也有台湾的(YHQ,俞 煌男)。 但却极少有汇编的讯息,也许是别人懒得去写吧。 我虽极懒,却不忍看到初学者们东碰西撞(象我当处 一样)。与是就有了。。。。。。。。
(一)汇编命令戏说 我们这里汇编的BOOK大多都是8086,8088时的 指令,不过问题不大。。。。。爱就一个字,我只说 一次。。。。。。 listen carefully:
MOV 不用多说了 ESP:MOV AX,CX MOV BX,AX
PUSH 推入栈(STACK)ESP:PUSH AX
POP 出栈ESP:POP CX
XCHG 交换ESP:XCHG AX,BX
IN、OUT 与PORT有关的IN/OUT
XLAT 查表
LEA 段内偏移量。ESP:LEA AX,AREA1=MOV AX,OFFSET AREA1
LAHF、SAHF与棋标有关的寄存器 AH
PUSHF、POPF将棋标入/出栈
ADD ESP ADD AX,CX (AX=AX+CX)
ADC 加入棋标C的ADD
INC ESP INC AX(AX=AX+1)
AAA 加法校正
SUB、SBB 减法
DEC ESP: DEC AX(AX=AX-1)
NEG 去补,
CMP ESP : CMP AX,CX 将AX-CX的结果送之FLAG C A、S等。
通常与JNZ、JZ连用。
MUL、IMUL 乘
DIV、IDIV 除
SHR、SAR、SHL 算术、逻辑位移R=RIGHT L=LEFT
OR、XOR、AND 逻辑运算 ESP :XOR AX,AX(AX=0)
(未完待续)
不知看懂了没有,各位初学者,以后我会POST MORE 的。 下次也许回POST DEBUG的用发详解,或SOFTICE 咦,怎么没人要求。嗨,算了,。。。。
本文档资料欢迎转宰。嘻。。。。。
kobe 的教学档(二)
寄存器讲座KOBE的数学档(二)
SUPER HITS 各位好,在下又想多寒暄几句,但在家的TIME下多了, 还是赶紧POST几篇上来,以壮大BLACKSMITH的CHINACRACKER吧。 咦,XXX一怎么又肥了一圈,是不是吃了什么? 什么,INTEL PROSESSOR,难怪.......不,不,别走,接下来切入正题。
(二)80386、80486与8086、8088的区别,是不是有点跑题, 不过还好了,没有我们线性代数老师跑得远了。
不面我们来熟悉一下8086、8088的寄存器
(1)通用寄存器:AX、BX、CX、DX、SI、DI、SP、SP当然一种寄存器都有 自己的特殊用途,如:CX做为记数器;AX很通用,尤其在调用中断时。
(2)标旗:A、C、S、O......太多了(歇一歇)
(3)寄存器:CS、SS、DS、ES 80386、80486中又对(1)、(2)进行了EXTEND成了EAX,ESX ...... 但然还加入了系统地址寄存器GDTR...... 调试寄存器DR0......(说到DR0 CIH病毒就有用这个寄存器来置感染标志喔! .....又跑题了)。还有控制寄存器CR0...... 测试寄存器TR6......
在学CRACK时最好对386的实模式,保护模式及虚拟86模式时对寄存器占用所 了解。由于计算机的进步AX(16位)---->EAX(32位)许多相应的计算也变了。