汇编语言第一课 了解什么是汇编语言以及学习目标

本文介绍了汇编语言的学习路径,适合0基础的初学者。内容包括80386处理器的常用寄存器、基本指令集以及编程过程中的关键概念如Linux编译步骤、动态链接、延迟绑定、栈溢出利用和内存管理。此外,还提及了逆向工程的基础知识,如使用OD工具分析程序执行。
摘要由CSDN通过智能技术生成

        大家好,我是小鱼,我们大家都是了解一下什么是汇编语言,我们又该如何去学习这门课,假设说我是0基础是不是可以学习呢,我用很负责任话说自然是可以的,这门课有一点是要注意的,需要耐心,如果你烦躁有些代码,那你就可能要前功尽弃了.

        我们高级语言中,可能是这样的代码,就是说  类型 A=数据,给定义一个变量,如果是在逻辑,可能是说用if,while,等等.你有没有想过一个问题,你这个if,其实就是汇编的一个比较代码,其实意义是一样的.比如说cmp,有时候比较成功也是发生跳转=>

        我们需要了解一下,汇编语言来历,你可以认为,它不属于语言也对,因为刚开始就是助记符,计算机由01 这样的后来到汇编,这样方便了很多,运算加减乘除

        然后就是需要注意汇编我们的课程如下:

        80386常用寄存器
一、常用寄存器
1.1 通用寄存器
1.2 段寄存器
1.3 程序状态与控制寄存器
二、常用基本指令
2.1 数据传送指令
2.2 算术运算指令
2.2.1 加法指令
2.2.2 减法指令
2.2.3 乘法指令
2.2.4 除法指令
2.3 逻辑运算和移位指令
2.3.1 逻辑运算指令
2.3.2 移位指令
2.3.3 循环移位指令
2.4 控制转移指令
2.4.1 无条件转移指令
2.4.2 条件转移指令
PLT表和GOT表
1、Linux编译过程
1.1 预处理
1.2 编译
1.3 汇编
1.4 链接
2、静态编译动态链接
静态编译
动态链接
3、延迟绑定
3.1 重定向
3.2 GOT表
3.3 PLT表
4、GOT表的攻击利用
栈溢出基本原理
1、函数栈调用原理
1.1 参数逆序入栈
1.2 保存返回地址
1.3 保存(主调函数的)栈基地址
1.4 进入函数执行
1.5 清理(被调函数的)局部变量
1.6 恢复(主调函数)函数栈
1.7 恢复EIP,清理参数
2、栈溢出
3、ROP技术
3.1 32位
3.2 64位
格式化字符串漏洞
1、格式化字符串原理
2、格式化字符串漏洞
大端 一般书写
小端
GLIBC HEAP
1、内存分配器
1.1 HEAP
1.2 内存分配器PTMALLOC2
2、PTMALLOC数据结构
2.1 PTMALLOC 管理概述
2.2 CHUNK结构解析
2.3 CHUNK的空间复用
2.4 BINS介绍
2.5 堆段的产生和初始化
2.51 TOP CHUNK
2.6 FAST BIN
2.7 SMALL BIN
2.8 UNSORTED BIN
2.9 LARGE BIN
3、MALLOC/FREE概述
3.1 MALLOC
3.1.1 _LIBC_MALLOC
3.1.2 _INT_MALLO
3.2 FREE
3.2.1 __LIBC_FREE
3.2.2 _INT_FREE
之后呢,我们学完这些我们需要走向逆向的基础,用C++和易语言,你要在od中理解每一步什么意思

80386常用寄存器
一、常用寄存器
1.1 通用寄存器
EAX:累加寄存器
EBX:基址寄存器
ECX:计数寄存器
EDX:I/O指针–数据寄存器
ESI:(字符串操作源指针)源变址寄存器
EDI:(字符串操作目的指针)目的变址寄存器、
ESP:堆栈指针寄存器,存放对战的栈顶地址,不可做为通用寄存器
EBP:基址指针寄存器,表示栈区域的基地址,保存ESP,函数返回时把值返回ESP

这个东西你没有必要去背他,之后我会用od跟你讲它是啥意思,我们下一节再见

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鱼程序员

你的鼓励将是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值