自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(122)
  • 资源 (4)
  • 收藏
  • 关注

原创 【计算机网络体系结构】计算机网络体系结构实验-数据包协议分析实现实验

(1)如何开展实验,学习了哪些相关课程和知识。本次实验是在Winpcap库的基础上对网络数据进行捕获,不需要编写复杂的设备驱动程序和代码就可以实现抓包,使得其编写过程比较简便、有效率。从查阅资料,到统和整理知识,思考所遇到问题的解决方案,再到程序的实现,是一个集中学习、灵活运用所学知识的过程。我这次的实验是在Dev-C++上开展的,在不断的遇到问题与解决的过程中,对Dev-C++的机制的掌握逐步加深,对其报错行为也能较快找到问题点。

2024-09-08 11:30:34 982

原创 【python】学习笔记05-数据容器

思考一个问题:如果我想要在程序中,记录5名学生的信息,如姓名。如何做呢?每一个元素,可以是任意类型的数据,如字符串、数字、布尔等。数据容器根据特点的不同,如:•是否支持重复元素•是否可以修改•是否有序,等分为5类,分别是:列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)它们各有特点,但都满足可容纳多个元素的特性。

2024-08-11 11:57:37 285

原创 【Spring】Sping笔记01

官网:https://spring.io/projects/spring-framework#learnSpring 是一个轻量级的 **IoC / DI和 AOP 容器**的开源框架,致力于构建轻量级的 JavaEE 应用,**简化应用开发**,本身涵盖了传统应用开发,还拓展到移动端,大数据等领域。什么是容器(Container):从程序设计角度看就是**装对象的的对象,因为存在放入、拿出等操作,所以容器还要管理对象的生命周期**。

2024-08-10 17:11:39 847

原创 【论文】NCScope: Hardware-Assisted Analyzer for Native Code in Android Apps

我们利用ARM平台的硬件特性ETM和Android系统的内核组件eBPF收集目标应用程序的真实执行轨迹和相关内存数据,并根据收集到的数据设计新的方法来审查本机代码。,是指为特定类型的处理器(如x86、ARM等)直接编写的,可以直接被该处理器的硬件执行的机器语言代码或接近机器语言的汇编代码。然而,在实际应用中,同时实现高保真和低开销往往是一个挑战。尽管已经设计了各种方法来分析应用程序使用的本机代码,但由于它们在 获取和分析 高保真执行跟踪和低开销内存数据 方面的局限性,它们通常会生成不完整和有偏差的结果。

2024-08-07 22:16:58 704

原创 【深度学习】PyTorch深度学习笔记03-梯度下降算法

由上节课的结果可以得出,假设一个参数 w 搜索100个结果,那么两个参数 w1,w2 的搜索空间就变成100的平方了,10个参数就变成100的十次方了。因此穷举法,找到最优点,很不合理。

2024-07-11 11:08:45 1078

原创 【深度学习】PyTorch深度学习笔记02-线性模型

用穷举法确定线性模型的参数。

2024-07-10 13:33:56 389

原创 【深度学习】PyTorch深度学习笔记01-Overview

深度学习与传统学习的区别:传统学习中特征学习(Features)和学习器(Mapping from features)是分开训练的;但是在深度学习中,所有的训练都是统一的,所以深度学习也叫End2End。解决方法:希望通过降维的方法减少对数据量的要求,同时在降维的过程中还需要保持在高维空间里的一些度量信息,这样的过程就是“表示学习”。起因:“维数诅咒”——维度越高,训练一个性能较好的模型对数据量的要求就越高。2. 经典的机器学习——手动提取一些简单的特征。4. 深度学习——利用一些简单的特征。

2024-07-09 16:17:58 460

原创 【计算机网络体系结构】计算机网络体系结构实验-www服务器配置管理实验

1.遇到的问题:打开wireshark抓包却没有抓到,忘记连接的是无线网而不是网线,应该选择WLAN。2.温习了关于http协议的相关知识,了解了WWW服务的体系结构与工作原理,掌握了利用Microsoft的IIS实现WWW服务的基本配置,掌握了WEB站点的管理。3.经过上网查阅资料,学习了关于wireshark抓包分析的更深一层知识,如各种类型的过滤条件等,并详细分析了捕获到的数据包类型及各层的详细内容,收获颇丰。

2024-06-21 11:55:38 1126

原创 【计算机网络体系结构】计算机网络体系结构实验-FTP实验

1.2.

2024-06-21 11:44:54 251

原创 【计算机网络体系结构】计算机网络体系结构实验-DHCP实验

2. 服务器地址池3. 客户端ip4. pingIpconfig。

2024-06-21 11:36:27 390

原创 【计算机网络体系结构】计算机网络体系结构实验-www实验

2.浏览器打开。

2024-06-19 22:37:04 578

原创 【计算机网络体系结构】计算机网络体系结构实验-DNS模拟器实验

拓扑图。

2024-06-19 22:28:31 297

原创 【计算机网络体系结构】计算机网络体系结构实验-配置WinPcap

清清存货UAU。

2024-06-19 22:24:49 373

原创 【操作系统】操作系统实验04-文件系统扩展

实现方法:利用递归的思想,处理完当前节点后,判断此节点是否为目录节点(以此判断是否有子节点);若是,则先递归处理该节点,实现深度优先遍历;若不是,则不做处理。利用队列存储当前目录下的子目录,当当前层遍历完后,从队列中取出头结点,对下一层文件进行遍历,以此规律实现广度优先遍历。实验中遇到的问题与解决方法:(深度优先遍历程序)运行程序,结果出现了无限循环的问题。最终发现是因为每个目录下默认有”.”与”..”的隐藏目录文件,因此递归时会无限递归本身以及上级目录。

2024-06-19 13:05:09 394

原创 【操作系统】操作系统实验03-页面置换算法

在FIFO 算法的请求页式管理中,当发生缺页中断且主存没有空闲页面时,总是淘汰最先进入主存的页面,即选择在主存中驻留时间最久的页面被淘汰。假设进程访问页有m个,在内存中分配给该进程n个页面,开辟一个大小为m*n的数组空间,存储每次访问页的内存情况。遍历进程访问页序列,若当前页不在内存中且内存中有空闲页面(前n个进入的页),则记为缺页中断一次,并将内存中后(n-1)个页面前移一位,并将最新的页放入其中;若当前页不在内存中且内存中无空闲页面,则额外将移出的一位存至队列中;

2024-06-19 12:59:24 812

原创 【操作系统】操作系统实验02-生产者消费者程序改进

想要改进程序执行语句,使程序运行时能反映出具体是哪一位生产者/消费者 生产/消费 了哪一个商品。一开始我尝试在pthread_create()函数中给生产者/消费者函数传递生产者/消费者id变量,但是由于线程共享变量,无法在生产者-生产者、消费者-消费者之间作出区分。

2024-06-19 12:08:30 550

原创 【操作系统】操作系统实验01-消息的一发一收

实现方法:1.首先创建一个子进程。2.在子进程中,利用消息队列的通信机制,循环发送十个消息。在每次循环末尾利用软中断等待接收信号16,进而进入下一次循环。3.在父进程中,利用消息队列的通信机制,循环接收十个消息。每次接收完消息后,等待子进程进入等待接收信号16的状态后(sleep(1)),再给子进程发送16信号,通知子进程自己已接收完消息,使子进程进入下一轮循环,发送下一条消息。4.发送完全部10个消息后,父进程等待子进程结束,而后自身结束并退出。

2024-06-19 11:53:25 343

原创 【操作系统】操作系统课后作业-聊天程序

它是半双工的,具有固定的读端和写端。只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间)。不是普通的文件,不属于其他任何文件系统,并且只存在于内存中。FIFO可以在无关的进程之间交换数据。FIFO有路径名与之相关联,它以一种特殊设备文件形式存在于文件系统中。

2024-06-19 11:46:40 234

原创 【操作系统】操作系统课后作业-第三章项目一代码

【代码】【操作系统】操作系统课后作业-第三章项目一代码。

2024-06-19 11:41:03 112

原创 【微机原理与汇编语言】并行接口8255实验

通过此次实验,我对8253,8255,8259的理解更加深刻了:8255提供了三个端口A,B,C,我们可以利用简单的方式0工作方式实现对端口输入输出的控制,在本次实验中,我利用8255来读取开关状态,并反映到对应的灯的状态上,8255还起到了对8253的计时器1的门控信号的控制作用。1.一开始对于8253计数器的工作方式确定不下来,有考虑到方式0的使用,但是对于两个计数器:计数器0要不断地产生脉冲,进而产生中断,不能只产生一次中断就结束了,否定。根据实验室现有条件,针对实验任务,设计实验方案并进行实现。

2024-06-05 22:21:05 951

原创 【微机原理与汇编语言】循环程序设计

本次实验中,我对循环结构程序又有了更新一层认识,对汇编指令的使用规则及方法掌握的更熟练了。在最后的几次调试时,发现小数位是不对的,且只有一位数。经过调试发现是我直接将余数打印了出来,并没有处理成小数。要想将余数转化成小数,将余数乘以10的倍数再除以除数即可。在写宏定义时,也想运用循环结构,不知是否可行。在老师的帮助下,发觉需要在头部声明:local x,x,x。原因是当宏在主程序中被二次展开时,标号会重名,所以要提前声明一下防止出错。

2024-06-05 22:18:18 402

原创 【静态分析】在springboot使用太阿(Tai-e)03

MyBatis 是一款优秀的持久层框架/半自动的对象关系映射,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过XML或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。可以看下边的两种形式的例子.

2024-05-21 18:13:02 1220

原创 【静态分析】在springboot使用太阿(Tai-e)02

本文章使用的被分析代码为。

2024-05-21 12:06:24 1177

原创 【静态分析】在springboot使用太阿(Tai-e)01

由于spring-boot实现了控制反转与面向切面编程的设计思想,使得程序并非顺序执行,因此很难通过程序入口来顺序分析所有代码。本篇文章旨在从0开始,利用Tai-e来分析spring-boot程序,解决控制反转的问题。

2024-05-20 23:42:40 1069

原创 【静态分析】软件分析课程实验A4-类层次结构分析与过程间常量传播

此外,为了使得你的过程间常量传播能够正常运行,你还需要实现一个 worklist 求解器来支持过程间数据流分析(虽然在软件分析课程中,我们并没有教过你实现过程间分析的具体方法,但是不必担心,通过本次作业,你会掌握相关的知识和实现方法)。的 entry 节点的 IN fact,我们需要对 2→4 这条边应用 edge transfer,这样使得第 2 条语句的 OUT fact(a=6)转换为 x=6,并最终 meet 结果 x=6 到第四条语句的 IN fact中。该类代表的是程序的过程间控制流图。

2024-05-10 22:21:36 726

原创 【静态分析】软件分析课程实验A3-死代码检测

死代码指的是程序中不可达的(unreachable)代码(即不会被执行的代码),或者是执行结果永远不会被其他计算过程用到的代码。去除死代码可以在不影响程序输出的前提下简化程序、提高效率。不可达代码(unreachable code)和无用赋值。

2024-05-10 16:57:13 1057

原创 【静态分析】软件分析课程实验A2-常量传播和Worklist求解器

在本作业中,Tai-e 对输入类的每个方法进行常量传播分析,并输出分析的结果,也就是每个语句的 OUT fact 所包含的数据流信息(变量的格上对应值)。这是 Tai-e 的 IR 中的一个关键接口,用于表示程序中的所有表达式。这个类的各个子类对应了不同种类的二元表达式,并且每个子类中都有一个内部枚举类型用于表示该类支持的运算符。它的实现是不完整的,在本此作业中你需要完成它。的时候,你要小心地处理每个会被分析的方法的参数。的操作数时,你只需要考虑它是变量的这一种可能,而不用担心它是常量或其它可能了。

2024-05-09 23:11:14 875

原创 【静态分析】静态分析笔记09 - 污点分析

关注的是,污点数据是否能流向sink点。或者说,sink点处的指针指向哪些污点数据。

2024-04-27 22:31:10 955

原创 【静态分析】静态分析笔记08 - 指针分析 - 上下文敏感

Select(c,l,c':oi,m),c——调用者上下文,l——调用行,c':oi——接收对象(含堆的上下文信息),m——调用函数。:上下文不敏感时,分析常量传播这个问题,由于没有明确调用id()的上下文,会把不同的调用混合在一起,对id函数内的变量n只有一种表示(调用的堆抽象的上下文,导致只有1个o8,把两个上下文调用产生的o8.f指向集合都合并了,得出了o8.f的多余指向的结果。对比1层的调用点敏感和对象敏感,时间和准确性上对象敏感显然更优,这是由面向对象语言的特点所确定的。:牺牲精度,提高速度。

2024-04-26 18:20:45 892

原创 【静态分析】静态分析笔记07 - 指针分析基础

因为mthis只和oi的类型对象相关,而可能有pt(x)={new A, new B, new C},使得pt(x)中的所有对象都流向了mthis。因为x可能指向多个对象,就会多次处理ProcessCall(x, oi),可能x中别的对象oj也指向这个目标函数m,已经将这条边加入进去了。WL:Work list,待合并的指针信息,二元组的集合,<指针n,指向的对象集合pts>。:由于指针分析和CG构造互相影响,所以每次迭代只分析可达的函数和语句。:当一个指针的指向集发生变化,必须更新与它相关的其他指针。

2024-04-24 11:56:17 930

原创 【静态分析】静态分析笔记06 - 指针分析介绍

所以为保证指针分析可以终止,我们采用堆抽象技术,将无穷的具体对象抽象成有限的抽象对象。也即,将有共性的对象抽象成1个静态对象,从而限制静态分析对象的个数。:指针分析属于may analysis,分析的结果是某指针所有可能指向哪些对象,是个over-approximation集合。:目前流敏感对Java提升不大,不过在C中很有效,本课程分析的是Java,所以重点讨论流不敏感技术。:基本信息(别名分析/调用图),编译优化(嵌入虚拟调用),漏洞(空指针),安全分析(信息流)。),来表示在该点创建的所有动态对象。

2024-04-22 12:08:45 700

原创 【静态分析】静态分析笔记05 - 过程间分析

本质是调用边的集合,从调用点(call-sites)到目标函数(target methods / callees)的边。

2024-04-20 21:57:57 793

原创 【静态分析】软件分析课程实验A1-活跃变量分析和迭代求解器

Live Variable Analysis 详见。我们已经在 Tai-e 的框架代码中提供了你需要的一切基础设施,包括但不限于:程序分析接口、常用数据结构(如数据流信息的表示)、必要的程序信息(如控制流图)等内容。由此,你就可以便利地在 Tai-e 上实现各类数据流分析了。例如在本次作业中,你要在框架代码中补全一些关键部分,从而实现要求的活跃变量分析与迭代求解器。需要特别注意的是,所有作业文档都只会简要地介绍本次作业中必要的一些 API。

2024-04-16 16:43:21 964

原创 【静态分析】软件分析课程实验-前置准备

Tai-e 是一个分析 Java 程序的静态程序分析框架,相比于已有的知名静态程序分析框架(如 Soot、Wala 等),Tai-e 要易学易用很多。Tai-e 提供精炼的 IR,明晰且易拓展的接口,丰富的程序分析算法,直观易懂的框架结构,以及指导性强的文档等。需要注意的是,Tai-e 分为教学版和科研版两个版本,两个版本虽都易学易用,但侧重有所不同。该套实验作业的设计是基于教学版。

2024-04-16 16:32:06 1188

原创 【静态分析】静态分析笔记04 - 数据流分析(理论)

定义:给定偏序集(P,∀x∈Sx⊑u, 其中u∈P,则 u 是子集 S 的上界 (注意,u并不一定属于S集∀x∈Sl⊑x, 其中l∈P,则 l 是 S 的下界最小上界:least upper bound(lub 或者称为 join),用 ⊔S 表示。定义:对于子集 S 的任何一个上界 u,均有 ⊔S⊑u。最大下界:greatest lower bound(glb 或者称为 meet),用 ⊓S 表示。定义:对于子集 S 的任何一个下界 l,均有 l⊑⊓S。

2024-04-14 11:05:55 1257 2

原创 【静态分析】静态分析笔记03 - 数据流分析(应用)

给变量 v 一个定义 d(赋值),存在一条路径使得程序点 p 能够到达 q,且在这个过程中不能改变 v 的定义 d。

2024-04-11 16:54:22 1046

原创 【静态分析】静态分析笔记02 - Intermediate Representation

因为首先要确保这是一份合格的代码,词法正确,语法正确,语义正确,而后再进行分析 non-trivial 的一些属性,而不是在可能编译不通过,运行不起来的程序中去分析这些 trivial 属性。PS:这里可能还是需要看应用场景,应用场景不同,其需求不同,source code 有时确实会比 IR 或者 machine code 表达出更丰富的语义。重用,代码相似性的 field 中,确实存在若干 paper 基于 source code 构建代码相似性。条件跳转和非条件跳转从 A 的结尾到 B 的开头。

2024-04-09 22:57:46 1000

原创 【静态分析】静态分析笔记01 - Introduction

静态分析的作用包括判断程序是否安全(空指针引用、内存泄漏、信息泄漏等)、增强对项目的理解(调用层次结构)、编译器优化(死代码消除)等。静态分析可以给出的是可靠性(soundness)或完整性(completeness),对应的是误报率(false positives)或漏报率(false negatives)。这也涉及到在确保可靠性的同时,在分析精度和分析速度之间做平衡。Over-approximation主要包括两部分:Transfer functions、Control flows。

2024-04-09 10:38:43 419

原创 【python】学习笔记04-函数

函数介绍。

2024-03-18 18:57:19 450

原创 【SQL Server】实验八 综合设计

以书3.2节的学生数据库系统为例,进行设计,包括:学生表,课程表,选课表。温习了前几节课学习的内容,加深了印象,巩固了知识的掌握。1.注意S1与S2的连接 和 and别忘了写。学生(学生序号,学生姓名,性别,年龄,系)查询王一学习了,但张三没学习的课程。课程(课程序号,课程名称,学分)选课(学生序号,课程序号,成绩)查询王一、王二都学习的课程。

2024-03-16 13:05:16 1321 1

数据报协议分析实验源码

1. hdr.h 2. main.cpp 3. main.o 4. Makefile.win 5. 项目1.dev 6. 项目1.exe 7. 项目1.layout

2024-09-08

离散数学学习笔记0000

离散数学笔记

2024-03-18

xv6-book-riscv 参考资料

1. xv6-book-riscv-rev1.pdf 2. xv6-参考书翻译-2020版.docx 3. RISC-V手册中文版

2024-03-09

网络安全实验-snort实现高级IDS-software

1. adodb519.tar.gz 2. barnyard2-1.9.tar.gz 3. base-1.4.5.tar.gz 4. daq-2.0.4.tar.gz 5. libdnet-1.12.tgz 6. libmysqlclient.so.16 7. snort-2.9.7.0.tar.gz 8. snort-2.9.13.tar.gz 9. snortrules-snapshot-2970.tar.gz 10. WinSCP-6.1.1-Setup.exe

2024-02-01

MIPS模拟器-x64

1. MIPS模拟器_x64 2. MIPSsim使用手册.pdf 3. MIPS指令列表.pdf

2023-12-22

MyCache模拟器.rar

MyCache模拟器.rar

2023-12-22

【网络规划设计】网络工程实验教程2016

1. 指导书提供了在锐捷交换机上实现以下实验: 实验一 交换机的初步使用 实验二 路由器的初步使用 实验三 交换机VLAN配置 实验四 快速生成树配置 实验五 通过三层交换机实现VLAN间路由 实验六 配置静态路由 实验七 配置动态路由 实验八 利用IP标准访问列表进行网络流量的控制 实验九 配置NAT实现外网主机访问内网服务器 实验十 配置NAT实现内网主机访问外网 综合实验 小型校园网建设项目 2. 锐捷与思科命令兼容指导书

2023-12-12

验证码识别(代码+数据集+文档)

程序功能:验证码识别 开发环境:python 数据集: 1. 训练集:500张验证码,共500*5个字符 2. 测试集:500张验证码 成果:对测试集进行测试(内含500张验证码),正确率在65%左右

2023-11-15

pfSense-CE-2.6.0-RELEASE-amd64.iso.gz

1.pfSense-CE-2.6.0-RELEASE-amd64.iso.gz

2023-07-09

【工程项目管理】工程项目管理大作业

内含工程项目管理大作业中用到的excel表格 文件列表如下: 1.WBS.xls 2.成本单价.xlsx 3.沟通计划.xls 4.项目执行控制.xls

2023-06-22

pwn07.ret2syscall例题

ret2syscall例题

2022-11-11

【C语言】初学者基础练习程序

1.1!+2!+...+10! 2.1、2、4、8前64项之和 3.1、3、6、10、15前100项之和 4.e 5.斐波那契数列 6.鸡兔同笼 7.孪生质数 内含源程序

2022-07-05

【C语言】数据结构实验_一元多项式相加_串模式匹配算法_二叉树遍历与路径查找

语言:C语言 实验一:一元多项式相加(链表应用实验) 实验二:串模式匹配算法(串实验) 实验三:二叉树遍历与路径查找(二叉树实验) 内含源程序,实验报告

2022-07-03

【C语言】学生信息管理_数组

语言:C语言 实现功能:学生信息管理 知识点:数组 内含实验报告

2022-07-03

【C语言】学生信息管理_链表

语言:C语言 实现功能:学生信息管理 知识点:链表 内含实验报告

2022-07-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除