上一篇:零基础x64dbg教程大纲
一、前言
看到标题,可能有些人问为什么要学汇编,我们不是来学脱壳破解的么?其实x64dbg中的内存窗口里大部分都是汇编指令,只有掌握了一些汇编基础,才能更好的破解。本课的汇编知识是针对破解的,并未完全是汇编。
二、正文
1、二进制、十进制、十六进制:
二进制:二进制是计算技术中广泛采用的一种数制,由0和1两个数码来表示。进位规则是“逢二进一”,借位规则是“借一当二”。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的,一般在末尾加D表示二进制,如:1110D、0101D等
十进制:十进制数用0、1、2、3.........9 , 这十个数来表示。十进制(计数法)是以10为基础数字系统,满十进一,是我们生活中最常见,也是最常用的。
十六进制:十六进制在数学中是一种逢16进1的进位制。一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,这些称作十六进制数,十六进制一位可以对应4位二进制数字,在调试器中,内存地址就是以十六进制表示的。
2、通用寄存器:
32位汇编:
在32位汇编中,通用寄存器包括了8个32位的寄存器:EAX、EBX、ECX、EDX、ESP、EBP、EDI及ESI。其中EAX、EBX、ECX、EDX在一般情况下作为通用的数据寄存器,用来暂时存放计算过程中所用到的操作数、结果或其他信息。
如图:
除此之外,这8个寄存器,还有以下作用:
EAX作为累加器用,所以它是算术运算的主要寄存器。在乘除指令中指定用来存放操作数。另外,所有的I/O指令都使用AX或AL与外部设备传送信息。
EBX在计算存储器地址时,可作为基址寄存器使用。
ECX常用来保存计数值,如移位指令、循环指令和串处理指令中用作隐含的计数器。
EDX在作双字长运算时,可把DX和AX组合在一起存放一个双字长数,DX用来存放高16位数据。此外,对某些I/O操作,DX可用来存放I/O的端口地址。
ESI是源变址寄存器
EDI是目的变址寄存器
ESP称为堆栈指针寄存器,用来指出栈顶的偏移地址。
EBP称为基址指针寄存器,在寻址时作为基地址寄存器使用,但它必须与堆栈段寄存器SS联用来确定堆栈段中的存储单元地址
64位汇编:
在破解中32位汇编与64最大不同就体现在寄存器与内存地址上,32位内存的最大值为0xFFFFFFFF,而64位汇编内存最大值是0xFFFFFFFFFFFFFFFF,此外64位汇编中有16个寄存器,是32位汇编的两倍,这些寄存器分别为:RAX、RBX、RBP、RSP、RSI、RDI、R8、R9、R10、R11、R12、R13、R14、R15,用途与32位汇编的寄存器相似,用来暂时存放计算过程中所用到的操作数、结果或其他信息。
如图:
3、标志寄存器(标志位):
用来记录程序中运行结果的状态信息,它们是根据有关指令的运行结果由(CPU)自动设置的。其中记录的状态信息作为后续条跳转指令的控制条件,称为条件码。
如图:
其中,这8个标志位都有不同的作用:
进位标志——CF:记录运算时最高有效位产生的进位值,这里的进位指二进制的无符号数据。
符号标志——SF:记录运算结果的符号。结果为负时为1,否则为0。
零标志——ZF:运算结果为0时ZF位为1,否则为0。
溢出标志——OF:用于判断溢出(注意:溢出这个概念只对于有符号数据而言,就如同进位只对于无符号数据而言)当OF=0时,说明没有溢出;当OF=1时,说明溢出了。
辅助进位标志——AF:记录运算时第3位产生的进位值。
奇偶标志——PF:用来为机器中传送信息时可能产生的代码出错情况提供检验条件。当结果操作数中1的个数为偶数时为1,否则为0。
定时器溢出标志——TF:当cpu在执行完一条指令后,如果检测到TF位的值为1,则产生单步中断,引发中断过程。通过这个位,就可以在debug中对程序进行单步跟踪。
中断允许标志位——IF:中断允许标志位。当IF=1时,cpu在执行完当前指令后响应中断,引发中断过程;当IF=0时,则不响应可屏蔽中断。
方向标志位——DF:当DF=0时,每次操作后,ESI、EDI递增;DF=1时,每次操作后,ESI、EDI递减。
三. 后记
由于这段时间在忙着制作教程配套的破解工具包,所以耽误了很长时间,教程做的比较匆忙,有什么问题可在下面指出。等做完破解工具包时,我会发上来供大家使用。小问题:各个进制的转换方法?请在下面回答,下一节揭晓答案。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“零基础x64dbg之32位与64位汇编基础”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
2024年11月23日
2024年11月23日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]