计算机系统
文章平均质量分 96
Lydia.na
这个作者很懒,什么都没留下…
展开
-
【深入理解计算机系统csapp】 cache lab 实验五
文章目录part Apart B参考文章part A#include "cachelab.h"#include <getopt.h>#include <stdlib.h>#include <unistd.h>#include <stdio.h>#include <stddef.h>typedef struct{ int valid_bits; unsigned tag; int stamp;}cache_line;cha原创 2022-05-06 19:44:17 · 2699 阅读 · 6 评论 -
【深入理解计算机系统csapp】 attack lab实验四
文章目录前置知识栈布局以及栈增长方向缓冲区溢出示例准备工作CI:代码注入攻击phase_1phase_2phase_3ROP:面向返回的编程phase_2phase_3参考文章hex2raw的使用生成字节代码前置知识栈布局以及栈增长方向缓冲区溢出示例准备工作反汇编两个需要做的文件objdump -d ctarget > ctarget.txtobjdump -d rtarget > rtarget.txt得到了两个新文件ctarget.txt和rtarget.txt原创 2022-04-24 12:36:33 · 4433 阅读 · 10 评论 -
【深入理解计算机系统csapp】bomb Lab 实验3
文章目录简介预备知识gdb调试命令objdump命令AT&T指令实验步骤phase_1phase_2phase_3phase_4phase_5phase_6secret_phase参考文章简介每个炸弹阶段考察了机器级程序语言的一个不同方面,难度逐级递增:阶段1:字符串比较阶段2:循环阶段3:条件/分支阶段4:递归调用和栈阶段5:指针阶段6:链表/指针/结构另外还有一个隐藏阶段,只有当你在第4阶段的解后附加一特定字符串后才会出现。为完成二进制炸弹拆除任务,你需要使用gdb调试器原创 2022-04-17 15:08:33 · 4478 阅读 · 4 评论 -
【深入理解计算机系统csapp】程序的机器级表示|x86-64寄存器
文章目录x86-64寄存器名称x86-64寄存器作用操作数种类立即数表示寻址方式mov指令leap指令位移指令乘法指令跳转指令call指令AT&T入栈及出栈tipsx86-64寄存器名称x86-64寄存器起名:8位,%al;16位,%ax;32位,%eax;64位,%raxx86-64寄存器作用%rax: 返回值%rbx: 被调用者保存%rcx: 第4个参数%rdx: 第3个参数%rsi: 第2个参数%rdi: 第1个参数%rbp: 被调用者保存%rsp: 栈指针%r8: 第原创 2022-04-16 22:32:41 · 1882 阅读 · 0 评论 -
【深入理解计算机系统csapp】Data Lab 实验2
文章目录Data Lab位运算1. bitXor2.getByte3.logicalShift4.bitCount5.conditonal二进制补码运算6.trim7.fitsBits8.dividePower29.negate10.howmanyBits11.isLessOrEqual12.intLog2浮点数计算13.floatAbsVal14.floatScale1d215.floatFloat2IntData Lab符号描 述运算规则&与两个位都为1时,结果才原创 2022-04-02 12:44:39 · 4013 阅读 · 2 评论 -
【深入理解计算机系统csapp】C Programming Lab 实验1
文章目录概要底层数据结构编程任务queue.hqueue.cBuild测试评测代码存档概要这个实验有几个点需要重新学一下,知识点还是模糊的:git仓库的使用和相应命令(基本操作还是看了就忘)Linux命令行指令(总是记总是忘,有必要日常操作换成终端)数据结构的单链表的实现《深入理解计算机系统》底层数据结构csapp-clab目录下文件queue.h定义的结构如下:/* Linked list element */typedef struct ELE { int value;原创 2022-03-25 09:09:36 · 2412 阅读 · 3 评论