目录 [第九周学习总结] 教材内容总结 [第八周课上测试] (一)求命令行传入整数参数的和 (二)练习Y86-64模拟器汇编 (三)基于socket实现daytime(13)服务器和客户端 参考资料 第九周学习总结 课堂内容总结 (一)学习目标 理解虚拟存储器的概念和作用 理解地址翻译的概念 理解存储器映射 掌握动态存储器分配的方法 理解垃圾收集的概念 了解C语言中与存储器有关的错误 (二)学习内容 (1)虚拟存储器 概念:虚拟存储器,又称虚拟内存(VM),是对主存的抽象概念 能力:①高效使用主…
2017-2018-1 20155326 <信息安全系统设计基础>第四周学习总结及myod改进版的补交 学习内容 补充完成课上没有完成的内容 学习教材附录A,第十章内容 参考别出心裁的Linux系统调用学习法,学习视频,掌握两个重要命令: man -k key1 | grep key2| grep 2 : 根据关键字检索系统调用 grep -nr XXX /usr/include :查找宏定义,类型定义 完成head,tail的使用,相关API的分析,伪代码,产品代码,测试代码的编写(3分)…
2017-2018-1 20155305 <信息安全系统设计基础>第四周学习总结(课堂提交作业未来得及提交码云链接myod补充博客) 课堂提交题目要求 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 代码码云链接补交 源代码main函数 #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.…
2017-2018-1 20155318 <信息安全系统设计基础>第九周课下实践--实现mypwd 相关知识 man -k 查找含有关键字的内容 与管道命令结合使用:man -k k1 | grep k2 | grep k3 ... 查看某命令在指定区段内的解释:man 区段号 命令 8个区段: Linux中的一般命令 系统调用 库函数,涵盖了C语言的标准函数库 特殊文件(通常是/dev中的设备)和驱动程序 文件格式和约定 游戏和屏保 杂项 系统管理命令和守护进程 pwd命令显示整个路径名(绝…
2017-2018-3 20155337<信息安全系统设计基础> pwd指令学习 任务要求 学习pwd指令 研究pwd实现需要的系统调用(man -k:grep),写出伪代码 实现mypwd 测试mypwd 任务一 学习pwd指令 该命令用来显示目前所在的工作目录.指令英文原义:print work directory 执行权限All User 指令所在路径:/usr/bin/pwd 或 /bin/pwd Linux中用 pwd 命令来查看"当前工作目录"的完整路径. 简单…
20155216 2017-2018-1 <信息安全系统设计基础>第二周课堂练习补交 课堂测试3:行断点的设置 运行截图: 未完成原因:课前未安装 cgdb 具体步骤: 1.输入命令:gcc hello.c -g -o test,出现可运行文件test. 2.输入命令:cgdb test,进入调试过程. 3.利用"b 行号 断点条件"设置行断点,输入start运行至断点位置,输入r后输入p p,显示参数值. 课堂测试4:静态库 运行截图: 未完成原因:没有认真学习第七章内容…
2017-2018-1 20155232 <信息安全系统设计基础>第四周学习总结以及课上myod练习补充博客 课上myod练习 1 参考教材第十章内容 2 用Linux IO相关系统调用编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能,注意XXX是文件名,通过命令行传入,不要让用户输入文件名 不要把代码都写入main函数中 要分模块,不要把代码都写入一个.c中 5 提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息 在第一次尝试在我…
2017-2018-1 20155320 <信息安全系统设计基础>第四周学习总结(课堂实践补交+myhead与mytail实现) 课堂实践内容 1 参考教材第十章内容 2 用Linux IO相关系统调用编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能,注意XXX是文件名,通过命令行传入,不要让用户输入文件名 不要把代码都写入main函数中 要分模块,不要把代码都写入一个.c中 5 提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息…
20155337 2017-2018-1 <信息安全系统设计基础>第二周课堂实践+myod 因为在课上已经提交了四个实验,还欠缺最后一个实验,反省一下自己还是操作不熟练,平时在课下应该多多练习linux的命令训练. 实践一 每个* .c一个文件,每个*.h一个文件,文件名中最好有自己的学号 用Vi输入图中代码,并用gcc编译通过 在Vi中使用K查找printf的帮助文档 提交vi编辑过程截图,要全屏,包含自己的学号信息 截图 在课堂实践一中,我们应该把所有的文件放在一个新的自己创建的文件夹里,…
程序的机器级表示 3.1 intel处理器系列俗称x86,经历了一开始个长期的,不断进化的发展过程. 开始时它是第一代单芯片,16位微处理器之一,由于当时集成电路技术水性有限,其中做了很多妥协,此后,他不断成长,利用进步的技术满足更高性能和支持高级操作系统的需求. 3.3数据格式: 数据传送指令:movb(传送字节)   movw(传送字)   movl(传送双字) 3.4访问信息: 一个IA32 CPU 包含一组8个存处位值的寄存器.这些寄存器用来存处整数数据和指数 3.4.1操作数指示符:…
ls1:显示当前目录下的文件. ls2:查看文件的详细信息(用户名,群组名,大小,创建时间,读写权限等). who:读取需要的信息到存储器,并用标准输出函数打印到屏幕上 filesize:计算文件的字节数大小 fileinfo:显示文件的信息 spwd:显示出当前目录 cp:将一个文件的内容复制给另一个文件…
第六章 存储器层次结构 存储器系统是一个具有不同容量,成本和访问时间的存储设备的层次结构. CPU寄存器保存着最常用的数据. 靠近CPU的小的,快速的高速缓存存储器作为一部分存储在相对较慢的主存储器(主存)中的数据和指令的缓存区域. 主存暂时存放存储在容量较大的,慢速磁盘上的数据,而这些磁盘常常又作为存储在通过网络连接的其他机器的磁盘或磁带上的数据的缓存区域. 6.1存储技术 6.1.1随机访问存储器 随机访问存储器(RAM)分为:静态的RAM(SRAM)和动态的RAM(DRAM) SRAM用来…
(1)计算机将信息按位编码,通常组成字节序列.用不同的编码方式表示整数,师叔和字符串.不同的计算机模型在编码数字和多字节数据中的字节排序时使用不同的约定. (2)C语言的设计可以包容多种不同字长和数字编码的实现,目前大多数机器使用32位字长.大多数机器对整数使用补码编码,而对浮点数使用IEEE浮点编码. (3)在相同长度的无符号和有符号整数之间进行强制转换时,大多数C语言实现循环的原则是底层的位模式不变.在补码机器上,对于一个w位的值.这种行为是由函数T2Uw和U2Tw来描述的.C语言隐式的强制…
第十一章 网络编程 11.1 客户端-服务器编程模型 基本操作:事务 当一个客户端需要服务时,向服务器发送一个请求,发起一个事务. 服务器收到请求后,解释它,并以适当的方式操作它的资源. 服务器给客户端发送一个相应,并等待下一个请求. 客户端收到响应并处理它. 11.2 网络 (1)对主机而言:网络是一种I/O设备 从网络上接收到的数据从适配器经过I/O和存储器总线拷贝到存储器,典型地是通过DMA(直接存储器存取方式)传送. (2)物理上:网络是一个按照地理远近组成的层次系统 最底层:LAN(局…
第八章 异常控制流 8.1异常 异常是异常控制流的一种形式,它一部分是由硬件实现的,一部分是由操作系统实现的. 异常就是控制流中的突变,用来响应处理器状态中的某些变化. 8.1.1异常处理 异常号是到异常表中的索引,异常表的起始地址放在一个叫做机异常表基址存储器的特殊CPU寄存器里  8.1.2异常类别 1.中断异常号是到 2.陷阱和系统调用 3.故障 4.终止 8.1.3Linux/IA32系统中的异常 1.Linux/IA32故障和终止 (1)除法错误 (2)一般保护故障 (3)缺页 (4)…
处理器体系结构 4.1 Y86指令集体系结构 4.1.1程序员可见状态 Y86程序中的每条指令都会读取或修改处理器状态的某些部分,称为程序员可见状态. 4.1.2 Y86指令 4个指令:irmovl,rrmovl,mrmovl,rmmovl,分别显示地指明源和目的的格式 4个整数操作指令:addl,subl,andl,xorl 7个跳转码指令jmp,jle,jl,jne,jge,jg 6个条件传送指令cmovle,cmovl,cmove,cmovge,cmovg call指令将返回地址入栈,然后…
2017-2018-1 20155313 <信息安全系统设计基础> Myod Myod要求 1.复习c文件处理内容 2.编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能 3.main与其他分开,制作静态库和动态库 4.编写Makefile 5.提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息 6.在博客园发表一篇博客,重点写遇到的问题和解决过程 解决过程 1.Linux环境下c语言的处理我们目前使用的是vim编辑器,vim编辑器的…
20145307陈俊达<信息安全系统设计基础>第5周学习总结 教材学习内容总结 X86寻址方式经历三代: DOS时代的平坦模式,不安全,原因是没有区分用户空间和内核空间 8086的分段模式: IA32的带保护模式的平坦模式 程序编码命令 gcc是Linux上默认的编译器,gcc -01 告诉编译器使用第一级优化.优化等级越高,程序运行的越快,编译时间越长,用调试工具调试程序越困难.但是,从得到程序性能方面考虑,第二级优化被认为是较好的选择. 汇编器将汇编代码转换成二进制目标代码,目标代码是机器…
小组成员:20145215卢肖明.20145307陈俊达 实验报告链接:信息安全系统设计基础--实验五实验报告…
20145315&20145307<信息安全系统设计基础>实验五 北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1453 1452 姓名:陈俊达 卢肖明 学号:20145307 20145215 成绩: 指导教师:娄嘉鹏 实验日期:2016.11.3 实验密级:无 预习程度:已预习 实验时间:10:00-12:30 仪器组次:07 必修/选修:必修 实验序号:05 实验名称:简单嵌入式WEB服务器实验 实验目的与要求: 1.掌握在ARM开发板实现一个…
20145215&20145307<信息安全系统设计基础>实验二 固件设计 实验目的与要求 了解多线程程序设计的基本原理,学习 pthread 库函数的使用. 了解在 linux 环境下串行程序设计的基本方法. 掌握终端的主要属性及设置方法,熟悉终端I /O 函数的使用.学习使用多线程来完成串口的收发处理. 熟悉linux开发环境,学会基于S3C2410的linux开发环境的配置和使用.使用linux的armv4l-unknown-linux-gcc编译,使用基于NFS方式的下载调试,…
20145215&20145307信息安全系统设计基础实验报告 PART1 一.实验原理 交叉编译,简单地说,就是在一个平台上生成另一个平台上的可执行代码.同一个体系结构可以运行不同的操作系统:同样,同一个操作系统也可以在不同的体系结构上运行.在Linux PC上,利用arm-linux-gcc编译器,可编译出针对Linux ARM平台的可执行代码. 二.实验内容与步骤 1.连接arm开发板 首先连接电源线,使开发板的开关处于闭合状态,再分别将串口线.并口线.网线和USB线与PC机连好.连接串口…
20145307陈俊达<网络对抗>Exp6 信息搜集与漏洞扫描 基础问题回答 哪些组织负责DNS,IP的管理? 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器.DNS和IP地址管理. 全球根域名服务器:绝大多数在欧洲和北美(全球13台,用A~M编号),中国仅拥有镜像服务器(备份). 全球一共有5个地区性注册机构:ARIN主要负责北美地区业务,RIPE主要负责欧洲地区业务,APNIC主要负责亚太地区业务,LACNIC主要负责拉丁美洲美洲业务,AfriNIC负责非洲地区业…
20145307<信息安全系统设计基础>第五周学习总结PT2: 教材学习内容总结 之前有第一部分学习总结: http://www.cnblogs.com/Jclemo/p/5962219.html 以下为第二部分 执行汇编命令:gcc –s xxx.c –o xxx.s反汇编命令:objdump –d xxx 64位处理器得到32代码的命令:gcc –m32 –s xxx.c Ltme: 1.三种操作数: 立即数:常数值.表示为$c标准表示的整数. 寄存器:表示某个寄存器的内容. 存储器:根据…
2016-2017-1 <信息安全系统设计基础> 学生博客及Git@OSC 链接 博客 1452 20145201李子璇 20145202马 超 20145203盖泽双 20145204张亚军 20145205武 钰 20145206邹京儒 20145207李祉昂 20145208蔡 野 20145209刘一阳 20145210姚思羽 20145211黄志远 20145212罗天晨 20145213祁 玮 20145214张 宁 20145215卢肖明 20145216史婧瑶 20145217…
20145314<信息安全系统设计基础>期中复习总结 Part B 学习知识点内容总结 复习线索:http://group.cnblogs.com/topic/73069.html 本周的第一篇博客里也有大量的内容: http://www.cnblogs.com/5314zkj/p/6028274.html 第三章重要知识点总结 本章思路: 本章学习内容是汇编语言,现在直接写汇编的机会不多了,但一定要能读懂,信息安全的核心思维方式"逆向"在这有很好很直接的体现,反汇编就是直…
Y86模拟器的安装 由于本人的电脑有些问题,在安装的时候忽然断电导致之前的成果都没有截图. 1.安装bison和flex词法分析工具 sudo apt-get install bison flex tk 2.下载sim, http://csapp.cs.cmu.edu/public/students.html 在Linux终端输入tar -xvf sim.tar,进行解压 3.图形界面需要安装Tcl/Tk sudo apt-get install tcl8.5-dev tk8.5-dev tcl…
20145307陈俊达_安卓逆向分析_Xposed的hook技术研究 引言 其实这份我早就想写了,xposed这个东西我在安卓SDK 4.4.4的时候就在玩了,root后安装架构,起初是为了实现一些屌丝功能,比如自动抢红包,微信阻止撤回,语音可转发等效果,现在步入了SDK 6.0时代,安上了黑域还有绿色守护真的省电,尤其你在装谷歌全家桶的时候,那个是真的费电啊!这篇文章,我想写一点xposed的工作原理.在不修改APK的情况下,影响其运行过程的服务框架.可以根据自己的需求编写模块,让模块控制目标…
20145307陈俊达<网络对抗>Exp9 Web安全基础实践 基础问题回答 1.SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的目的. 对于SQL注入攻击的防范,我觉得主要还是应该从代码上入手: 采用预编译语句集PreparedStatement,它内置了处理SQL注入的能力,只要使用它的setXXX方法传值即可.它的原理就是sql注入只对sql语句的准备(编译)过程有破坏作用,而P…
20145307陈俊达<网络对抗>Exp 8 Web基础 基础问题回答 1.什么是表单? 表单是一个包含表单元素的区域,表单元素是允许用户在表单中输入信息的元素,表单在网页中主要负责数据采集功能,一个表单有三个基本组成部分:表单标签.表单域.表单按钮. 构成元素: 表单标签form:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法: 表单域:包含了文本框.密码框.隐藏域.多行文本框.复选框.单选框.下拉选择框和文件上传框等: 表单按钮:包括提交按钮.复位按钮和一般按钮,…