和知讯科技网

硬核二进制安全:汇编语言快速入门底层语言基础

和知讯科技网 2

硬核二进制安全:汇编语言快速入门底层语言基础

二进制安全

二进制安全

X86 Register:

General-Purpose Register

本文简单介绍了计算机底层基本知识与常用的汇编语言

16-bit:AX,BX,CX,DX

32-bit:

EAX(Accumulator)累加寄存器

EBX(Base Register)基地址寄存器

ECX(Count Register)计数寄存器

EDX(Data Register)数据寄存器

EBP(Base Pointer)堆栈寄存器

EDI(Index Register)变址寄存器

ESP(Stack Pointer)堆栈顶指针

CS——(Code Segment Register)代码段

DS——(Data Segment Register)数据段

ES——(Extra Segment Register)附加数据段

SS——(Stack Segment Register)堆栈段寄存器

FS——(Extra Segment Register)附加堆栈段寄存器

GS——(Extra Segment Register)附加堆段寄存器

CS:EIP准确定位一个命令

EFLAGS Register:

Memory More Work Space:

movl %eax,%edx edx=eax; register mode 直接寻址

movl $0x123,%edx edx=0x123; immediate 间接寻址

movl (%ebx),%edx edx=(int32_t)ebx; direct

movl (%ebx),%edx edx=(int32_t)ebx; indirect

movl 4(%ebx),%ebx edx=*(int32_t)(ebx+4); displaced

Stack Memory Operation

How to execute Push command in stack

Push:

POP:

pushl %8

movl %esp,%ebp

;%ebp=%esp

subl $4,%esp

;%esp = $4 %ebp=%4

movl $8,(%esp)

%(esp)=$8

enter:

pushl %ebp

movl %esp,%ebp

leave

movl %ebp,%esp

popl %ebp

如何把c程序编译成汇编

本期作者

鸿渐之翼(王驭停)

深圳市狩猎者网络安全技术有限公司知柯信息安全联合创始人

知柯信息安全

2021

ios自带应用怎么找回

联想linux笔记本电脑有哪些软件吗

二个路由器有线怎么设置

猫咪为什么会吃到异物拉屎

狗狗经常淌眼泪是怎么回事

杭州宠物店加盟怎么开

佳能半格相机皮套怎么用

怎么关闭快手收藏的人

山西seo优化怎么收费

免责声明:文中图片均来源于网络,如有版权问题请联系我们进行删除!

标签:二进制安全 register 汇编语言 寄存器 mov