![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学校实验
文章平均质量分 93
三丑是只猫
这个作者很懒,什么都没留下…
展开
-
南京邮电大学恶意代码——实验:Pe病毒编写
前言修改PE文件一般有两种思路。第一种是通过编程语言来修改,这种方式的Visual Studio的Windows.h头文件里面有完全的PE相关管理结构的完整定义,通过编程来修改比较烦,但是优点是可以自动化进行,并且不需要去找相关的工具;第二种方法是通过一些二进制工具来进行修改,这种方式是交互式的,能够直观的感受到整个过程,缺点是需要熟悉相关工具的UI使用方式,而且修改大量方式的时候市面上的这些工具一般都不提供编程接口;因为本次实验仅仅是一个探索,所以就采用第二种方式。需要的工具本次实验用到的原创 2021-04-25 19:24:28 · 1730 阅读 · 0 评论 -
南京邮电大学编译原理——实验一:自己写一个词法生成器,第二步:利用DFA生成一个词法分析器
文章目录前言词法分析器确定语言确定DFA编程Lexical_Analyzer的数据成员描述DFA的成员辅助变量Lexical_Analyzer的类函数声明运行结果前言前一篇文章写到了有穷自动机的实现。传送门这次就用之前实现的DFA类来完成一个简单的词法分析器吧。实际上通过学习编译原理,我们可以自己写一个词法生成器的编译程序,具体的写法应该是:正则表达式词法分析器->生成转换系统->通过子集法生成DFA->简化DFA->运行DFA。但是由于没有时间,并且现在已经有了Lex之类的自原创 2021-04-11 10:36:43 · 3189 阅读 · 0 评论 -
南京邮电大学编译原理——实验一:自己写一个词法生成器,第一步:一个确定有穷状态机的实现(DFA)
文章目录前言DFA的定义DFA的扩展定义扩展的状态转移条件前言通过编译原理的学习,我们知道正规文法中的一个定义式可以转化为一个终止状态只有一个的有穷状态机。而整个正规文法可以等价的表示为一个有穷状态机。而一个有穷状态机又可以转化为一个状态转移图。因此,编写一个词法分析器有两种方法:根据状态转换图进行进行编写,对应的代码应该是一个Switch块;首先实现一个有穷状态机类,根据自己设计的正规文法来定义一个有穷状态机对象,并使用这个有穷状态机来完成词法的分析。我选择第二种方法,原因有:有穷状态机将操原创 2021-03-30 15:25:02 · 2268 阅读 · 0 评论 -
南京邮电大学网络编程课程作业:利用编译原理的知识来编写一个计算器
题目要求具有加、减、乘、除、模的功能(操作符)加、减具有同样的优先权,乘、除、模具有同样的优先权,但高于加、减支持‘()’(具有最高优先权), 也即sub expression只考虑处理非负整数,也即 >= 0的正数...原创 2021-02-25 20:56:26 · 774 阅读 · 0 评论 -
南京邮电大学操作系统——实验五:Windows平台多进程共享内存通信
前言项目拓扑Producer和Customer模块ShareDll模块ShareDllLib.hShareDll.cpp前言这次的实验代码都给了,需要做的事情是实现简单的生产者-消费者模型,这部分的原理也很简单,所以也就不重新造轮子了。本来这次实验的目的也是想让我们了解一下Windows内核对象的一些背景知识、WINAPI的相关调用过程、DLL的创建过程及如何在主函数中调用DLL。项目拓扑这里说一句题外话,原来Visual Studio是可以直接打开VC的项目的…之前还傻傻的复制粘贴。接下来就是项.原创 2020-12-21 22:06:01 · 714 阅读 · 1 评论 -
一个简单的硬盘管理器的实现暨南京邮电大学操作系统——实验四:简单文件系统模拟实验
文章目录前言前言这次的实验要求写一个文件管理系统,使用FAT格式存储文件,但是我想既让要写,那就写好一点吧,所以这次实验,我的最终目的是创建一个虚拟硬盘,并编写一个符合UEFI规范的“驱动程序”来格式化这个硬盘。UEFI规范规定了硬盘的分区采用GPT分区格式且OSLoader的...原创 2020-12-01 23:01:06 · 1087 阅读 · 0 评论 -
南京邮电大学漏洞挖掘——观察堆结构,及观察Windows10下的堆结构及其管理过程
关于堆的背景知识堆的引入在一个C\C++程序中,变量的储存位置可以分为以下几类:全局变量:这种变量一般存储在PE文件的.data段中,在程序初始化时由用户或者编译器进行初始化;局部变量:这种变量存储于程序的栈中,在程序刚刚进入一个函数时由编译器在栈中分配对应的空间,当程序清栈时,局部变量的空间被收回;由Malloc或者New运算符申请的一块连续的内存空间,该空间需要程序编写者自己进行申请或者回收;第三种申请到的内存空间就属于堆分配的内存空间,通过堆分配的内存空间和全局变量、局部变量有较大的不原创 2020-11-25 23:32:59 · 1079 阅读 · 0 评论 -
南京邮电大学操作系统——实验三:页面置换算法
文章目录实验内容实验源码实验结果结果分析实验内容理解请求分页式虚拟存储管理方案中的页面置换算法,理解缺页中断率的概念并可以进行正确地统计。具体要求如下:使用数组存储一组页面请求,页面请求的数量要50个以上,访问的页面号可以用随机数生成(0~20):设置为分配给进程的页框数(假定是5),使用LRU算法,模拟完成全部的页面请求,最后输出总共发生了多少次缺页;重新设置页框为10,模拟过程,完成输出,观察页框数量对缺页中断率的影响;在相同页框的情况下,使用FIFO算法模拟全部的页面请求,以此来比对FIF原创 2020-11-12 20:43:34 · 2807 阅读 · 0 评论 -
南京邮电大学操作系统——实验二:线程的互斥与同步
南京邮电大学操作系统——实验二:线程的互斥与同步前言编程题题目1 售票同步问题题目2 司机和售票员的同步过程关于吃橘子问题的异常输出及排查问题对应的错误输出前言由于本实验的大部分实验较为简单,所以这里只贴出两个需要注意的点:最后的编程实现部分;关于其中一个实验的debug过程,这个过程相当痛苦,值得记录一下;编程题题目1 售票同步问题源码为:#include <stdio.h>#include <pthread.h>#include <unistd.h&原创 2020-10-26 21:47:54 · 1121 阅读 · 0 评论 -
南京邮电大学汇编——实验二:用户登陆验证程序的设计
南京邮电大学汇编——实验二:用户登陆验证程序的设计两个题目源代码两个题目从BUF单元开始存有一字符串(长度<255),编程实现统计该字符串中的ASCII在42H~45H之间的字符个数,并将统计结果以二进制形式显示在屏幕。程序执行后,给出提示操作,请用户键入用户名和密码;用户在键入密码时,程序不回显键入字符;只有当用户键入的用户名,密码字符串和程序内定的字符串相同时,显示欢迎界面并返回DOS;否则给出提示信息,用户名或密码错误,再次输入。界面颜色自定(彩色或黑白)源代码第一题的源代码.5原创 2020-10-21 10:43:51 · 7410 阅读 · 3 评论 -
南京邮电大学汇编——实验一:汇编语言语法练习与代码转换
南京邮电大学汇编——实验一:汇编语言语法练习与代码转换实验环境实验一:在屏幕下打印学号实验代码DOSBOX使用记录实验二:改错汇编源代码实验环境DosBoxTasm实验一:在屏幕下打印学号实验代码说实话,第一个实验就是用来熟悉IDE环境的= =先贴一下实验代码吧。 .586 DATA SEGMENT USE16 ;定义数据段 MESG DB 'Hello, world!', '$' DATA原创 2020-10-14 21:45:59 · 8247 阅读 · 2 评论 -
南京邮电大学操作系统——实验一(附加):利用多线程计算Π值
文章目录实验环境实验记录第一步:单次计算π\piπ值第二步:多次计算π\piπ值数据处理及分析关于rand和rand_s函数的两个小实验实验环境Windows10Ubuntu 18.04VisualCode实验记录第一步:单次计算π\piπ值算法如下:#include<stdio.h>#include<sys/types.h>#include<unistd.h>#include<stdlib.h>#include<time.h原创 2020-10-08 15:14:25 · 2250 阅读 · 3 评论 -
南京邮电大学操作系统——实验一:进程、线程的创建与并发执行
实验环境Ubuntu 18.04Visual Code实验记录实验一:观察进程标识符所用代码如下:#include <stdio.h> #include <sys/types.h> #include <unistd.h> int main() { //pid_t是数据类型,实际上是一个整型,通过typedef重新定义了一个名字,用于存储进程id pid_t pid;//scanf("%d",&i);//让进程等待,方便使用shell观原创 2020-10-08 10:46:46 · 3438 阅读 · 0 评论 -
南京邮电大学网络信息安全——OpenSSL加密数据实验(实验二)
南京邮电大学网络信息安全——OpenSSL加密数据实验(实验二)OpenSSL的下载和编译OpenSSL的下载OpenSSL的编译解压配置编译OpenSSL的下载和编译OpenSSL的下载OpenSSL的下载链接为http://www.openssl.org/source/,在这里找到对应的下载方式需要注意的是这里可能要搭个梯子,不然下载的可能会相当慢,当然也可以在国内找镜像也不是不可以。OpenSSL的编译解压直接将下载好的内容放入Ubuntu即可。然后执行一下解压命令user1@ubu原创 2020-09-19 15:55:27 · 7378 阅读 · 0 评论 -
南京邮电大学网络信息安全——软件漏洞分析与防范(实验一——栈溢出和gs保护机制)
南京邮电大学网络信息安全——软件漏洞分析与防范(实验一——栈溢出)前言实验环境实验代码实验过程示例一编译分析程序尝试payload前言这个实验的示例2的代码没有给出,所以暂时没有做,如果以后要做的话会补上,包括GS保护部分也是如此实验环境由于实验需要有Windows和Ubuntu环境,所以我这里准备了两个环境。Windows:Visual Studio+Win10+IDA+Ollydbg+gccUbuntu:Ubuntu 18.04+Vmware+IDA实验代码示例一(用于Windows原创 2020-09-09 20:29:08 · 2527 阅读 · 2 评论 -
南京邮电大学网络信息安全——网络数据包捕获WireShark(实验一)
南京邮电大学网络信息安全课程实验:网络数据包捕获(实验一)系列前言实验目标实验环境实验一过程记录目标一:使用正确的姿势打开WireShark目标二:只捕获TCP的流量包目标三:观察一个TCP包中的TCP包头、IP包头信息目标四:捕获一次TCP三次握手过程系列前言目前已经写了的两个系列,IDA权威指南读书笔记和人工智能的大创研究都已经鸽了好久了,主要是暑假的时候在忙其他事情,这两个系列接下来也会抽空写写,但接下来的主要精力是将《自己动手写操作系统》这本书的代码理解一下,然后可能还会看一下《软件调试》这本书原创 2020-09-07 09:24:35 · 6982 阅读 · 0 评论