逆向工程破解软件的一些汇编命令
来源:互联网 发布:安云网建站系统源码 编辑:程序博客网 时间:2024/05/22 16:41
请看下图,这是OD右上角窗口的“寄存器窗口”,我们先说说这个。
通用寄存器有8个,分别是:
EAX ECX EDX EBX ESP EBP ESI EDI
寄存器后面的数字,就是寄存器里储存的数值,请看下图
寄存器是干什么的?
EAX ECX EDX EBX 是暂时储存计算过程中所用的操作数与结果或其他信息的寄存器。
分别是干什么的?
ESP EBP ESI EDI 它们可以像数据寄存器一样在运算过程中存放操作数,
但它们只能使用16位。其实他们通常的用途是在段内寻址时提供偏移地址。
分别是干什么的?
说完了8个通用寄存器,咱们再说说6个段寄存器:ES CS SS DS FS GS 请看下图
6个段寄存器,分别是干什么的?
下图的EIP里面的值,是指向CPU当前执行的代码位置。
还有标志寄存器没有介绍,就是下图这个东西。
我们通常看他们的值来控制跳转成功与否。
那他们8个又是干什么的?
他们受到比较与运算的影响来变换数值,从而让跳转成功或失败。
各种跳转成功或失败是参考那个值来判断的,请参考第一季第六集的附件,
里面有超详细的解释。
他们分别是记录什么的?
然后我们说说“寻址”的那些事
立即寻址,这种寻址方式下,操作数以常量的形式出现在指令中
比如下图,JMP lxeplaye.00402DFC
意思是无条件跳转到内存00402DFC处,其中00402DFC是立即数。这叫做立即寻址。
存储器寻址分为直接寻址与间接寻址。
直接寻址是带方括号的常量或是变量。DS是操作数默认的段寄存器。
如下图所示,BA520073处的内容与ah寄存器相加后,结果给BA520073
寄存器间接寻址
下图内容是DS为数据段段地址,edi寄存器的内容为偏移地址,与al做比较。
寄存器相对寻址
什么是相对寻址? 就是在间接寻址的基础上和立即数做一个加法运算。请看下图
基址变址寻址
也很容易理解,就是基址+变址在方括号里,如下图
什么是基址,什么是变址,刚才讲过了,可以向上看。
相对基址变址寻址
这名字真长啊,不过也很好理解。
还记得刚才的寄存器相对寻址吗?
方括号内有个立即数与寄存器做加法,就叫寄存器相对寻址。
如果没有立即数做加法,那就叫寄存器间接寻址。
然后结合我们刚才的基址变址寻址,我们在与一个立即数做加法,请看下图。
前面2个寄存器相加,我们学过了,叫基址变址寻址,然后又加上一个立即数,
我们管他叫“相对”,那3个在一起,就是“相对基址变址寻址”。
另外附上一个“汇编金手指”用来查看一些汇编指令的
地址:http://pan.baidu.com/s/1o6BWMMm
- 逆向工程破解软件的一些汇编命令
- 软件破解常见的问题-逆向工程的应用
- 下资源网站”逆向工程,软件破解学习资料汇总
- Android逆向工程-破解
- 逆向与汇编的一些笔记
- 软件逆向工程的前世今生
- 关于逆向工程的一些心得
- 软件逆向工程概述
- 软件开发逆向工程
- 反汇编的应用1-软件破解
- 安卓逆向工程--针对授权key方式的破解
- Android平台的防破解及逆向工程心得
- PowerDesigner的汉化破解安装到逆向工程(ORACLE)
- 破解软件的一些方法
- 逆向工程(一):汇编、逆向工程基础篇
- 逆向工程(一):汇编、逆向工程基础篇
- 四大逆向工程软件简介
- 四大逆向工程软件简介
- uva 12260(dp)
- C/C++中调用执行python脚本文件
- 传智陈力 PHP培训.第二版PHP视频教程.陈力.大型门户网站核心技术-页面静态化.页面静态化教程简介
- linux下vi操作命令简介归纳
- c# 中的TimeSpan类
- 逆向工程破解软件的一些汇编命令
- poj 3083 Children of the Candy Corn 搜索
- Length of Last Word
- 常用的linux指令
- android 无标题栏的设置方法
- 多线程四种封装方式,外部类调用两种,匿名内部类两种
- tableView的刷新,cell重用失败的问题
- Java中匿名内部类总结
- Codeforces Round #311 (Div. 2) A,B,C,D,E