ICS03 Attacklab
Introduction Attack Lab是ICS课程的第三个lab,顾名思义就是让我们想办法攻击一些程序,让其偏离原先的运行方式。这个lab的主要目的是理解缓冲区以及缓冲区溢出的隐患,以及相应的攻防。实验要求进行六次攻击,分别对应不同程度的防范,这可以说是所有lab里面最有趣的一个了。而且当时的树洞有很多求助贴却只得到了冷嘲热讽或者猜谜一般的回复,当且仅当你知道怎么写这个lab的时候你才能理解他们的“指点”。 或许你会觉得Alice已经给出了提醒,但是事实是:偏移的offset是0x128,所以如果你没有做出来根本就不能获得正确的提示,反而会被引入歧途,毕竟谁会想到128竟然是个十六进制的数呢。 Code Injection...
ICS01 datalab
ICS Lab1: Data Lab Introduction 这是ICS课程的第一个lab,内容是熟悉位运算并通过位操作实现一些功能。 对于lab我的看法是不要浪费太多的时间,能讨论就一起讨论着做,能够参考前辈的工作就不用太多独立思考。只要不是CtrlCV,依样画葫芦的收获往往比自己研究来得快。lab的有些部分尤其是CMU移植过来之后加上的在最后一两个PKU魔改的part不是一般人轻易能够搞定的(dalaodalaodalao请直接忽略我的话因为dalaodalaodalao也不需要参考这种辣鸡文章吧),有时间不如多看CSAPP或者去做往年题。因为我是大二才转到信科学院的(匿名严肃谴责ljl老师招生不守信用事前一套背后一套),所以周围也没有什么要好的同学可以讨论作业,因此完成lab花费了我非常多的时间(尤其是后半学期),但是只是在绞尽脑汁研究奇技淫巧,对于核心内容的掌握没有太大帮助。这也是我决定重新写这一套lab并且分享过程的原因。 Data...
Markdown-Notes
x2+y2=z2x^2 + y^2 = z^2 x2+y2=z2 测试公式 x2+y2=z2x^2 + y^2 = z^2x2+y2=z2 ac~\widetilde{ac} ac ∣abcd∣ \begin{vmatrix} a & b \\ c & d \end{vmatrix} acbd ∑i=1n(1)\displaystyle\sum_{i=1}^n\tag{1} i=1∑n(1) ∑i=1n2\textstyle\sum_{i=1}^n \tag* {2} ∑i=1n2 aaa bbb 1.段落标题 1.1段落标题 1.2段落标题 1.2.1段落标题 1.2.2段落标题 2.段落标题 空格:\quad 测试图片引用 这是一行字 从这里可以下载文件 A+B def‾‾△ C↑+ D↓A+B~~\underset{\triangle}{\overset{\LARGE\underline{\underline{\normalsize...
2021Spring北京大学编译实践lab报告
序言 2022年春季学期的编译原理修改了Lab的内容,改为由助教自行新开发的项目。Lab的最终目的是实现一个可以将 SysY 语言(C 语言的子集)编译到 RISC-V 汇编的编译器。具体的实现可以分成两个阶段,首先是将 SysY 语言翻译到 Koopa 的中间表示代码,然后从中间代码构建最终的 RISC-V 汇编。 环境配置 首先需要配置相关的环境。 Lab 的运行环境以及需要的工具链已经打包成了镜像,可以运行在 Docker 中。拉取镜像使用以下命令: 1docker pull maxxing/compiler-dev 然后就遇到了第一个问题——下载速度非常慢。可以尝试修改源,在 Docker 的设置—— Docker Engine 中将对话框代码替换为如下代码: 12345678910111213141516{ "builder": { "gc": { "defaultKeepStorage": "20GB", ...