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
CVE-2010-2883 从漏洞分析到样本分析
可以看《
深入理解计算机系统
》第三章。缓冲区溢出漏洞利用。可以看《0day安全:软件漏洞分析技术》。软件脱壳、PE文件格式。
TimeShatter
·
2023-11-15 01:05
漏洞分析
恶意代码分析
二进制
恶意代码分析
CVE-2010-2883
漏洞分析
脱壳
逆向分析
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
体系结构
深入理解计算机系统
-计算机系统漫游-第一章
深入理解计算机系统
-计算机系统漫游开篇说明计算机系统漫游总结开篇说明哈喽,如果你有幸看到了这篇文章,请允许我提前说明,本笔记只是我个人在阅读《
深入理解计算机系统
》时的笔记摘抄。
道上简哥
·
2023-11-11 11:56
操作系统
windows
linux
操作系统
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
西电李航
操作系统课程笔记
操作系统
夯实基础才是硬道理--拍案叫绝的计算机经典
《
深入理解计算机系统
》-RandalE.Bryant&DavidR.O'Hallaron3.
WY_记录
·
2023-11-08 05:12
活动
其他杂项
经验分享
实模式寻址方式 ---- 实模式、保护模式、三种地址、分段、分页
保护模式和分段机制段选择符和段描述符的关系
深入理解计算机系统
-之-内存寻址(三)--分段管理机制(段描述符,段选择子,描述符表)https://blog.csdn.net/gatieme/article
happylzs2008
·
2023-11-07 22:29
linux内存管理
汇编
esp_ebp_堆栈
读完大呼过瘾的计算机书籍
目录一导论二《算法导论》三《
深入理解计算机系统
》四《代码大全》五《设计模式:可复用面向对象软件的基础》六《人月神话》七总结一导论作为一个计算机专业的爱好者,我发现计算机科学和技术领域充满了无穷无尽的可能性
杰克尼
·
2023-11-07 18:18
算法
数据结构
c语言
开发语言
【
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++
汇编
如何阅读《
深入理解计算机系统
》
作者:RandalE.Bryant,DavidR.O'Hallaron来源:华章计算机(hzbook_jsj)《
深入理解计算机系统
》(简称CS:APP)的主要读者是计算机科学家、计算机工程师,以及那些想通过学习计算机系统的内在运作而能够写出更好程序的人
hzbooks
·
2023-11-05 01:46
编译器
编程语言
人工智能
java
大数据
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文件
深入理解计算机系统
第三章笔记
3.2程序编码linux->gcc-Og-opp1.cp2.cgcc指GCCC编译器-Og告诉编译器使用生成符合原始C代码整体结构的机器代码优化-o是增加优化级别linux->gcc-Og-Sp1.c生成p1.s文件,即为p1.c的汇编代码linux->gcc-Og-cp1.c生成p1.c的目标代码文件p1.o,二进制格式他的16进制为:534889d3e8000000004889035bc31.
麻风剑客
·
2023-11-04 02:25
csapp
:cachelab实验-PartB-2
热乎的缓存实验,昨天刚结束的计算机系统实验,最后前几天不是在玩手机丧志,就是赶bomb实验,做两门课的讨论课ppt。最后星期六晚终于把bomb实验的前五关给过了,最后一关还没通过,然后星期天还有算法设计的雨课堂作业和cachelab实验的最后一部分PartB,优化64x64和67x61矩阵转置。当天晚上先给过了四个雨课堂的题目,最后还剩6道,还是决定做cache实验。----2020.5-11HN
simenona
·
2023-11-02 05:39
实验学习记录
cache
深入理解计算机系统
CS213学习笔记
Lecture011.计算机表示数字int整数运算可能会出现错误,超过32位时会出现溢出。float浮点数不适用结合律,因为浮点数表示的精度有限。根其原因,是用有限的位数表示无限的数字空间。2.利用分层的存储系统,使程序运行更快。更重要的是,注意内存访问。C++不做内存边界检查。例子:结构体内部的数据成员在内存中放在一起,当访问数组时,超过了数组的边界,但是不会做内存的边界检查,因此会访问到其他数
aryaX
·
2023-11-01 14:37
学习
笔记
西工大
CSAPP
第二章课后题2.56~2.58答案及解析
因为我获取并阅读
CSAPP
电子书的方式是通过第三方网站免费下载,没有付给原书作者相应的报酬,遵循价值交换原则,我会尽我所能通过博客的方式,推广这本书以及原书作者就职的大学,以此回馈原书作者的劳动成果。
没耳朵的Rabbit
·
2023-11-01 00:06
c语言
数据结构
算法
《从Paxos到zookeeper:分布式一致性原理与实践》读书笔记
问题的提出并发的定义(来自《
深入理解计算机系统
》):如果逻辑控制流在时间上重叠,那么他们就是并发的。本书的并发,指更新操作的并发,即有多个线程同时更新内存中变量的值。数据复制的延时问题。
johnny233
·
2023-10-31 02:01
读书笔记
zookeeper
【仅供参考】
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语言定点数和浮点数的转换
上一页
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
其他