只能用指定字符,实现函数功能 /* * CS:APP Data Lab * * <Please put your name and userid here> * * bits.c - Source file with your solutions to the Lab. * This is the ...
转载
2021-04-15 00:03:00
233阅读
2评论
深入了解计算机组成原理的实验:Bomb Lab
原创
精选
2022-10-30 07:38:26
550阅读
【score】36/36 【time】2 days 【tips】 1.If the highest significant bit is 1 and the datas are signed values , when shifting to right , don't forget the sig ...
转载
2021-09-14 19:38:00
154阅读
2评论
这份史上最全的CSAPP之AttackLab实验讲解汇总绝对是攻克这一难题的最佳利器!无论你是刚刚踏入计算机科学的大门,还是科学的精彩世界!
原创
2024-04-10 09:28:09
77阅读
史上最全的CSAPP之DataLab实验讲解汇总(万字详解!超全面!超详细!)收藏这一篇就够了!!!这个精心制作
原创
2024-04-10 09:28:27
104阅读
史上最全的CSAPP之Bomb实验讲解汇总已经为您精心打造,这份详尽的万字解析以其超全面、超详细的特点而自豪。如果您渴望深
原创
2024-04-10 09:28:52
59阅读
CSAPP Edition3中"csapp.h"头文件的使用。这是作者编写的一个头文件。使用的时候要把此头文件csapp.h和csapp.c文件包含到你的系统中【默认情况下,linux不这个文件】,具体做法如下:文件下载地址为http://csapp.cs.cmu.edu/public/code.html1.从上面复制csapp.h、csapp.c粘贴到本地,在csapp.h文件的最后一句#en
翻译
2021-07-06 16:40:02
958阅读
Bomb Lab 操作系统:linux 调试工具:gdb Preparation before the lab 实验由phase_1 ~ phase_6组成,共6个阶段, 我们需要分别输入6个字符串密码,以便解除Dr. Evil的炸弹, 但只要有1个字符串输错,炸弹就会爆炸。 那么如何知道6个正确的 ...
转载
2021-09-28 23:41:00
251阅读
2评论
无符号加法:正常二进制加法逐位计算,若溢出则减去上限值(恰好溢出将会变成0),检测溢出:和是否小于加数 无符号数求反(和为零的数):用MAX+1减去该数,这样相加时就会恰好溢出而返回0。 补码加法(有符号数使用):正常二进制加法逐位计算,如果进位到符号位即发生溢出,正溢出为负,负溢出为正,均减去溢出 ...
转载
2021-09-22 00:46:00
93阅读
2评论
二进制小数:小数点右边的部分表示2的负幂。 形如0.111111111111…1(2)的数表示的是刚好小于1的数,我们将用简单的1.0-ε来表示。很多十进制的小数不能准确的用二进制小数来表示。 IEEE浮点格式:用 V=(-1)^s*M*2^E 的形式来表示一个数。 符号位:s决定是正数还是负数。对 ...
转载
2021-09-24 18:48:00
389阅读
2评论
Code Injection Attacks
Level 1
在test中调用getbuf()之后不再返回test,而是返回touch1
unsigned getbuf()
{
char buf[BUFFER_SIZE];
Gets(buf);
return 1;
}
void touch1()
{
vlevel = 1; /* Part of validati
原创
精选
2023-09-04 15:51:52
845阅读
这个实验的逻辑是这样的
需要使用gdb debug 进入到phase_x的各个函数,但是单步调试step是进不去的(也不难理解,如果gdb可以直接进入那这个实验还有什么难点)
但是反汇编得到的结果是全部的内容,通过阅读反汇编代码,找到一些关键节点,通过gdb对二进制进行dubug添加breakpoint从而查看一些内容找到结果
objdump -d bomb > bomb.txt
打开反汇
原创
2023-09-05 22:06:25
596阅读
gcc -O1 -Wall -m32 -lm -o btest bits.c btest.c decl.c tests.c
In file included from btest.c:16:0:
/usr/include/stdio.h:27:10: fatal error: bits/libc-header-start.h: No such file or directory
#include
原创
2023-09-06 22:07:48
153阅读
写了作业水一篇目录CSAPP Lab1得分图bitAndgetBytelogicalShiftbitCountbangtminfitsBitsdivpwr2negateisPositiveisLessOrEqualilog2float_negfloat_i2ffloat_twicebits.cCSAPP Lab1写了作业水一篇(记录一下人多菜博客园的三级标题好小bits.c得分图本地的fitsBi
转载
2021-04-03 07:35:34
699阅读
2评论
目录CSAPP Lab2答案汇编答案汇编答案汇编答案汇编答案汇编答案汇编结果HintsPhase 1Phase 2Phase 3Phase 4Phase 5Phase 6总结CSAPP Lab2人要没了。计算机也太令人头秃了不过好好做一天也就弄完了(雾)参考:https://zhuanlan.zhihu.com/p/339461318https://zhuanlan.zhihu.com/p/339
转载
2021-04-18 19:06:55
559阅读
2评论
最小可寻址的内存单位:字节(byte),包含8个二进制位(bit)。机器级程序将内存视为一个巨大的字节数组,内存的每个字节都有一个唯一数字标识,称为地址(address),所有地址的集合称为虚拟地址空间,展现给机器级程序。这实现了硬件到软件的第一步封装:程序无需关注虚拟内存的实现细节,而只需要通过访 ...
转载
2021-09-17 14:56:00
234阅读
2评论
Linux是一种广泛使用的操作系统内核,被用来构建各种不同的Linux发行版。在Linux世界里,有一个备受瞩目的开源软件项目,那就是红帽(Red Hat)公司的Linux发行版,它以其稳定性和安全性而闻名于世。
红帽公司成立于1993年,总部位于美国北卡罗来纳州。它的Linux发行版以“红帽”(Red Hat)命名,采用了Fedora项目的技术,是一款功能强大的企业级操作系统。红帽Linux拥
原创
2024-03-15 10:24:57
77阅读
红帽(Red Hat)是全球领先的开源解决方案提供商,其最有名的产品就是企业级操作系统Red Hat Enterprise Linux(RHEL)。而Linux .h则是指在Linux系统中经常用到的头文件。本篇文章将重点介绍“linux .h”的相关知识,探讨其在Linux开发中的作用和重要性。
首先,让我们来了解一下什么是头文件。在C和C++编程语言中,头文件包含了一些函数、宏以及其他类型的
原创
2024-01-31 12:59:00
99阅读
Linux操作系统是一个广泛使用的开源操作系统,它拥有许多不同的命令和工具,其中之一就是`if -h`命令。这个命令的作用是用来显示一个命令的帮助信息。在Linux中,命令通常会有很多不同的选项和参数,有时候我们可能会忘记一个特定命令的使用方法,这时就可以使用`if -h`命令来获取相关信息。
当我们在Linux终端输入一个命令并按下回车键时,如果该命令存在`if -h`选项,系统会显示该命令的
原创
2024-03-04 10:56:52
95阅读
Docker下载安装后以后,输入以下命令就行: 查看同步的目录csapp: 接下来就可以在本机用自己的编辑器写代码,然后在docker上运行代码了. 然后关闭docker之后,下次使用需要先启动centos. 先找到容器的ID 然后 docker start 容器ID 来启动容器 docker ex ...
转载
2021-08-16 11:07:38
209阅读
2评论