汇编
文章平均质量分 74
call me Patrick
这个作者很懒,什么都没留下…
展开
-
计算机系统实验:BombLab
**一、实验题目:**Bomb Lab二、实验目的:了解并熟悉底层汇编语言的特点,能够看懂汇编语言能够通过汇编语言,联系起高级语言,推测出每一行汇编代码的意义用汇编相关知识拆除六颗炸弹以及发现隐藏炸弹并进行拆除**三、实验环境:**Ubuntu12.04环境,gdb-peda四、实验内容及操作步骤:题目审阅打开文件夹,出现如下文件:其中bomb是可调式文件,bomb.c文件是“源文件”,README是一个文档。bomb无法直接打开以及README没有内容,因此首先查看bomb原创 2021-05-09 23:39:13 · 1307 阅读 · 0 评论 -
计算机系统bomb实验:隐藏关secret_phase详解
计算机系统bomb实验:隐藏关secret_phase详解我们解完六个关卡后似乎程序已经运行完成了,说明隐藏关卡还需要一定的条件才能触发,那么我们首先就要先去找到触发隐藏关卡的条件。我们看到bomb.c文件,每段phase函数运行完成以后又会运行一个phase_defused()函数,这个函数我们在上述拆炸弹过程中都没有用到,自然它的嫌疑就很大,故我们先看看这个函数的具体内容:Dump of assembler code for function phase_defused:=> 0x080原创 2021-05-07 20:08:50 · 2311 阅读 · 0 评论 -
Linux32位寄存器
通用32位CPU 常用寄存器及其作用目录32位CPU所含有的寄存器数据寄存器变址寄存器指针寄存器段寄存器指令指针寄存器标志寄存器运算结果标志位进位标志CF(CarryFlag)奇偶标志PF(ParityFlag)辅助进位标志AF(AuxiliaryCarryFlag)零标志ZF(ZeroFlag)符号标志SF(SignFlag)溢出标志OF(OverflowFlag)32位CPU所含有的寄存器4个数据寄存器(EAX、EBX、ECX和EDX)2个变址转载 2021-05-05 14:51:44 · 234 阅读 · 0 评论 -
递归汇编代码规律的总结:
递归汇编代码规律的总结:Dump of assembler code for function func4: 0x08048c4f <+0>: sub esp,0x1c %开辟栈空间 0x08048c52 <+3>: mov DWORD PTR [esp+0x10],ebx 0x08048c56 <+7>: mov DWORD PTR [esp+0x14],esi 0x08048c5a <+11>:原创 2021-05-04 13:47:56 · 307 阅读 · 0 评论 -
Linux常用汇编指令
一、 数据传输指令1. 通用数据传输指令mov 传送字或字节(movb 传送字节movw 传送字movl 传送双字movq 传送四字movabsq 传送绝对的四字)movsx 先符号扩展,再传送movzx 先零扩展,再传送cltq x86-64把%eax符号扩展到%raxpush 把字压入堆栈pop 把字弹出堆栈PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈. POPA 把DI,SI,BP,SP,BX,DX,原创 2021-05-02 20:36:26 · 3343 阅读 · 0 评论 -
汇编笔记Linux(x86-64)
常用用法gcc -Og -S XXX.c 将.c程序编译器生成.s的汇编代码gcc -Og -c XXX.c 将.c程序经过编译器和汇编器申城二进制的.o文件.o文件中使用gdb用x/14xb XXX(函数名)可以查看在该所处地址开始14个十六进制格式表示的字节objdump -d XXX.o #这样就可以查看二进制文件的反汇编代码反汇编器:它只是基于机器代码文件中字节序列来确定汇编代码,实际上是不需要访问汇编代码和源代码的反汇编器使用的指令命名规则与GCC生成的汇编代码使用的有些细微的差原创 2021-04-03 21:32:01 · 578 阅读 · 0 评论