摘要:
visual studio下静态链接库的制作、动态链接库的制作 生成动态库dll和静态库与lib 打开VS2022,创建一个桌面向导项目: 选择动态链接库 首先,创建四个.c文件,内容为函数定义,即add.c、sub.c、div.c和mul.c四个文件,但需要稍微修改,即在函数面前加上_declsp 阅读全文
摘要:
main参数传递-1 求和函数 //sum.c #include<stdio.h> int sum(int N) { int sum=0; sum = sum+N; return sum; } //main.c #include<stdio.h> #include<stdlib.h> //声明 in 阅读全文
摘要:
Linux内核原理与分析第一次作业 安装Ubuntu 安装虚拟机软件例如vmware、virtualbox等 下载ubuntu映像文件,官网或网盘下载,推荐lts版本 配置虚拟机硬件参数,安装系统映像 学习Linux常用命令 命令 功能描述 示例 ls 列出当前目录下的文件和子目录 ls -l 列出 阅读全文
摘要:
模块与系统调用 1. 编写内核模块代码 首先,编写一个简单的“Hello World”内核模块文件 hello_module.c。 #include <linux/init.h> // 用于宏 __init 和 __exit #include <linux/module.h> // 用于模块编程基本 阅读全文
摘要:
Linux内核编译 实验内容 下载内核源码: 确定内核版本号 uname -r 在www.kernel.org选择接近的内核版本下载 linux-6.6.60.tar.xz 将压缩包解压到虚拟机目录中 确认系统位数 getconf LONG_BIT 确认虚拟机保留足够大硬盘空间(20G) df -h 阅读全文
摘要:
读者写者模型 读者写者 “读者-写者”问题是经典的同步问题,常用于解决多线程访问共享资源的同步控制。此问题主要是确保在多个线程并发访问共享资源(如文件或数据库)时,避免数据不一致。通常有两种策略: 读者优先:允许多个读者同时访问资源,但写者必须等待。 写者优先:写者一旦想要写入,所有读者都需要等待, 阅读全文
摘要:
Linux内核编译 实验内容 下载内核源码: 确定内核版本号 uname -r 在www.kernel.org选择接近的内核版本下载 linux-6.6.60.tar.xz 将压缩包解压到虚拟机目录中 确认系统位数 getconf LONG_BIT 确认虚拟机保留足够大硬盘空间(20G) df -h 阅读全文
摘要:
《Linux 内核原理与分析》第 4 周作业 实验过程 使用实验楼的虚拟机打开 shell cd ~/LinuxKernel/ qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img 内核启动完成后进入 menu 程序 支 阅读全文
摘要:
ShellShock 攻击实验 实验简介 2014年9月24日,Bash中发现了一个严重漏洞shellshock,该漏洞可用于许多系统,并且既可以远程也可以在本地触发。在本实验中,学生需要亲手重现攻击来理解该漏洞,并回答一些问题。 预备知识 什么是ShellShock? Shellshock,又称B 阅读全文
摘要:
Python实现Zip文件的暴力破解 实验内容 我们在网上好不容易下载到一个想要的 zip 资源却发现这个 zip 文件是加密的,或者忘掉自己压缩后的密码(一想到就头疼)。这时候我们就会想办法,将里面的内容提取出来。我目前已知的破解 zip 的方式只有 “Known plaintext attack 阅读全文