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
datalab 详解
实验链接:教材网站educoder在线测评平台:educoder题解bitXor//1/**bitXor-x^yusingonly~and&*Example:bitXor(4,5)=1*Legalops:~&*Maxops:14*Rating:1*/intbitXor(intx,inty){return~((~(~x&y))&(~(x&~y)));}/*使用离散数学的方法,列出真值表,得到xor=
宪章文武
·
2023-11-21 06:13
csapp
深入理解计算机系统 bomb lab(1)phase_1
实验环境:C、linux实验获取:进入
csapp
官网,点击linux/x86-64binarybomb下载实验压缩包。实验说明:一共有6个关卡,每个关卡可以输入一串字符,只有输入正确才能拆出炸弹。
暮色_年华
·
2023-11-20 00:51
linux
运维
服务器
csapp
attack lab phase3
csapp
attacklabphase3(gdb)b*0x401971Breakpoint1at0x401971:filevisible.c,line92.
Nahida_nora
·
2023-11-19 15:51
C++
面试题
笔试
汇编
CSAPP
第四章:Y86 SEQ(指令顺序执行)的硬件结构
SEQ硬件结构的抽象表示。程序计数器放在寄存器中(左下角,起点)。先向上,再向右取指:将程序计数器寄存器作为地址,指令存储器读取一个指令的字节,PC增加器计算valP(程序计数器增加后的值)。解码:寄存器文件有两个读端口A和B,从两个端口同时读寄存器值valA和valB。执行:根据指令的类型,算术/逻辑单元(ALU)进行不同的操作。对于整数操作,执行指令指定的运算。对其他指令,作为一个加法器来计算
暮色_年华
·
2023-11-16 22:45
java
开发语言
CSAPP
————第三章
引入:本章主要介绍了计算机中的机器代码——汇编语言。当我们使用高级语言(C、Java等)编程时,代码会屏蔽机器级的细节,我们无法了解到机器级的代码实现。那么,既然有了高级语言,我们为什么还需要学习汇编语言呢?学习程序的机器级实现,可以帮助我们理解编译器的优化能力,可以让我们了解一个程序是如何运行的,哪些部分是可以优化的;当程序受到攻击(漏洞)时,都会涉及到程序运行时控制信息的细节,并且很多程序都会
SchneeDuan
·
2023-11-16 05:03
csapp
linux
c语言
CSAPP
dataLab实验笔记
因为实验环境是unix,所以要搭环境我用的是docker非常方便这边建议参考学姐的博客总结的非常详细https://blog.csdn.net/weixin_52259822/article/details/123610165不过就是遇到了make:commandnotfound的问题当使用yum-yinstallgccautomakeautoconflibtoolmake解决时候显示mirror
SchneeDuan
·
2023-11-16 05:33
csapp
笔记
CSAPP
-buflab
注:全文如下,同时欢迎参观我的个人博客:
CSAPP
-buflabbuflab实验目的详细了解IA-32调用惯例和堆栈结构。它涉及对lab目录中的可执行文件bufbomb应用一系列缓冲区溢出攻击。
Yuhan_2001
·
2023-11-12 22:46
深入理解计算机系统
安全
linux
《深入理解计算机系统》(
CSAPP
)实验七 —— Malloc Lab
文章目录隐式空闲链表分离的空闲链表显示空闲链表1.实验目的2.背景知识3.Implicitlistmm_initextend_heapmm_mallocfind_fitplacemm_freecoalescemm_realloc4.explicitlistmm_initallocate_from_heapextend_heapinsert_to_free_listmm_mallocfind_fit
嵌入式与Linux那些事
·
2023-11-12 11:41
深入理解计算机系统
深入理解计算机系统
嵌入式
操作系统
CSAPP
内存
CSAPP
第4章:RISC和CISC指令集
RISC和CISC指令集IA32被称为复杂指令集计算机(CISC),与精简指令集计算机(RISC)相对。从历史上看,先出现了CISC机器,计算机不断发展使指令集非常大。RISC设计理念在80年代早期发展,使用更简单的指令集产生高效的代码。许多加到指令集中的高级指令很难被编译器产生,并且这些指令很少被用到,一个简单的指令集可以很少的硬件实现,能以高效的流水线组织起来。CISC和RISC比较:(1)C
暮色_年华
·
2023-11-11 16:30
体系结构
CSAPP
AttackLab
个人主页:SarapinesProgrammer系列专栏:《
CSAPP
奇遇记》少年有梦不应止于心动,更要付诸行动。
Sarapines Programmer
·
2023-11-11 08:53
CSAPP奇遇记
c++
汇编
c语言
vim
CSAPP
DataLab
个人主页:SarapinesProgrammer系列专栏:《
CSAPP
奇遇记》少年有梦不应止于心动,更要付诸行动。
Sarapines Programmer
·
2023-11-11 08:22
CSAPP奇遇记
vim
c语言
c++
数据结构
算法
C++各知识点参考资料汇总(不定期更新)
C++编译与内存相关C++程序编译
csapp
.cs.cmu.edu/3e/pieces/preface3e.pdfC++内存管理1.ELF文件:可执行与可链接格式(ExecutableandLinkableFormat
BBBourne
·
2023-11-11 01:24
C++
c++
开发语言
西电李航 操作系统课程笔记 day12 deadlock
文章目录deadlock死锁概念死锁本质死锁条件死锁处理策略忽略问题(鸵鸟算法)检查并恢复动态避免死锁破坏必要条件之一死锁检测和死锁恢复检测死锁的方法资源分配图分配/请求矩阵资源轨迹图(进度图)//
CSAPP
note-day13
aeroseat
·
2023-11-10 04:31
西电李航
操作系统课程笔记
操作系统
【
csapp
】Task 06:存储器层次结构
存储技术存储器系统memorysystem是一个具有不同容量、成本和访问时间的存储设备的层次结构。存储器的层次结构寄存器CPU寄存器保存最常用的数据快0个周期高速缓存存储器cachememory作为主存储器中的数据和指令的缓冲区域4-75个周期主存储器mainmemory作为磁盘的缓冲区域相对慢速百+个周期磁盘作为通过网络中其他机器上数据的缓冲区域容量大、速度慢千万+周期远程设备中的存储器慢计算机
J_caicaicai
·
2023-11-07 07:31
计算机科学
计算机科学
CSAPP
:第一章——计算机系统漫游
计算机系统漫游一、信息,就是位+上下文二、程序被编译成不同的格式三、处理器读并解释存储在内存中的指令1.系统硬件的组成2.运行hello程序四、高速缓存五、存储设备层次结构六、操作系统管理硬件1.进程2.线程3.虚拟内存4.文件七、系统之间利用网络通信八、并发和并行一、信息,就是位+上下文计算机系统中的所有信息——包括磁盘文件、内存中的程序、内存中存放的用户数据以及网络上传送的数据,都是由一串比特
七妹要奈斯
·
2023-11-06 09:21
计算机系统原理
java
算法
c++
CSAPP
BOMB LAB part3
CSAPP
BOMBLABpart3phase_4bomb.sphase_4的代码:格式:40102e行,比较0x8+rsp的值和0xe,需要让0x8+rsp小于0xe,然后跳转到40103a,func函数根据
Nahida_nora
·
2023-11-05 16:10
C++
笔试
面试题
c++
汇编
csapp
bomb lab part4
csapp
bomblabpart4phase5是一个循环,不断累加,访问的地址基于0x4024b0,phase6之后更新汇编地址计算寄存器cl是x86汇编语言中的一个8位寄存器,它是ecx寄存器的低位部分
Nahida_nora
·
2023-11-05 16:10
C++
笔试
面试题
c++
汇编
CSAPP
BOMB LAB 题解(含secret_phase进入方法和答案)
文章目录准备工作phase1phase2phase3phase4phase5phase6secretphase准备工作g++、gdb、vimphase1gdbbomb(gdb)layoutasm(gdb)bphase_1r显示汇编界面,并运行至phase1中观察phase_1汇编的主题,可以大概了解到程序先给%rsi赋值后进入strings_not_equal函数进行比较,并计算返回值是否为0,如
.-.891
·
2023-11-04 18:43
C++
c++
CSAPP
BOMB LAB part1
BOMBLABpart1labphase1bomb.cphase1code:bomb.sphase1code:phase_1的参数被存入寄存器esi,之后调用strings_not_equal函数,401338对应string_not_equal函数:调用strings_not_equal函数之后,会进行3次push(stack操作),然后将寄存器rsi的值放入寄存器rbp(callee存储临时变
Nahida_nora
·
2023-11-04 18:41
面试题
笔试
C++
c++
linux lea 0x18(%r12),%rbx,
CSAPP
: Bomb Lab 实验解析
这是
CSAPP
课本配套的第二个实验,主要任务是“拆炸弹”。所谓炸弹,其实就是一个二进制的可执行文件,要求输入六个字符串,每个字符串对应一个phase。如果字符串输入错误,系统就会提示BOOM!!!。
weixin_39973416
·
2023-11-04 18:11
linux
lea
0x18(%r12)
%rbx
CSAPP
第二個實驗bomblab
文件和完整的word見github3.1阶段1的破解与分析密码如下:Iamnotpartoftheproblem.IamaRepublican.破解过程:1.首先读主函数的汇编代码发现这里是用了以一个函数(后面每一个炸弹都是对应的一个函数,在主函数中调用的表现形式一致,后面就不赘述了)然后找到地址0x400e8d对应的函数发现这里里面是把将立即数0x402470复制到%esi,然后调用一个,那么我
weixin_30593443
·
2023-11-04 18:41
数据结构与算法
c/c++
csapp
bomb lab phase_5
CSAPP
phase这个阶段很有意思,考察了两个知识点,一方面是数组在内存中的存储,另一方面,其采用了一个简单加密算法,对字符数组进行了加密,也就意味着需要破解密钥才能打开这关。
咸鱼宇
·
2023-11-04 18:40
csapp系列
CSAPP
bomb
lab
phase_5
CSAPP
Lab2: Binary Bomb
著名的
CSAPP
实验:二进制炸弹就是通过gdb和反汇编猜测程序意图,共有6关和一个隐藏关卡只有输入正确的字符串才能过关,否则会程序会bomb终止运行隐藏关卡需要输入特定字符串方会开启实验材料下载地址:http
weixin_30345577
·
2023-11-04 18:40
数据结构与算法
CSAPP
-Lab02 Bomb Lab 详细解析
目录实验概览实验过程`bomb.c`代码分析phase_1反汇编phase_1keyphase_2反汇编phase_2反汇编read_six_numbers回到phase_2keyphase_3反汇编phase_3keyphase_4反汇编phase_4反汇编func4keyphase_5反汇编phase_5Part1Part2Part3keyphase_6反汇编phase_6Part1Part2
Deconx
·
2023-11-04 18:10
CSAPP
gdb
CSAPP
实验(2)---bomblab
实验目的:写在最前面:Bomblab是一项有趣而具有挑战性的实践项目。这个实验模拟了解除恶意软件炸弹的过程,需要实验者以下能力反汇编和逆向工程:实验者需要通过反汇编炸弹程序,分析程序的结构和逻辑,理解每个任务的具体要求,以及找出实现这些要求的代码路径。调试和动态分析:实验者需要使用调试器工具(如gdb)来跟踪程序的执行过程,观察程序在不同输入下的行为,定位问题和漏洞,以及验证他们的假设和解决方案。
南游北归
·
2023-11-04 18:09
java
前端
javascript
csapp
bomb
目录结构1.
CSAPP
与Bomb简介1.1
CSAPP
1.2Bomb2.bomb2.1实验环境2.2实验过程2.2.1phase_12.2.2phase_22.2.3phase_32.2.4Phase_42.2.5phase
Sarapines Programmer
·
2023-11-04 18:09
CSAPP实验
c语言
c++
vim
数据结构
算法
CSAPP
-ATTACKLAB
BOMBLAB做的人不能自理。在bomblab中,有很多投机取巧的方法,面对整个冗长的汇编也没能总结出什么有用的经验(或许有用的gdb调试经验增加了。。。)总而言之,bomblab算一个比较有趣但是要想真正写点东西出来又很困难的LAB。废话了这么多,无非就是:“我做完bomblab但是台麻烦拉不想写,直接从attacklab开始整”phase1第一问比较简单,要求是通过注入代码实现函数的跳转。原本
vox_xov
·
2023-11-04 18:39
CSAPP
二进制炸弹实验 bomb lab详细解析
前段时间刚刚做完bomblab实验,记录一下我做
CSAPP
二进制炸弹实验的详细过程。有什么问题可以在评论中指出,一起进步。
Eternitykc
·
2023-11-04 18:06
CSAPP
CSAPP
BOMB LAB part2
bomblabpart2phase3将rsp+0xc存入rcx,将rsp+0x8存入rdx,地址0x4025cf存储格式,然后调用好sscanf函数,当rsp+0x8的值大于0x7,会跳转到400fad,会boom!!!所以rsp+0x8的值不大于0x7。0x8+rsp的值不进入ja的代码段,会执行400f71对应的指令,之后执行400f75对应的指令,jmpq*0x402470(,%rax,8)
Nahida_nora
·
2023-11-04 18:06
c++
汇编
CSAPP
二进制炸弹 binary bomb lab6 第六关 ——深入理解计算机系统
bomblab第六关详细分析由于第六关的汇编代码太长且复杂,需要非常耐心地进行分析,故将整个汇编代码分为几个部分详细说明。一、Part100000000004010f4://arg1=input(input是从外部传入的字符串)4010f4:4156push%r144010f6:4155push%r134010f8:4154push%r124010fa:55push%rbp4010fb:53pus
Eternitykc
·
2023-11-04 18:06
CSAPP
c语言
linux
springboot 单元测试 读取 resources 目录下的文件路径
org.springframework.bootspring-boot-starter-test测试类:packagecom.xx.server.controller;importcom.xx.server.Telemati
csApp
lication
javamangguo
·
2023-11-04 17:57
springcloud
springboot单元测试
读取resources文件
csapp
:cachelab实验-PartB-2
热乎的缓存实验,昨天刚结束的计算机系统实验,最后前几天不是在玩手机丧志,就是赶bomb实验,做两门课的讨论课ppt。最后星期六晚终于把bomb实验的前五关给过了,最后一关还没通过,然后星期天还有算法设计的雨课堂作业和cachelab实验的最后一部分PartB,优化64x64和67x61矩阵转置。当天晚上先给过了四个雨课堂的题目,最后还剩6道,还是决定做cache实验。----2020.5-11HN
simenona
·
2023-11-02 05:39
实验学习记录
cache
西工大
CSAPP
第二章课后题2.56~2.58答案及解析
因为我获取并阅读
CSAPP
电子书的方式是通过第三方网站免费下载,没有付给原书作者相应的报酬,遵循价值交换原则,我会尽我所能通过博客的方式,推广这本书以及原书作者就职的大学,以此回馈原书作者的劳动成果。
没耳朵的Rabbit
·
2023-11-01 00:06
c语言
数据结构
算法
【仅供参考】
csapp
第三章课后习题答案(欢迎批评指正)
3.67【答案】A.%rsp+24z%rsp+16&z%rsp+8y%rspxB.由汇编代码eval的第8行以及process的第2行可以看出传递了%rdi的值,为%rsp+64C.通过%rsp+offset(偏移量)D.由汇编代码process可以看出通过传递给%rsp+64,并从该地址开始将结构r的字段存储在栈上E.以第一列的地址为起始地址向上存变量是按顺序分配栈的,由此可以写出变量的位置(要
只会c语言
·
2023-10-31 01:17
c语言
【仅供参考】
Csapp
第六章课后习题答案(欢迎批评指正)
6.22【答案】x=0.5【解释】假设磁道延半径均匀分布,则磁道数=r-x*r=(1-x)*r,而每个磁道位数=k*2πxr;所以总位数=k*2πrx*(1-x)*r=2kπr²x(1-x),易知x=0.5时取最大值。6.23【答案】平均寻道时间:T_avg_seek=4ms平均旋转时间:T_avg_rotation=0.5*1/15000*60s/min*1000ms/s=2ms平均传送时间:T
只会c语言
·
2023-10-31 01:17
c语言
【
csapp
】第十章课后习题答案(欢迎批评指正)
10.7【答案】#include"
csapp
.h"intmain(intargc,char**ar
只会c语言
·
2023-10-31 01:17
c语言
深入理解计算机系统
csapp
家庭作业(第二章完整版)
文章目录第二章2.552.562.572.582.592.602.612.622.632.642.652.662.672.682.692.702.712.722.732.742.752.762.772.782.792.802.812.822.832.842.852.862.872.882.892.902.912.922.932.942.952.962.97第二章2.55代码示例:`#include
Soungkayou
·
2023-10-31 01:46
c语言
CSAPP
(第三版)第二章答案
2.30//补码发生溢出返回0否则返回1inttadd_ok(intx,inty){intsum=x+y;if((x>0&&y>0&&sum=0)){return0;}else{return1;}}2.31这个函数只会返回真假设x+y发生正溢出,则sum=x+y-2^w(w表示位数)sum-x=y-2^w而y-2^w一定满足发生负溢出条件所以sum-x=y-2^w+2^w=y2.32y取Tmin=
_wauwa
·
2023-10-31 01:45
csapp
算法
深入理解计算机系统(
CSAPP
) 第二章
家庭作业2.57借助C++模板可以很方便的实现。//g++-omainmain.cc-std=c++11#include#includetemplatevoidshow_bytes(Tt){//获取字节数量size_tbyte_count=sizeof(t);std::stringbit_str;//从前向后遍历for(size_ti=0;i(&t)+i;//依次取出第i个字节的8个比特。for(
Time_Limit
·
2023-10-31 01:13
深入理解计算机系统(CSAPP
第三版)
csapp
深入理解计算机系统
课后题答案
CSAPP
第7章家庭作业参考答案
7.6buf有m.o外部.databufp0有swap.o全局.databufp1有swap.o局部.bssincr有swap.o局部.textcount有swap.o局部.bssswap有swap.o全局.texttemp无7.7在bar5.c中声明x的时候使用static,使其链接为内部链接:/*bar5.c*/staticdoublex;voidf(){x=-0.0;}7.8A.(a)REF
Carrot_kexin
·
2023-10-31 01:42
操作系统
西工大
CSAPP
第二章课后题2.55答案及解析
因为我获取并阅读
CSAPP
电子书的方式是通过第三方网站免费下载,没有付给原书作者相应的报酬,遵循价值交换原则,我会尽我所能通过博客的方式,推广这本书以及原书作者就职的大学,以此回馈原书作者的劳动成果。
没耳朵的Rabbit
·
2023-10-31 01:11
C
数据结构
c语言
数据结构
算法
csapp
-Machine-Level Representation of Program-review
Machine-LevelRepresentationofProgram收获和思考BasicsMachine-LevelProgramming可以看成是机器执行对于上层代码的一种翻译,即硬件是如何通过一个个的指令去解释每一行代码,然后操纵各种硬件执行出对应的结果。Machine-LevelProgramming有2种表现形式,一种是text格式的汇编代码;一种是由字节序列构成的机器码,可以理解汇编
囚蕤
·
2023-10-30 21:29
csapp
csapp
Machine-Level
CSAPP
- CacheLab
CSAPP
-CacheLab本实验上学期花了一周的时间才做完,也算是
CSAPP
中做的最认真的一个了相比于PhaseA,PhaseB更加的阴间和耗时在做实验的过程中参考了知乎大佬和CSDN上的代码,并融入了自己的
D_Sketon
·
2023-10-30 21:27
缓存
csapp
-lab1
目录一、前言二、配置lab环境三、开摆~1.bitXor2.tmin3.isTmax4.allOddBits5.negate6.isAsciiDigit7.conditional8.isLessOrEqual9.logicalNeg10.howManyBitsFloat1.floatScale22.floatFloat2Int3.floatPower2一、前言其实学长在布置作业的时候是有发了一个英
RSA.
·
2023-10-30 21:57
前端
csapp
-Program Optimization-review
Program-Optimization收获和思考GenerallyUsefulOptimizations对于循环内重复计算的值,将其提前移动到循环外使用加减运算、位运算代替乘除运算和取模运算OptimizationBlockers循环遍历数组元素时,提前计算数组的长度而非在每次循环中单独计算数组的长度避免aliasing(混淆)问题:数据在内存中的分布是随机的,因此两种类型相同的数据所占用的空间
囚蕤
·
2023-10-30 21:55
csapp
csapp
optimization
csapp
datalab
知识点总结逻辑运算符关系and(与)、or(或)和xor(异或)是逻辑运算符,用于对布尔值进行操作。它们可以在不同的逻辑表达式之间进行转换。下面是and、or和xor之间的转换规则:and转换为or:aandb=!(aorb)(取反)or转换为and:aorb=!(aandb)(取反)xor转换为and和or:axorb=(aand!b)or(!aandb)问题合集makefile删除m32:使用
Nahida_nora
·
2023-10-30 12:22
笔试
面试题
C++
c++
c语言定点数和浮点数的转换,浮点数和定点数的相互转换(浮点数量化为定点)...
看《
CSAPP
》方知人家老外把这个东西当成重中之重,大量详细的原理介绍,并配套大量例题。
weixin_39647412
·
2023-10-30 01:27
c语言定点数和浮点数的转换
HACKTHEBOX——Starting Point Tier1
目录AppointmentSequelCrocodileResponderIgnitionBikePennyworthTacti
csApp
ointmenttask1WhatdoestheacronymSQLstandfor
Jim_vegetable
·
2023-10-28 16:55
getFlag
sql
数据库
database
web安全
安全
csapp
attacklab 报segmentation fault
记录一个找了一个小时的bugattacklablevel1输入40个无意义的16进制数再加上touch1地址,就报了segmentfault。GDB检查%eax的值,发现前40个没问题,问题在于touch1地址找错了,程序run起来,然后在输入字符串之后,touch1的地址会改变。而我使用的是run之前的touch1地址,所以不对。
__心似大海__
·
2023-10-27 05:06
错题集
c语言
c语言ip地址转16进制,点分十进制形式的ip地址转化为十六进制数
#include"
csapp
.h"/*本代码将点分十进制形式的ip地址转化为十六进制数并且输出*///返回一个字符串代表的整数intstr2int(char*str){//要注意变量的初始化intvalue
祁圆圆
·
2023-10-23 21:54
c语言ip地址转16进制
上一页
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
其他