滴水逆向听课笔记3

1,寄存器他与普通的内存条差不多但它是在CPU内部的可以对CPU数据进行快速储存

寄存器的基本样式如下

寄存器

     编号

(二进制)

       十进制
32位16位8位

EAX

AXAL00000
ECXCXCL00011
EDXDXDL00102
EBXBXBL00113
ESPSPAH01004
EBPBPCH01015
ESISIDH01106
EDIDIBH01117

2,实际上寄存器是包含关系大致意思

 3,基础汇编指令 mov 指令 用法 mov eax,0x32435  即将32453移动到EAX中

基本指令

MOV指令移动
ADD指令加法
SUB指令减法
NOT指令 逻辑运算     非运算
AND指令                      与运算
OR指令                      或运算
XOP指令                    异或运算
用法示例add eax,123(就是在寄存器eax记录数再加一)

 4,内存 当我们需要运算一个很大的数时我们就会发现寄存器不够用了,而这就自然而然

引出内存的概念,内存是在CPU外面的所以说它可以很大但速度就与寄存器差很多啦,所

以内存不想寄存器有那麽多EAX ECX 啥的具体分类,内存是通过0x000 0x001 0x002这种

进行编号的由于寄存器和内存功能啥的是一致的(内存要和硬盘区分开)所以说以32为计算

机为例寄存器识别   0x00000000到0xffffffff 所以说内存编号只能到0x00000000 0xffffffff为止

内存一个存储单元最大单位是字节 而寄存器是四个字节所以说在汇编中内存的读取是一次性读取

四个地址 内存编号0x00000000 0xffffffff 所以说内存存储最大位0xffffffff+1也就是4G,所以说32位

计算机对应的识别内存是4G。(事无绝对也可以通过补丁等手段令其改变)

5,在汇编中获取内存是若用0x3223f890f这种方法会与立即数产生矛盾所以用内存时需要先[]来将

地址括住

 即写的数是多大

by   八位word    十六位dword  32位

即正确格式   mov word ptr ds:[0x003243f9],0x4721abcd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值