1.一个演示(通过这一个月的汇编学习可以达到什么样的效果)
ASP脱壳演示
- windows上脱壳分为三大类:压缩壳,加密壳,虚拟机壳
- 压缩壳是三种里面最简单的
- 逆向三件套:
Ollydbg:脱壳的时候需要
LordPE:用来脱壳的
imprec:修复注册表
pediy:用来查壳 - OD分为4大部分:
-
左上角(1)是汇编指令(左边是地址,右边是对应的汇编指令,中间是机器码) 右上角(2)是寄存器: 左下角(3)是内存 右下角(4)是栈
- pushad:把所有的寄存器压到栈里面
popad:弹出所有的寄存器
- C语言常用入口(C语言函数调用):
push ebp
mov ebp,esp
add esp,0x??
-
加壳与不加壳的区别:
加壳:函数少,函数之间的首地址相距远(明显被封装了)
不加壳:函数多,函数之间的首地址距离少(没有没封装) -
2.逆向工程系列讲座安排:
3.汇编语言简介与计算机原理:
3.1计算机组成原理:
3.2 CPU的内部架构与工作原理:
1.指令计数器存放着指令的地址 2.指令寄存器根据指令计数器存放的指令地址从内存中读取指令 3.控制单元对该指令进行解析,让存储单元去数据段读取相应的数据,同时指令计数器指向下一条指令 4.将读取的数据送入运算单元中,运算单元计算后再将相应的结果送入存储单元中 5.存储单元再将数据存入对应的数据段里面 6.重复1-5
4.总线:
总线是负责连接各个组件之间的通信的(包括CPU与内存)
PS:以32位CPU为例,理论上可读取了内存空间是4GB,但是内存被分为内核空间和用户空间,内核空间存放着操作系统所需要的函数和命令,程序不可以随便访问,更不可能往里面写。而用户空间才是用户真正可用的空间