E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
操作系统原理(CSAPP)
CSAPP
--BOMBLAB实验
目录一、bomblab介绍1.简介2.实验步骤2.1.第一步:获取bomb2.2.第二步:拆除bomb二、工具使用三、拆解分析3.1phase_1考察字符串比较3.2phase_2考察循环3.3phase_3考察条件分支(switch)3.4phase_4考察递归调用和栈3.5phase_5考察指针3.6phase_6考察链表/指针/结构3.7secret_phase考察二叉树一、bomblab介
猪猡猪猡猪
·
2024-01-14 14:55
CSAPP
c语言
CSAPP
-BOMB-LAB
这是2016版的bomb下载得到bomb.tar文件,解压后只有bomb二进制文件,以及一个bomb.c文件,bomb.c没有对应的头文件.所有思路只有是反汇编bomb,分析汇编代码.这里用到两个非常强大的工具objdump,gdb*objdump用来反汇编的,-d参数得到x86汇编,-M参数还可以选择不同的汇编形式,比如-M8086得到8086汇编,详细内容可以manobjdump.*gdb是强
mbinary
·
2024-01-14 14:55
csapp
csapp
bomb
gdb
【深入理解计算机系统】
CSAPP
-实验二:BombLab 2020最新详解
点击查看我的全部代码reference【施工完成】
CSAPP
bomblab【实战】手摸手教你BombLab答案BorderrelationswithCanadahaveneverbeenbetter.12481632020700ionefg
热爱学习的贾克斯
·
2024-01-14 14:55
笔记
反汇编
操作系统
CSAPP
- 反编译 initialize_bomb()
CSAPP
-保持好奇,反汇编initialize_bomb()相比于直接看bomblabphase_1的答案,我更想搞懂答案之外涉及的每个函数的反汇编-反正是一个实验,代码能复杂到哪里去?
baiyu33
·
2024-01-14 14:25
汇编
c语言
gdb
CSAPP
bomblab 作弊方式通关: gdb set 命令的使用
bomblab的博客、视频挺多的,但是步骤都太“友善”了。既然每次都是explode_bomb函数爆炸的,那么不执行这个函数不就完事儿了吗?这的确是“作弊”,但是我的目的不在于得到每一个phase的正确答案,而是希望每个phase随便输入,但是仍然能通关。一种方式是修改二进制文件bomb,我暂时不会。另一种方式,是在gdb运行期间,使用set命令修改callexplode_bomb汇编指令为nop
baiyu33
·
2024-01-14 14:25
汇编
gdb
c语言
CSAPP
- 流程化的人工反编译 string_length, strings_not_equal
文章目录反编译的流程string_length的反编译,第二次尝试strings_not_equal反编译,第二次尝试一些“定式”的整理定式1:cmp和je/jne定式2:testA,A和je/jne反编译的流程依然是
CSAPP
bomblabphase
baiyu33
·
2024-01-14 14:23
汇编
CSAPP
- bomblab phase_2 分析
CSAPP
-bomblabphase_2分析文章目录
CSAPP
-bomblabphase_2分析概要第一次反编译phase_2()反编译explode_bomb()反编译read_six_numbers
baiyu33
·
2024-01-14 07:53
汇编
c语言
调试
gdb
csapp
操作系统实验4:基于内核栈完成进程切换
一、参考《
操作系统原理
、实现与实践》李治军、刘宏伟编著二、实验目标Linux0.11中进程切换是依靠任务状态段(taskstructsegment,TSS)的切换来实现的,本实践项目要修改Linux0.11
忆昔z
·
2024-01-13 21:55
哈工大操作系统实验
linux
c语言
CSAPP
: LinkBomb 重定位和链接题解(一)
前言我看了一下,网上关于LinkBomb的题解不是很多,LinkBomb不是
CSAPP
目前大纲的内容,大多数都是写的LinkLab。
涟幽516
·
2024-01-13 11:17
计算机系统基础
软件工程
学习方法
ubuntu
linux
CMU 15-213
CSAPP
(Ch1~Ch3)
视频链接课件链接该视频课程使用64位编译器!本文使用编译器从Ch.3.6开始换到64位,因此3.6之前地址为4字节,之后为8字节!Ch1.计算机系统漫游C编译(ccl)与链接(ld)Switch是否总时比if-else高效?while循环总比for循环高效么?指针引用比数组高效么?函数的本地临时变量为什么比入参的引用更高效?算数表达式的括号也能影响运算速度?Ch2.信息的表示和处理Integer–
菜=原罪
·
2024-01-12 01:30
操作系统
操作系统
CSAPP
IEEE 浮点数:存储及方式,学习与记录,总结与反思
本篇大部分参考小土刀的:【读薄
CSAPP
】壹数据表示一文。自己仅作摘录、整理和略微的总结。IEEE浮点数标准IEEE标准中,浮点数以如下公式表示:其中,s为符号位
全方位小白
·
2024-01-12 00:03
书单
持续添加1.MIT6.00.1x(计算机科学和Python编程导论)2019-1-2开始预计一个月2.HarvardCS50x(计算机科学)3.SICP(计算机程序的构造和解释)4.Java编程思想5.
CSAPP
suddennessMan
·
2024-01-11 18:03
左耳听风专栏 - 06 | 如何拥有技术领导力 笔记
技术领导力一基础技术良好的基础技术和底层原理可以帮助我们理解上层实现1、编程永远在编程,编程范式、算法和数据结构2、系统计算机系统原理、
操作系统原理
和基础、网络基础、数据库原理、分布式架构技术基础技术的学习是一个长期的过程
huxq_coder
·
2024-01-11 17:14
CSAPP
阅读笔记-信息的表示和处理
信息的表示和处理包括整数、浮点数的存储格式、计算中可能存在的问题等信息存储大多数计算机使用8位的块,或者字节(byte),作为最小的可寻址的内存单位,而不是访问内存中单独的位。机器级程序将内存视为一个非常大的字节数组,称为虚拟内存(virtualmemory)。内存的每个字节都由一个唯一的数字来标识,称为它的地址(address),所有可能地址的集合就称为虚拟地址空间(virtualaddress
只想开始
·
2024-01-10 14:37
笔记
c++
给程序员的一些建议(李开复)
要把数据结构、算法、数据库、
操作系统原理
、计算机体系结构、计算机网络,离散数学等基础课程学好。
蓝水海域
·
2024-01-09 18:43
励志
编程
工作
图像处理
算法
汇编
数据结构
麒麟、linux服务器安装nginx
1、切换目录到安装包tar-xvfnginx-1.24.0.tar.gz[root@e
csAPP
prod002~]#cd/app/nginx-1.24.0/2、配置安装到目录/app/nginx下,麒麟服务器需手动创建
code12313
·
2024-01-09 08:19
服务器
linux
网络
【
操作系统原理
与实践】常见计算题整理:原理+例题
调度算法知识点回顾先来先服务算法FCFS:按照作业提交或进程变为就绪状态的先后次序,分派CPU;当前作业或进程占用CPU,直到执行完或阻塞,才主动地出让CPU。短作业优先算法SJF:是指对短作业或短进程优先调度的算法。它们可以分别用于作业调度和进程调度。高响应比优先调度算法HRRN:赋予作业动态优先级,优先级随作业等待时间延长而增加,从而使长作业的优先级在等待期间不断增加。优先权=等待时间+要求服
明月出天山_
·
2024-01-07 08:05
操作系统原理与实践
网络
嵌入式硬件
硬件架构
五 Shell Lab
一步一步教你写SHELL这个LAB是上完CMU
CSAPP
的14-15LECTURE之后,就可以做了。
csapp
课程观看地址:https://search.bilibili.com/all?
西部小笼包
·
2024-01-06 22:04
操作系统原理
总结
操作系统原理
的课程也按此进行编排。操作系统的发展经历了手工操作,单道批处理,多道批处理和分时系统,其硬件基础经历了
R_est
·
2024-01-06 17:00
HIT
CSAPP
期末大作业
计算机系统大作业题目程序人生-Hello’sP2P专业计算机科学与技术学号班级学生指导教师计算机科学与技术学院2023年4月摘要一个看似简单的程序hello,实际上在计算机中经历了复杂的生命周期。本文将跟踪hello的生命周期,剖析其从预处理、编译、汇编、链接生成可执行文件到在系统上运行,最后运行完毕被回收的过程。这个过程将揭示计算机系统的奇妙之处,借此加深对计算机系统的理解。关键词:计算机系统;
飞飞_123
·
2024-01-05 13:38
课程设计
linux
ubuntu
自定义Shell解释器的设计与实现(一):主函数部分
(2)综合运用
操作系统原理
中所学的知识和Linux系统实验中锻炼的动手能力完成实验。二、项目设计内容(1)(基础)编写程序实现一个自定义的Linux的Shell
琉鹿者
·
2024-01-03 20:37
操作系统
shell
linux
服务器
运维
[架构之路-123]-《软考-系统架构设计师》-操作系统-2-
操作系统原理
- 存储层次结构与存储管理(寄存器、Cache、MMU、内存、外存、页表)
目录前言:第11章操作系统第4节存储管理:寄存器+cache+内存+外存4.1计算机存储层次模型4.1.1层次模型的内容4.1.2通用的思想和思路4.1.3内存抽象4.1.3多核并行架构4.2位于CPU内部的寄存器4.3位于SOC芯片内部的Cache(纯硬件、解决速率不匹配问题)4.3.1概述4.3.2为什么需要cache4.3.3多级cache存储结构4.3.4多级cache之间的配合工作4.3
文火冰糖的硅基工坊
·
2024-01-02 11:56
架构之路
架构
操作系统
进程
线程
OSTEP《操作系统导论》万字 精华学习笔记-第一部分:虚拟化
(重点部分加粗)前段时间学习过《深入理解计算机系统》(
CSAPP
)和《计算机组成与设计:硬件软件接口RISC-V》学习完这本书算是对于之前的一点点补充,一些概念理解的更加深刻了。
yruluvme
·
2024-01-01 21:55
OS:
TEP《操作系统导论》
学习
笔记
驱动开发
linux
unix
CSapp
这里写自定义目录标题
csapp
第7章链接7.1编译器驱动程序7.4可重定位目标文件7.5符号和符号表7.6符号解析7.6.1链接器如何解析多重定义的全局符号7.6.2与静态库链接7.6.3链接器怎么用静态库来解析引用
ruanjianxueyuan113
·
2024-01-01 07:53
C++
服务器
CSAPP
存储器层次结构
一、存储技术作为一名程序员,需要理解存储器的层次结构,因为它对应用程序的性能有着巨大的影响。因为与下一层次的存储设备相比来说,一个编写良好的程序会更频繁的访问某一层次上的存储设备。这里就是计算机系统中的一个基本而持久的思想,如果你理解系统是如何将数据在存储器层次结构中上上下下移动的,你就可以编写自己的应用程序,使得它们的数据存储在数据层次较高的地方,CPU可以更快的访问到它们。这个思想围绕计算机程
王加冰
·
2023-12-31 17:45
《深入理解计算机系统》(
CSAPP
)读书笔记 —— 第五章 优化程序性能
写程序最主要的目标就是使它在所有可能的情况下都正确工作。一个运行得很快但是给出错误结果的程序没有任何用处。程序员必须写出清晰简洁的代码,这样做不仅是为了自己能够看懂代码,也是为了在检査代码和今后需要修改代码时,其他人能够读懂和理解代码。另一方面,在很多情况下,让程序运行得快也是一个重要的考虑因素。本章主要介绍了循环展开,减小过程调用,消除不必要的内存引用等优化代码的方法,有助于我们写出高效的代码,
3561cc5dc1b0
·
2023-12-31 05:53
无法在wsl子系统下正确运行
csapp
实验1datalab的实验程序
按照手册指引make然后./fshow然后就cannotexecutebinaryfile:Execformaterror发现所有可执行文件均无法执行,搜索一下该错误,多与在32位系统下运行64位程序有关。然而本机与系统均是64位,可能需要安装相关支持。搜索ubuntu18.04安装32位支持环境安装相关依赖,无效。考虑wsl的问题。解决方案转载自https://blog.csdn.net/she
Zparkle
·
2023-12-30 06:20
【2024考研】哈工大计算机考研854会改成408吗?优缺点分析?怎么复习?哈工大卓越工程师学院点击就送吗?
5.1计算机系统(
CSAPP
)复习指导5.2计算机网络复习指导5.3数据结构与算法复习指导6.总结本文首次发布于2022年3月,最近更新于2023年4月,由于考研形势变化太快,故内容不具未来时效性
早睡身体好呀
·
2023-12-27 15:36
考研
考研
哈尔滨工业大学
计算机
408
854
【
csapp
】bufferlab
文章目录实验要求实验内容Level0Level1Level2Level3Level4实验要求Level0test运行完后,不直接返回退出,而是跳到smoke函数处,继续运行,当smoke运行完毕后退出Level1在Level0的基础上,使getbuf函数的返回指向fizz函数,同时将fizz函数的参数置为userid对应的cookie值Level2使getbuf调用后不执行test函数,而是执行b
LeePlace
·
2023-12-26 16:20
随想随写
linux
【
csapp
】cachelab
文章目录PartAPartB32*3264*6461*67实验全程参考大佬的博客CS:APP3e深入理解计算机系统_3eCacheLab实验,感觉大佬在矩阵转置那块介绍的还是有些简略,我自己又做了点动图加以补充理解。膜拜大佬!PartA先解决解析命令行参数的问题,文档推荐使用getopt()函数进行解析:#include#include#includeintgetopt(intargc,char*
LeePlace
·
2023-12-26 16:18
随想随写
linux
缓存
ubuntu
CSAPP
学习笔记-缓冲区溢出(AttackLab前言)
缓冲区溢出向程序缓冲区写入超出其长度的内容,造成缓冲区溢出,造成程序破坏以执行其他程序,达到攻击目的导致溢出的函数:strcpy()、strcat(),sprintf(),vsprintf(),gets(),scanf()通过制造缓冲区溢出使程序运行一个用户shell,再通过shell执行其它命令(获得root权限)1在地址空间安排代码2初始化寄存器和内存,让程序跳转到想要的位置ctarget-代
prician
·
2023-12-25 14:28
CSAPP
操作系统
学习
笔记
linux
CSAPP
:BombLab 详细解析
BombLab来自《深入理解计算机系统》(
CSAPP
)一书的第三章的配套实验,该实验的目的是通过反汇编可执行程序,来反推出程序执行内容,进而能够正确破解”密码“,解除“炸弹”。
prician
·
2023-12-25 14:27
CSAPP
汇编
linux
visual
studio
code
docker
macos
CSAPP
:DataLab详细解析
做题的时候看了好多博客,一点一点更深入的了解、学习。不得不说lab真的很好,学到很多。做题准备我已经在上一个博客提到了,建议写之前看一下README。1.bitXor运用~和&实现x^y这里可以用一个真值表xyx^y000011101110我们可以得到但由于题目要求不可以运用“或运算”,所以这时候要用到德摩根定律非(P且Q)=(非P)或(非Q)非(P或Q)=(非P)且(非Q)可以得到即可得出本题答
prician
·
2023-12-25 14:57
CSAPP
经验分享
Quickly Design and Build Real
QuicklyDesignandBuildRealInfragisti
csApp
Buildereliminatesthecomplexityofuserinterfacedesignanddevelopmentsoyoucanbuildbusinessappsfasterthanever.Infragisti
csApp
Builderisanewcloud-basedtoolthathelpsdes
SEO-狼术
·
2023-12-25 09:05
net
Crack
Delphi
后端
CSAPP
/ICS 系统级IO笔记
文件描述符:内核(kernel)利用文件描述符(filedescriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。每一个文件描述符会与一个打开文件相对应。系统为每一个进程维护了一个文件描述符表,该表的值都是从0开始的,所以在不同的进程中你会看到相同的文件描述符,这种情况下相同文件描述符有可能指向同一个
吉祥如意_
·
2023-12-24 18:15
笔记
linux
运维
西工大计院计算机系统基础实验三前三关
作者在写作本文时,一方面参考了计院和网安院所给的实验三的PPT,另一方面参考了
CSAPP
官网的实验部分的bufferlab实验的buflab32.pdf这份pdf文件。
没耳朵的Rabbit
·
2023-12-20 15:41
linux
运维
ubuntu
服务器
HIT-
CSAPP
程序人生 大作业
摘要本文围绕经典的Hello程序,详细阐明了它在Linux操作系统环境下的完整生命周期。从源代码hello.c文件开始,我们跟踪分析了它经历的预处理、编译、汇编、链接,一直到最终执行和结束终止的全过程。同时,我们结合操作系统课程中学习的知识,详细解释了Linux系统如何对Hello程序实施管理和控制。在进程管理方面,系统如何创建、调度和终止Hello程序进程。在存储管理方面,系统如何为Hello程
子钺1023
·
2023-12-18 21:53
linux
ubuntu
运维
CSAPP
: BombLab 拆炸弹谜题题解(x86 环境)
【写在前面】这是一个仍然需要修改和更新的
CSAPP
:BombLab的解题教程,如果读者需要直接的通关技巧,那么,本篇可能不是太适合你,我会在后期更新简化的通关(新手操作)教程。
涟幽516
·
2023-12-18 20:20
计算机系统基础
ubuntu
linux
软件工程
学习方法
HIT
CSAPP
大作业:程序人生 hello‘s P2P
第1章概述1.1Hello简介程序员在文本编辑器中写下hello的C语言源代码,得到了hello的源文件hello.c。之后它被预处理、编译、汇编、链接后,得到了可执行文件hello。在终端运行hello,bash会替程序员运行hello,在shell中fork一个子进程并execvehello,随后hello被加载,正式开始运行。在运行过程中可以对其进行各种操作,包括使用Ctrl+C,Ctrl+
1190202211
·
2023-12-18 20:49
【
CSAPP
】Lab0 - 环境配置
文章目录一、前言二、虚拟机新建Linux环境三、下载lab文件四、下载相关工具五、如何做Lab?一、前言实验需要在linux环境下进行,而我的系统是window10。好多文章建议使用docker构建linux环境,但是windows系统下配置docker会出现一些问题,所以我选择用虚拟机安装linux环境。二、虚拟机新建Linux环境下载Ubuntu镜像,我选择的版本是Ubuntu20.04。在V
Luqwera
·
2023-12-18 14:53
#
CMU15-413
CSAPP-Lab
Lab
哈工大操作系统实验--实验三:系统调用,实验记录及实验报告
实验三系统调用记录一些学习哈工大操作系统实验的学习笔记和心得Github地址欢迎star⭐️⭐️⭐️⭐️⭐️课程实验楼环境课程主页课程视频课程教材:Linux内核完全注释
操作系统原理
、实现与实践实验内容需要实现的系统调用函数如下
赵英英俊
·
2023-12-18 06:43
哈工大操作系统实验hit-os
驱动开发
linux
c语言
哈工大操作系统实验--实验四:进程运行轨迹的跟踪与统计,实验记录及实验报告
实验四:进程运行轨迹的跟踪与统计记录一些学习哈工大操作系统实验的学习笔记和心得Github地址欢迎star⭐️⭐️⭐️⭐️⭐️课程实验楼环境课程主页课程视频课程教材:Linux内核完全注释
操作系统原理
、
赵英英俊
·
2023-12-18 06:43
哈工大操作系统实验hit-os
驱动开发
linux
c语言
程序人生-哈工大计算机系统大作业2022春
并且根据
CSAPP
所学内容,分析了计算机对hello程序进行进程管理,存储管理,IO管理的过程。通过
沉默笙箫~
·
2023-12-17 14:51
c语言
csapp
第五章读书笔记 分析程序指标工具
csapp
第五章读书笔记part2ProgramProfilinggprof是一种性能分析工具,用于分析程序的运行时间和函数调用关系。它可以帮助开发人员找出程序中的瓶颈和性能问题,从而进行优化。
Nahida_nora
·
2023-12-14 21:40
面试题
笔试
C++
汇编
性能优化
c++
计算机
操作系统原理
分析期末复习
一、理解与识记三种基本的OS类型及各自的特点:批处理系统(内存同时存放几个作业。优点:资源利用率高、作业吞吐量大、系统开销小;缺点:用户无交互性、作业平均周转时间长)、分时系统(时间片技术。同时性、独立性、及时性、交互性)、实时系统(短时间内完成处理。高及时性、高可靠性、稍弱的交互性)时间片的理解:分时系统的关键是采用了分时技术,把主计算机处理器工作时间分成一些很短的时间片,就是允许用户连续运行的
吃土少女古拉拉
·
2023-12-14 13:26
操作系统
数据库
系统
服务器
CSAPP
练习题 2.25
#includefloatsum_elements(floata[],unsignedlength){inti;floatresult=0;for(i=0;ifloatsum_elements(floata[],unsignedlength){inti;floatresult=0;//Issueishereduetousageoflength-1whichleadsto"underflow"tot
Shen5755
·
2023-12-06 19:34
#
CSAPP
1024程序员节
CSAPP
bomb_lab:phase_5
phase_5的汇编代码0x0000000000401062:push%rbx0x0000000000401063:sub$0x20,%rsp0x0000000000401067:mov%rdi,%rbx0x000000000040106a:mov%fs:0x28,%rax0x0000000000401073:mov%rax,0x18(%rsp)0x0000000000401078:xor%eax
暮色_年华
·
2023-12-03 17:35
服务器
linux
前端
CSAPP
第11章:共享文件
内核用三种相关的数据结构来表示打开的文件。描述符表:每个进程都有它独立的描述符表,表项是由进程打开的文件描述符来索引。每个打开的描述符表项指向文件表的一个表项。文件表:打开文件的集合是由一张文件表表示,所有的进程共享这张表。每个文件表的表象组成有当前文件位置、引用计数(当前指向该表项的描述符表项数),一个指向V-node表中对应表项的指针。关闭一个描述符会减少相应的文件表项中的引用计数。内核不会删
暮色_年华
·
2023-12-03 16:55
服务器
linux
数据库
速通
CSAPP
(二)信息的表示和处理
CSAPP
主要讲解CC++的数据表示方法,java有些不同。内存空间计算机寻址并不是按一个个二进制位来找的,通常是8位二进制位组成的一个字节是最小的寻址单元。内存可以被视作一个字节数组,虚拟内存。
灰海宽松
·
2023-12-03 14:12
#
CSAPP
c语言
数据结构
csapp
-深入理解计算机系统学习记录
文章目录
csapp
学习记录一第1章:计算机系统漫游信息就是位+上下文从一个c文件,到可执行目标文件整个翻译过程分为4个阶段程序执行的过程:摩尔定律:HELLOWORLD可执行程序的产生理解编译过程及原理的意义何在可执行程序
mackilo
·
2023-12-03 03:10
学习
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他