0%

实验内容

已经获得了linux内核源代码。通过修改源代码,创建一个新的编号为320的系统调用,具体功能由自己指定。接着生成内核配置文件,并编译安装内核。最终使得开机时能够选择启动自己编译的内核,并成功调用新增的系统调用。

实验目的

通过编写内核代码的方式,加深自己对操作系统内核的理解,使其概念变得不那么抽象。同时感受内核中系统调用的运作方式。

设计思路以及流程图

新增系统调用

打开虚拟机,在桌面发现linux内核压缩文件,首先将其解压:

1
2
3
$ cd Desktop
$ tar zxvf linux-2.6.21.tar.gz
$ cd linux-2.6.21

接着可以看到解压好的内核。

我们开始尝试新增一个320号系统调用。

Read more »

之所以写这一篇博客,是因为XCTF攻防世界的一道题目:ics-07。

题目

先来看看题目,我的疑惑也是在做题的时候产生的。

点进去是一个平台管理中心页面,试了下发现只有“项目管理”一栏是可以点的,点进去的页面如下:

乍一看以为是sql注入,但是留意到下面的view-source按钮,点开来看,获得了源代码。

Read more »

昨天在看thinkphp5.0的远程执行代码漏洞,由于里面的类和方法实在是有点多,看别人的博客感觉不够,便想着自己把代码clone下来调试一下。由于以前调试的php基本都是单个的php脚本,var_dumpecho就能解决大多数问题,所以一直没试过单步调试php。这次我决定配置vscode使其可以调试大型的php项目。

php集成开发环境

首先是php的集成开发环境,我以前用的是phpStudy,挺方便,但是因为phpStudy对surface的分辨率适配没做好,每次打开窗口字体都特别小,调到正常大小以后又特别模糊。所以最近换成了wampserver。安装好wampserver,打开启动apache服务。

VSCode

vscode需要安装两个插件,PHP Debug和PHP Intelephense。前者用来调试程序,后者提供一些语法补全和代码高亮等功能。

Read more »

因为用的是windows insider preview,更新系统比较频繁,最近更新完系统的时候有时候打开wsl2会闪退,在终端打开会报“参考的对象类型不支持尝试的操作”的错误。后来上网找解决办法,成功解决了问题:

在管理员模式的终端下输入命令netsh winsock reset

我觉得很神奇,上网查了很多资料包括wsl2的issue,但是还是没完全弄明白是为什么。netsh是Network Shell的简称,是一个windows系统本身提供的网络配置命令行工具。winsock是windows下的网络编程接口,这个命令的含义就是重置winsock。

github上有人说是shadowsocks和wsl2的冲突,但是我有一点还是没想明白,为什么网络接口的冲突会导致无法启动?

数据结构课也算是一学期快要上完了,尽管凯哥吹了一学期的牛,似乎并没有讲什么数据结构方面具体的知识,但我感觉一学期下来收获良多。可能是因为凯哥讲课比较注重方法论,许多具体的点,尽管不细讲,但他会跟我们讲明白原理,讲一些计算机的底层的架构,我觉得这些对我思想方面的提升是巨大的。我觉得数据结构这门课在凯哥的引导以及自学下慢慢领悟到了一些思想了。有的时候看凯哥其实更像一个计组老师,我很感激他。

Read more »

昨天折腾一晚上总算是把hexo的博客搭出来了,由于同之前的hugo差异很大,在这过程中踩了无数坑。

首先是next的版本,原先在next作者issnan的网站上下载的next是5.1.4版本的,结果运行的过程中控制台一直发提醒,才发现next官方的github上已经是7.0.0版本了,因此又重新下载了一次。

接着是本地调试,本地调试很顺利,几乎没有遇到什么坑。

为了修改自己的配置,打开_config.yml开始改参数。

顺着文档一条一条来,不懂的看别人博客、看注释。
Read more »

欢迎来到我的博客 : )

原来的博客由于github账号修改username而挂了,原先的博客是用的hugo生成的。本来想迁移过来的,后来发现hexo上的next主题很是讨喜,于是又重新搭了这个博客。