- 博客(48)
- 收藏
- 关注
转载 20135323符运锦----LINUX第三次实践:程序破解
程序破解一、掌握NOP、JNE、JE、JMP、CMP汇编指令的机器码①NOP:NOP指令即“空指令”。执行到NOP指令时,CPU什么也不做,仅仅当做一个指令执行过去并继续执行NOP后面的一条指令。(机器码:90)②JNE:条件转移指令,如果不相等则跳转。(机器码:75)③JE:条件转移指令,如果相等则跳转。(机器码:74)④JMP:无条件转移指令。段内直接短转Jmp short...
2016-05-25 14:53:00
190
转载 20135323符运锦----第十三章知识点总结
第十三章 虚拟文件系统虚拟文件系统〈有时也称作虚拟文件交换,更常见的是简称VFS)作为内核子系统,为用户空间程序提供了文件和文件系统相关的接口。系统中所有文件系统不但依赖VFS 共存,而且也依靠VFS 系统协同工作.通过虚拟文件系统,程序可以利用标准的Uinx 系统调用对不同的文件系统,甚至不同介质上的文件系统进行读写操作13.1 通用文件系统接口VFS 使得用户可以直接使用op...
2016-05-23 01:46:00
260
转载 20135323符运锦----LINUX第二次实践:内核模块编译
Linux实践二--模块一、知识点总结①Linux模块是一些可以作为独立程序来编译的函数和数据类型的集合。之所以提供模块机制,是因为Linux本身是一个单内核。单内核由于所有内容都集成在一起,效率很高,但可扩展性和可维护性相对较差,模块机制可弥补这一缺陷。②Linux模块可以通过静态或动态的方法加载到内核空间,静态加载是指在内核启动过程中加载;动态加载是指在内核运行的过程中随时加载...
2016-05-23 00:53:00
207
转载 20135323符运锦----第十七章知识点总结
第十七章 设备与模块关于设备驱动和设备管理,讨论四种内核成分:·设备类型:在所有Unix 系统中为了统一普通设备的操作所采用的分类·模块: Linux 内核中用于按需加载和卸载目标码的机制·内核对象:内核数据结构中支持面向对象的简单操作,还支持维护对象之间的父子关系。·sysfs :表示系统中设备树的一个文件系统。17.1 设备类型①设备被分为以下三种类型:块设备、字符设备...
2016-05-04 22:15:00
187
转载 20135323符运锦期中总结----Linux系统的理解及学习心得
一、网易云课堂1.各章节总结第一周:计算机是如何工作的http://www.cnblogs.com/20135323fuyunjin/p/5222787.html第二周:操作系统是如何工作的http://www.cnblogs.com/20135323fuyunjin/p/5247847.html第三周:构建一个简单的Linux系统MenuOShttp://www.cnblogs...
2016-04-20 16:35:00
134
转载 20135323符运锦----第四章知识点总结
第四章 进程调度进程调度程序(常常简称调度程序)可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统。只有通过调度程序的合理调度,系统资源才能最大限度地发挥作用,多进程才会有并发执行的数果。调度程序没有太复杂的原理。最大限度地利用处理器时间的原则是,只要有可以执行的进程,那么就总会有进程正在执行。4.1 多任务①多任务操作系统就是能同时并发地交互执行多个进程的操作系统。多任...
2016-04-13 11:18:00
184
转载 20135323符运锦----第八周:进程的切换和系统的一般执行过程
知识点总结一、进程切换的关键代码switch_to的分析1.进程调度与进程调度的时机分析第一种分类:①I/O密集型(I/O-bound):频繁的进行I/O,通常会花费很多时间等待I/O操作的完成②CPU密集型(CPU-bound):计算密集型,需要大量的CPU时间进行运算第二种分类:①批处理进程:不必与用户交互,通常在后台运行,不必很快响应。主要用于编译程序,科学计算②交...
2016-04-13 02:10:00
145
转载 20135323符运锦----《深入理解计算机系统》第七章知识点总结
第七章 链接链接(linking) 是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载(或被拷贝)到存储器并执行。链接可以执行于编译时(compile time) ,也就是在源代码被翻译成机器代码时:也可以执行于加载时(load time) ,也就是在程序被加载器(loader) 加载到存储器并执行时:甚至执行于运行时(run time) ,由应用程序来执行。...
2016-04-06 22:31:00
264
转载 20135323符运锦----第七周:Linux内核如何装载和启动一个可执行程序
可执行程序的装载一、预处理、编译、链接和目标文件的格式1.可执行程序是怎么得来的①编译器预处理gcc -E -o XX.cpp XX.c (-m32)//注:把include的文件包含进来,并且完成宏的替换②汇编器编译成汇编代码gcc -x cpp-output -S -o hello.s hello.cpp (-m32)③汇编代码编译成二进制目标文件gcc -x a...
2016-04-06 21:46:00
180
转载 20135323符运锦----第六周:进程的描述和创建
进程的描述和进程的创建1.进程描述符task_struct数据结构①进程是计算机中已运行程序的实体。在面向线程设计的系统中,进程本身不是基本运行单位,而是线程的容器。② pid_t pid又叫进程标识符,唯一地标识进程。第1295行,list_head tasks即 进程链表。双向循环链表链接起了所有的进程,也表示了父子、兄弟等进程关系struct mm_struct 指的是...
2016-03-30 14:31:00
134
转载 20135323符运锦----第三章知识点总结
第三章 进程管理3.1 进程进程就是处于执行期的程序(目标码存放在某种存储介质上)。但进程并不仅仅局限于一段可执行程序代码,通常进程还要包含其他资源。执行线程,简称线程(thread) , 是在进程中活动的对象。每个线程都拥有一个独立的程序计数器、进程技和一组进程寄存器。内核调度的对象是线程,而不是进程。对Linux 而言,线程只不过是一种特殊的进程罢了。在现代操作系统中,进程提...
2016-03-30 02:41:00
136
转载 20135323符运锦----第十八章知识点总结
第十八章 调试18.1 准备开始需要的只是:①一个bug。大部分bug 通常都不是行为可靠而且定义明确的。②一个藏匿bug 的内核版本。③相关内核代码的知识和运气。许多时候,当可以精确地重现一个bug 的时候,就已经成功了一大半了。18.2 内核中的bug从隐藏在源代码中的错误到展现在目击者面前的bug,往往是经历一系列连锁反应的事件才可能触发的。内核确实有一些独特的问题需要...
2016-03-27 14:34:00
164
转载 20135323符运锦----第五周:扒开系统调用的“三层皮”(下)
扒开系统调用的“三层皮” (下)一、知识总结1.在MenuOS中通过添加代码增加自定义的系统调用命令本周从内核态出发研究系统调用,通过跟踪调试,首先把上周的两个命令加到MenuOS中:rm menu -rf 强制删除原menu文件git clone https://github.com/mengning/menu.git 从github中克隆,更新menu代码到最新版cd m...
2016-03-27 13:41:00
143
转载 20135323符运锦----第五章知识点总结
第五章 系统调用5.1 与内核通信①系统调用在用户空间进程和硬件设备之间添加了一个中间层。②该层主要作用有三个:首先,它为用户空间提供了一种硬件的抽象接口。第二,系统调用保证了系统的稳定和安全。作为硬件设备和应用程序之间的中间人,内核可以基于权限、用户类型和其他一些规则对需要进行的访问进行裁决。第三,每个进程都运行在虚拟系统中,而在用户空间和系统的其余部分提供这样一层公共接口...
2016-03-18 22:02:00
143
转载 20135323符运锦----第一、二章知识点总结
第一章 Linux内核简介1.1Unix的历史①Unix是一个强大、健壮和稳定的操作系统。②.Unix的特点:第一,Unix很简洁,没有不明确的系统,仅仅提供几百个系统调用并且有一个非常明确的设计目的。第二,在Unix中,所有的东西都被当做文件对待。第三,Unix的内核和相关的系统工具软件是用C语言编写的,具有强大的移植能力。第四,Unix的进程创建非常迅速,并且有一个非常独特的f...
2016-03-15 22:13:00
150
转载 20135323符运锦----第四周:扒开系统调用的“三层皮”
扒开系统调用的“三层皮”一、 用户态、内核态和中断处理过程1.用户态、内核态区别①在高级别的状态下,代码可以执行特权指令,访问任意的物理地址,这种CPU执行级别就对应着内核态。②在相应的低级别执行状态下,代码的掌控范围会受到限制。③为什么会有这种级别划分?答:没有访问权限划分容易使得系统混乱,程序员代码写得不健壮,防止非法访问。④Intel x86 CPU有四种不同的执行级别...
2016-03-14 22:09:00
163
转载 20135323符运锦----第三周:构建一个简单的Linux系统MenuOS
相关知识点1.arch目录占据相当庞大的空间,X86目录下代码需要重点关注。2.init目录内核启动的相关代码基本都在此目录下,内含MAIN.C,文件中START_KERNEL是整个LINUX内核的起点。3.kernel后跟文件名,Linux内核的核心代码在kernel目录中。可以使用make modules进行编译,make install进行安装。4.fs目录file...
2016-03-12 16:25:00
118
转载 20135323符运锦----第二周:操作系统是如何工作的
函数调用堆栈一、三个法宝:①存储程序计算机工作模型,计算机系统最最基础性的逻辑结构②函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的时候堆栈机制对于计算机来说并不那么重要,但有了高级语言及函数,堆栈成为了计算机的基础功能;函数参数传递机制和局部变量存储. --enter pushl %ebp movl %esp,%ebp --leave...
2016-03-06 16:45:00
117
转载 20135323符运锦----第一周:计算机是如何工作的
计算机是如何工作的计算机系统是由硬件和系统软件组成的,它们共同工作来运行应用程序。虽然系统的具体实现方式随着时间不断变化,但是系统内在的概念却没有改变。所有计算机系统都有相似的硬件和软件组件,它们执行着相似的功能。一些程序员希望深入了解这些组件是如何工作的,以及这些组件是如何影响程序的正确性和性能的,以此来提高自身的技能。但是,计算机由人发明,这也就决定了它并不会比人聪明。我的观点,计...
2016-02-27 13:44:00
138
转载 20135323符运锦-----期末总结
读书笔记[第二周读书笔记][http://www.cnblogs.com/20135323fuyunjin/p/4823945.html][第三周读书笔记][http://www.cnblogs.com/20135323fuyunjin/p/4842699.html][第四周读书笔记][http://www.cnblogs.com/20135323fuyunjin/p/485...
2015-12-19 23:47:00
161
转载 20135323符运锦-----信息安全系统设计基础第十四周学习总结
第十四周:学习计时:共12小时读书:7代码:1作业:2博客:2第9章 虚拟存储器虚拟存储器是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。虚拟存储器提供了三个重要的能力:它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式,它高...
2015-12-13 12:07:00
326
转载 20135321余佳源、20135323符运锦----实验五:通信协议设计
北京电子科技学院(BESTI)实 验 报 告课程:信息安全设计系统基础 班级:1353 姓名:余佳源、符运锦学号:20135321、20135323成绩: 指导教师:娄嘉鹏 实验日期:2015.12.1实验密级: 预习程度: ...
2015-12-06 15:25:00
204
转载 20135323符运锦-----信息安全系统设计基础第十三周学习总结
第十三周:学习计时:共10小时读书:6代码:1作业:1博客:2第 11 章 网络编程11.1 客户端-服务器编程模型每个网络应用都是基于客户端一服务器模型的。一个应用是由一个服务器进程和一个或者多个客户端进程组成。服务器管理某种资源,并且通过操作这种资源来为它的客户端提供某种服务。客户端一服务器模型中的基本操作是事务,由四步组成:当一个客户端需要服务时,它向服务器发...
2015-12-06 14:17:00
170
转载 20135321余佳源、20135323符运锦----实验三:实时系统的移植
参考博客:http://www.cnblogs.com/brotherlittlefish/p/5009420.html转载于:https://www.cnblogs.com/20135323fuyunjin/p/5009717.html
2015-12-01 12:10:00
123
转载 20135323符运锦-----信息安全系统设计基础第十二周学习总结
学习时间:共10小时读书:0代码:7作业:0博客:3实践任务--process一、exec1.c程序调用execvp:arglist是命令行的字符串数组,数组的第一个元素为程序名称,最后一个元素必须是null。#include <stdio.h>#include <unistd.h>int main(){char *arglist[...
2015-11-29 12:18:00
161
转载 20135321余佳源、20135323符运锦----实验四:外设驱动程序设计
北京电子科技学院(BESTI)实 验 报 告课程:信息安全设计系统基础 班级:1353姓名:余佳源、符运锦学号:20135321、20135323成绩: 指导教师: 娄嘉鹏 实验日期:2015.11.10实验密级: 预习程度: 实验时间:15:30-18:00仪器组次:21 必修/选修:必修 实验序号:1实验名称:外设驱动程序设计实验目的与要求:学习在 LINUX 下进...
2015-11-29 00:27:00
175
转载 20135321余佳源、20135323符运锦----实验二:固件设计
参考余佳源博客园:http://www.cnblogs.com/brotherlittlefish/转载于:https://www.cnblogs.com/20135323fuyunjin/p/4999023.html
2015-11-26 21:34:00
153
转载 家庭作业汇总
家庭作业:2.65 写出代码实现如下函数:/Return 1 when x contains an even number of 1s; 0 otherwise. Assume w=32/int even_ones(unsigned x);函数应该遵循位级整数编码规则,不过你可以假设数据类型int有w=32位,你的代码最多只能包含12个算术运算、位运算和逻辑运算。解读题目:当无...
2015-11-22 18:10:00
216
转载 20135323符运锦--信息安全系统设计基础第十一周学习总结
学习计时:8小时读书:3代码:2作业:1博客:2第八章 异常控制流现代系统通过使控制流发生突变来对这些情况作出反应。一般而言,我们把这些突变称为异常控制流。8.1异常异常时异常控制流的一种形式,它一部分是由硬件实现的,一部分是由操作系统实现的。说白了,异常就是控制流的突变,用来响应处理器状态中的某些变化。下图为其基本思想当前指令为:ICURR。在处理器中,状态呗编...
2015-11-17 01:03:00
194
转载 20135323符运锦--信息安全系统设计基础第十周学习总结
学习计时:共8小时读书:1代码:5作业:0博客:2学习要求代码阅读理解:编译运行代码使用man学习理解相关系统调用, 理解参数、返回值的含义会用grep -nr xxx /usr/include 查宏定义cp1.cechostate.cfileinfo.cfilesize.cls1.cls2.csetecho.cspwd.ctestioctl.c...
2015-11-15 15:29:00
121
转载 20135321余佳源、20135323符运锦----实验一:开发环境的熟悉
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全设计系统基础 班级:1353 姓名:余佳源、符运锦 学号:20135321、20135323 成绩: 指导教师:娄嘉鹏 实验日期:2015.11.10 实验密级: 预习程度: 实验时间:15:30-18:00 仪器组次:21 必修/选...
2015-11-15 12:29:00
172
转载 20135323符运锦--信息安全系统设计基础第九周学习总结
学习计时:共12小时读书:5小时代码:2小时作业:3小时博客:2小时附录A 错误处理A.1 Unix系统中的错误处理A.2 错误处理包装函数Unix:返回一个错误,包装函数打印一条消息然后退出。Posix:错误返回码中不会包含有用的结果,成功时返回void系统级I/O输入/输出是在主存和外部设备(如磁盘驱动器、终端和网络)之间拷贝数据的过程。输入操作时从I/...
2015-11-07 23:39:00
143
转载 20135321 & 20135323 家庭作业4.46
* * 4.46 修改对家庭作业4.45所写的代码,用条件传送来实现冒泡排序函数的内循环中的测试和交换。 该冒泡排序的内循环是: for(j=0;j!=i;++j){if(*p>*q){intt =*p;*p =...
2015-11-03 15:17:00
102
转载 20135302、20135315、20135323----缓冲区溢出漏洞实验(修改版)
本次实验由20135302魏静静、20135315宋宸宁完成shellcode相关内容,20135323符运锦完成后期跟进学习及博客的编写一、实验简介缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。利用缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。第...
2015-11-03 13:45:00
148
转载 20135323符运锦--信息安全系统设计基础第八周期中总结
学习计时:共10小时读书:5小时代码:0小时作业:3小时博客:2小时第二周1. man -k有一个共同特点就是基于"搜索"2. cheat命令是在GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。它提供显示Linux命令使用案例,包括该命令所有的选项和简短但尚可理解的功能。3. grep 可以对文件全文检索,支持正则表达式,正则表达...
2015-10-31 22:53:00
331
转载 20135302、20135315、20135323----缓冲区溢出漏洞实验
本次实验由20135302魏静静、20135315宋宸宁完成shellcode相关内容,20135323符运锦完成后期跟进学习及博客的编写。一、实验简介缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。利用缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。...
2015-10-31 13:40:00
199
转载 20135323符运锦-信息安全系统设计基础第七周学习总结
学习计时:共11小时读书:5小时代码:2小时作业:2小时博客:2小时第六章 存储器层次结构 第一节 存储技术随机访问存储器1. 静态RAM(SRAM):用来作为高速缓存存储器,每个位存储在一个双稳态的存储器单元里。双稳态:电路可以无限期的保持在两个不同的电压配置或者状态之一。只要供电,就会保持不变。2. 动态RAM(DRAM):用来作为主存以及图...
2015-10-25 22:45:00
124
转载 20135323符运锦--------家庭作业3.60
20135323与20135321共同完成解析:A:参考二维数组B:汇编代码解析:第1行:i第2行:j第3行:9j第4行:i的值赋给edx第5行:把edx的值向左移64位,因为2^6=64第6行:64i-i=63i赋给edx第7行:63i+9j第8行:63i+9j+k第9行:A+4(63i+9j+k) 等价于A+4(i*S*T...
2015-10-22 23:11:00
115
转载 20135323符运锦----家庭作业2.76
题目:解析:答案:1.K=5=2^2+1=(x<<2)+x2.K=9=2^3+1=(x<<3)+x3.K=30=2^5-2^1=(x<<5)-(x<<1)//为何不用2^4+2^3+2^2+2^1?答:因为使用过多运算符,不满足题目的要求4.k=-56=2^3-2^6=(x<<3)-(x<<6)转...
2015-10-20 13:59:00
74
转载 20135323符运锦-信息安全系统设计基础第六周学习总结
学习计时:共10小时读书:5小时代码:2小时作业:2小时博客:1小时第四章 处理器体系结构一个处理器支持的指令和指令的字节级编码称为它的指令集体系结构,ISA。第一节 Y86指令集体系结构一、程序员可见的状态1.Y86程序中的每条指令都会读取或修改处理器状态的某些部分,称为程序员可见状态。”程序员“既可以是用汇编写代码的人,也可以是产生机器级代码的编译...
2015-10-17 13:53:00
149
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅