E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
linux内核原理
linux驱动工程面试必问知识点
linux内核原理
面试必问(由易到难)简单型1:linux中内核空间及用户空间的区别?用户空间与内核通信方式有哪些?2:linux中内存划分及如何使用?
AlanTu
·
2018-05-05 14:00
20179203 《
Linux内核原理
与分析》第十二周作业
Return-to-libc攻击实验一、实验描述缓冲区溢出的常用攻击方法是用shellcode的地址来覆盖漏洞程序的返回地址,使得漏洞程序去执行存放在栈中shellcode。为了阻止这种类型的攻击,一些操作系统使得系统管理员具有使栈不可执行的能力。这样的话,一旦程序执行存放在栈中的shellcode就会崩溃,从而阻止了攻击。不幸的是上面的保护方式并不是完全有效的,现在存在一种缓冲区溢出的变体攻击,
20179203李鹏举
·
2017-12-17 20:00
2017-2018-1 20179215《
Linux内核原理
与分析》第十二周作业
Sql注入基础原理介绍分组:和20179205王雅哲共同完成实验一、实验说明1.1sql注入 SQL注入攻击通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作。 SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库
20179215袁琳
·
2017-12-17 17:00
2017-2018-1 20179202《
Linux内核原理
与分析》第十二周作业
C语言实现Linux网络嗅探器一、知识准备1.一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的数据包则不予响应。如果某个工作站的网络接口处于混杂模式,那么它就可以捕获网络上所有的数据包和帧。2.为了绕过标准的TCP/IP堆栈,网卡就必须设置为混杂模式。一般情况下,要激活这种方式,内核需要root权限来运行这种程序,所以Sniffer需要root身份安装。3.当一个黑客成功地攻
20179202杨晓桐
·
2017-12-17 13:00
2017-2018-1 20179226《
Linux内核原理
与分析》第十二周作业
ShellShock攻击实验1.进行实验所需的准备1)下载:sudosu$wgethttp://labfile.oss.aliyuncs.com/bash-4.1.tar.gz2)安装:$tarxfbash-4.1.tar.gz$cdbash-4.1$./configure$make&makeinstall3)链接:$rm/bin/bash$ln-s/usr/local/bin/bash/bin/
20179226任逸飞
·
2017-12-17 09:00
2017-2018-1 《
Linux内核原理
与设计》第十二周作业
《
linux内核原理
与设计》第十二周作业Sql注入基础原理介绍分组:和20179215袁琳完成实验一、实验说明 SQL注入攻击通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合
20179205王雅哲
·
2017-12-16 19:00
20179209《
Linux内核原理
与分析》第十二周作
缓冲区溢出漏洞实验缓冲区溢出简介缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况。这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片段。这一漏洞的出现是由于数据缓冲器和返回地址的暂时关闭,溢出会引起返回地址被重写。原理详解利用缓冲区溢出进行攻击的原理就是通过修改内存区域,把一段恶意代码存储到一个buffer中,并且使这个buffer被溢出,以便当前进程被非法利用(恶意
20179209-杨森
·
2017-12-16 17:00
20179223《
Linux内核原理
与分析》第十二周学习笔记
Return-to-libc攻击实验一、实验描述缓冲区溢出的常用攻击方法是用shellcode的地址来覆盖漏洞程序的返回地址,使得漏洞程序去执行存放在栈中shellcode。为了阻止这种类型的攻击,一些操作系统使得系统管理员具有使栈不可执行的能力。这样的话,一旦程序执行存放在栈中的shellcode就会崩溃,从而阻止了攻击。不幸的是上面的保护方式并不是完全有效的,现在存在一种缓冲区溢出的变体攻击,
20179223刘霄
·
2017-12-15 15:00
20179203 《
Linux内核原理
与分析》第十一周作业
一、环境的使用和搭建首先我的攻击机和靶机都搭建在虚拟机上,选用的是VMwareWorkstationPro虚拟机。攻击机选用的是Linuxkali2017.2版本,而靶机安装的是XPsp3纯净版。在这里安装虚拟机的时候要注意网络适配器的网络连接方式选用NAT连接。二、Metaspoit的安装当然在此之前要先更新好kaili的源地址,在这里就不介绍这个相关过程了。由于kali2.0已经没有metas
20179203李鹏举
·
2017-12-10 23:00
2017-2018-1 20179202《
Linux内核原理
与分析》第十一周作业
Metasploit实现木马生成、捆绑、免杀1.预备知识(1)MetasploitMetasploit是一款开源的安全漏洞检测工具,全称叫做TheMetasploitFramework,简称MSF。MSF是一个漏洞框架,它允许使用者开发自己的漏洞脚本,从而进行测试。下图为Metasploit的体系结构: 图片来源玩转Metasploit系列(第一集)基础库文件:Rex:Metas
20179202杨晓桐
·
2017-12-10 22:00
2017-2018-1 20179226《
Linux内核原理
与分析》第十一周作业
缓冲区溢出漏洞实验实验准备1.输入命令安装一些用于编译32位C程序的东西。1)sudoapt-getupdate2)sudoapt-getinstalllib32z1libc6-dev-i3863)sudoapt-getinstalllib32readline-gplv2-dev2.输入命令“linux32”进入32位linux环境,输入“/bin/bash”使用bash。实验步骤1.初始设置1)
20179226任逸飞
·
2017-12-09 20:00
20179223《
Linux内核原理
与分析》第十一周学习笔记
缓冲区溢出漏洞实验一、实验简介缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况。这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片段。这一漏洞的出现是由于数据缓冲器和返回地址的暂时关闭,溢出会引起返回地址被重写。二、实验准备系统用户名shiyanlou实验楼提供的是64位Ubuntulinux,而本次实验为了方便观察汇编语句,我们需要在32位环境下作操作,因此实验之前
20179223刘霄
·
2017-12-09 16:00
20179223《
Linux内核原理
与分析》第十周学习笔记
课本第17、19和20章内容学习关于设备驱动和设备管理,Linux主要有四种内核成分设备类型:在所有Unix系统中为了统一普通设备的操作所采用的分类。模块:Linux内核中用于按需加载和卸载目标码的机制。内核对象:内核数据结构中支持面向对象的简单操作,还支持维护对象之间的父子关系。sysfs:表示系统中设备树的一个文件系统。设备类型在Linux以及所有Unix系统中,设备被分为以下三种类型:块设备
20179223刘霄
·
2017-12-03 21:00
2017-2018-1 20179226《
Linux内核原理
与分析》第十周作业
阅读教材17、19、20章第17章设备与模块1.关于设备驱动和设备管理,讨论四种内核成分。1)设备类型:在所有的linux系统中为了统一普遍设备的操作所分的类。2)模块:Linux内核中用于按需加载和卸载目标码的机制。3)内核对象:内核数据机构中支持面向对象的简单操作,还支持维护对象间的父子关系。4)sysfs:表示系统中设备树的一个文件系统2.Unix系统中,设备被分为三类。1)块设备:通常缩写
20179226任逸飞
·
2017-12-03 21:00
20179203 《
Linux内核原理
与分析》第十周作业
第17章设备与模块一、设备类型1.Linux及Unix系统:块设备字符设备网络设备2.块设备:通常缩写为blkdev,它是可寻址的,寻址以块为单位,块大小随设备不同而不同;块设备通常支持重定位操作,也就是对数据的随机访问。块设备是通过称为“块设备节点”的特殊文件来访问的,井且通常被挂载为文件系统。3.字符设备:通常缩写为cdev,它是不可寻址的,仅提供数据的流式访问,就是一个个字符,或者一个个字节
20179203李鹏举
·
2017-12-02 19:00
2017-2018-1 20179202《
Linux内核原理
与分析》第十周作业
一、设备与模块1.设备类型块设备:随机访问设备中的内容,通过块设备结点访问,通常被挂载为文件系统字符设备:不可寻址,仅提供数据的流式访问,通过字符设备结点访问,应用程序通过直接访问设备节点与字符设备交互网络设备:通过套接字API来访问除了物理设备外还有些驱动设备是虚拟的(伪设备),仅提供访问内核功能。如内核随机数发生器、空设备、零设备、满设备、内存设备。2.模块(1)Linux内核是模块化的,允许
20179202杨晓桐
·
2017-12-02 15:00
2017-2018-1 20179203 《
Linux内核原理
与分析》第九周作业
攥写人:李鹏举学号:20179203(原创作品转载请注明出处)(学习课程:《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000)一、实验要求:1.理解Linux系统中进程调度的时机,可以在内核代码中搜索schedule()函数,看都是哪里调用了schedule(),判断我们课程内容中的总结是否准确;2.使用gdb跟踪分析
20179203李鹏举
·
2017-11-26 17:00
2017-2018-1 20179226《
Linux内核原理
与分析》第九周作业
课程学习1.中断处理过程(包括时钟中断、I/O中断、系统调用和异常)中,直接调用schedule(),或者返回用户态时根据need_resched标记调用schedule(),一般的用户态进程只能被动调用。2.内核线程是一个特殊的线程,只有内核态没有用户态,可以直接调用schedule()进行进程切换,也可以在中断处理过程中进行调度,也就是说内核线程作为一类的特殊的进程可以主动调度,也可以被动调度
20179226任逸飞
·
2017-11-26 16:00
2017-2018-1 20179202《
Linux内核原理
与分析》第九周作业
进程的切换和系统的一般执行过程1.知识总结(1)进程调度的时机:中断处理过程直接调用schedule(),或者返回用户态时根据need_resched标记调用schedule()。内核线程是一个特殊的进程,只有内核态没有用户态,可以直接调用schedule()进行进程切换,也可以在中断处理过程中进行调度(内核线程可以直接访问内核函数,所以不会发生系统调用)。内核线程作为一类的特殊的进程可以主动调度
20179202杨晓桐
·
2017-11-25 20:00
20179223《
Linux内核原理
与分析》第九周学习笔记
视频学习进程调度与进程调度的时机分析不同类型的进程有不同的调度需求第一种分类:——I/O-bound:1.频繁的进行I/O;2.通常会花费很多时间等待I/O操作的完成——CPU-bound:1.计算密集型;2.需要大量的CPU时间进行计算第二种分类:——批处理进程:1.不必与用户交互,通常在后台运行;2.不必很快响应;3.典型的批处理程序:编译程序、科学计算——实时进程:1.有实时需求,不应被低优
20179223刘霄
·
2017-11-25 20:00
20179223《
Linux内核原理
与分析》第八周学习笔记
视频学习可执行文件是怎么得来的?.c汇编成汇编代码.asm,然后再汇编成目标码.o。然后在连接成可执行文件,然后加载到内存可执行了。对hello.c文件预处理(cpp),预处理负责把include的文件包含进来及宏替换等工作。把hello.cpp编译成汇编代码hello.s再把编译代码hello.s编译成目标代码hello.o(二进制的文件),然后把hello.o链接成可执行文件hello。hel
20179223刘霄
·
2017-11-19 20:00
2017-2018-1 20179226《
Linux内核原理
与分析》第八周作业
实验可执行程序的装载可执行程序的产生过程分为四步,首先是预处理,编译成汇编代码,再汇编成目标码再链接可执行文件。过程如下图所示:以helloworld的.c文件为例进行分析,c语言代码如下:#include#includeintmain(void){printf("hello,world!\n");return0;}编译步骤如下:vihello.cgcc-E-ohello.cpphello.c-m
20179226任逸飞
·
2017-11-19 16:00
2017-2018-1 20179202《
Linux内核原理
与分析》第八周作业
一、可执行程序的装载1.预处理、编译、链接gcc–e–ohello.cpphello.c//预处理gcc-xcpp-output-S-ohello.shello.cpp//编译gcc-xassembler-chello.s-ohello.o-m32//汇编gcc-ohellohello.o//链接成可执行文件,使用共享库用gcc-ohello.statichello.o-static静态编译出来的
20179202杨晓桐
·
2017-11-18 22:00
2017-2018-1 20179203 《
Linux内核原理
与分析》第八周作业
攥写人:李鹏举学号:20179203(原创作品转载请注明出处)(学习课程:《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000)一、实验要求:1.理解编译链接的过程和ELF可执行文件格式,详细内容参考本周第一节;2.编程使用exec*库函数加载一个可执行文件,动态链接分为可执行程序装载时动态链接和运行时动态链接,编程练习
20179203李鹏举
·
2017-11-18 19:00
20179223《
Linux内核原理
与分析》第七周学习笔记
视频知识学习1.fork()函数被调用一次,但返回两次;2.Linux通过复制父进程来创建一个子进程,通过调用fork来实现;3.Linux会为每个子进程动态的分配一个task_struct结构。创建一个新进程在内核中的执行过程fork、vfork和clone三个系统调用都可以创建一个新进程,而且都是通过调用do_fork来实现进程的创建;Linux通过复制父进程来创建一个新的进程,那么这就给我们
20179223刘霄
·
2017-11-12 20:00
2017-2018-1 20179226《
Linux内核原理
与分析》第七周作业
视频课程task_struct的数据结构structtask_struct{volatilelongstate;//进程状态/*-1unrunnable,0runnable,>0stopped*/void*stack;//指定进程内核堆栈pid_tpid;//进程标识符unsignedintrt_priority;//实时优先级unsignedintpolicy;//调度策略structfiles
20179226任逸飞
·
2017-11-12 19:00
2017-2018-1 20179202《
Linux内核原理
与分析》第七周作业
一、Linux内核创建一个新进程的过程1.知识准备操作系统内核三大功能是进程管理,内存管理,文件系统,最核心的是进程管理linux进程的状态和操作系统原理的描述进程状态有所不同,比如就绪状态和运行状态都是TASK_RUNNING。(这个表示它是可运行的,但是实际上有没有在运行取决于它是否占有CPU)fork被调用一次,能够返回两次。在父进程中返回新创建子进程的pid;在子进程中返回0调用fork之
20179202杨晓桐
·
2017-11-12 13:00
2017-2018-1 20179203 《
Linux内核原理
与分析》第七周作业及第三周测试总结
攥写人:李鹏举学号:20179203(原创作品转载请注明出处)(学习课程:《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000)一、本周知识点提炼1.1操作系统内核三大功能:操作系统内核三大功能分别是进程管理,内存管理,文件系统。其中最核心的是进程管理,而pid是系统区别进程的编号。本周学习及实验重点就是学习和分析进程管
20179203李鹏举
·
2017-11-11 20:00
2017-2018-1 20179203 《
Linux内核原理
与分析》第六周作业
攥写人:李鹏举学号:20179203(原创作品转载请注明出处)(学习课程:《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000)一、实验五分析:1.1实验要求1).使用gdb跟踪分析一个系统调用内核函数(您上周选择那一个系统调用),系统调用列表参见http://codelab.shiyanlou.com/xref/lin
20179203李鹏举
·
2017-11-05 21:00
2017-2018-1 20179226《
Linux内核原理
与分析》第六周作业
实验给MenuOS增加time和time-asm命令的方法:1.更新menu代码到最新版2.在main()函数中增加MenuConfig3.增加对应的Time函数和TimeAsm函数4.makerootfs实验结果如图所示我上周使用的系统调用是creat,加到test.c的函数的命令为intcreate(intargc,char*argv[]){intret=0;char*filename="cr
20179226任逸飞
·
2017-11-05 10:00
2017-2018-1 20179202《
Linux内核原理
与分析》第六周作业
一、系统调用实验(下):1.编辑menu中的text.c文件,给MenuOS增加rename和rename_asm命令:makerootf打开menu镜像,可以看到MenuOS菜单中新增了两条命令:2.gdb跟踪sys_rename:同第二个实验相同,先使得CPU静止,在sys_rename处设置断点,在MenuOS中执行rename命令,发现停在SyS_rename(定义在fs/namei.c中
20179202杨晓桐
·
2017-11-04 22:00
20179223《
Linux内核原理
与解析》第六周学习笔记
视频知识学习给MenuOS增加time和time-asm命令1.更新menu代码到最新版2.再main()函数中增加MenuConfig3.增加对应的Time函数和TimeAsm函数(这里的函数要换成我们自己编写的使用系统调用的函数,比如mkdir和mkdirAsm)4.makerootfs(帮我们自动编译自动生成根文件系统,自动帮我们启动起来menuos)使用gdb跟踪系统调用内核函数sys_t
20179223刘霄
·
2017-11-03 22:00
2017-2018-1 20179226《
Linux内核原理
与分析》第五周作业
视频课程储备知识1.用户态与内核态的区分:在高的执行级别下,代码可以执行特权指令,访问任意的物理内存,这时候cpu的执行级别对应的就是内核态,对所有的指令包括特权指令都可以执行。相应的在用户态(低执行级别)代码能够掌控的范围受到限制,只能在对应级别允许的特定范围内活动。2.Intelx86CPU有四种不同的执行级别0-3,Linux只使用了其中的03级分别表示内核态和用户态。3.在用户态时,只能访
20179226任逸飞
·
2017-10-29 15:00
2017-2018-1 20179202《
Linux内核原理
与分析》第五周作业
一、系统调用实验:1.知识准备:(1)系统调用的三层皮:xyz()(API)、system_call(所有系统调用的入口)、sys_xyz()(中断服务程序)(2)API是程序员在用户空间下可以直接使用的函数接口,它提供了一套封装例程,将系统调用在用户空间包装后供用户编程使用。涉及到与内核空间进行交互的API会封装系统调用,而不涉及与内核进行交互的API不会封装系统调用。(3)系统调用是用户进入内
20179202杨晓桐
·
2017-10-28 17:00
20179223《
Linux内核原理
与分析》第五周学习笔记
视频内容知识学习一、用户态、内核态和中断1.内核态:处于高的执行级别下,代码可以执行特权指令,访问任意的物理地址,这时的CPU就对应内核态2.用户态:处于低的执行级别下,代码只能在级别允许的特定范围内活动。在日常操作下,执行系统调用的方式是通过库函数,库函数封装系统调用,为用户提供接口以便直接使用。3.Intelx86CPU有四种不同的执行级别0-3,Linux只使用了其中的03级分别表示内核态和
20179223刘霄
·
2017-10-28 17:00
2017-2018-1 20179203 《
Linux内核原理
与分析》第五周作业
攥写人:李鹏举学号:20179203(原创作品转载请注明出处)(学习课程:《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000)一、实验要求:1.选择一个系统调用(13号系统调用time除外),系统调用列表参见http://codelab.shiyanlou.com/xref/linux-3.18.6/arch/x86/
20179203李鹏举
·
2017-10-27 22:00
20179223《
Linux内核原理
与分析》第四周学习笔记
补交第三周作业完成一个简单的时间片轮转多道程序内核1.使用实验楼的虚拟机打开shell,用cdLinuxKernel/linux-3.9.4进入linux-3.9.4。2.执行命令qemu-kernelarch/x86/boot/bzImage会发现弹出新的窗口,代表内核启动了。执行mykernel代码进入mykernel代码,可以看到mymain.c和myinterrupt.c打开mymain.
20179223刘霄
·
2017-10-22 22:00
2017-2018-1 20179203 《
Linux内核原理
与分析》第四周作业
攥写人:李鹏举学号:20179203(原创作品转载请注明出处)(学习课程:《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000)一、linux内核源代码首先来看一下这次实验中用到的Linux内核源代码:http://codelab.shiyanlou.com/xref/linux-3.18.6/根据电子课堂的讲述,我从中
20179203李鹏举
·
2017-10-22 12:00
2017-2018-1 20179226《
Linux内核原理
与分析》第四周作业
实验楼实验跟踪分析Linux内核的启动过程1.使用实验楼的虚拟机打开shell2.用cdLinuxKernel/命令进入LinuxKernel目录3.执行命令qemu-kernellinux-3.18.6/arch/x86/boot/bzImage-initrdroofs.img会发现弹出新的窗口,代表启动构建好了的linux内核启动结果如下图:加载根文件系统,init执行后,就看到了MenuOS
20179226任逸飞
·
2017-10-22 09:00
2017-2018-1 20179202《
Linux内核原理
与分析》第四周作业
一、跟踪分析内核的启动过程实验:1.启动Menuos:qemu仿真kernel:qemu-kernellinux-3.18.6/arch/x86/boot/bzImage-initrdrootfs.img知识补充:(1)bzImage是vmlinux经过gzip压缩后的文件,是压缩的内核映像,“b”代表的是“big”(bzImage适用于大内核,zImage适用于小内核)。vmlinux是编译出来
20179202杨晓桐
·
2017-10-21 17:00
2017-2018-1 20179202《
Linux内核原理
与分析》第三周作业
一、mykernel实验:1.深度理解函数调用堆栈:上周已经一步步地分析过含有变量的函数调用时堆栈的变化,现在对堆栈框架进行一些补充,以以下程序为例:intmain(){...g(x,y);...}intg(intx,inty){h(c);.}inth(intx){...}大致栈空间以及自己领会的函数调用堆栈变化框架:2.时间片轮转多道程序代码分析:计算机工作的三个法宝是存储程序计算机、函数调用堆
20179202杨晓桐
·
2017-10-15 17:00
2017-2018-1 20179226《
Linux内核原理
与分析》第三周作业
实验楼实验完成一个简单的时间片轮转多道程序内核1.使用实验楼的虚拟机打开shell2.用cdLinuxKernel/linux-3.9.4进入linux-3.9.43.执行命令qemu-kernelarch/x86/boot/bzImage会发现弹出新的窗口,代表内核启动了4.然后cdmykernel在mykernel目录输入命令vimymain.c和vimyinterrupt.c可以查看myma
20179226任逸飞
·
2017-10-15 16:00
2017-2018-1 20179203 《
Linux内核原理
与分析》第三周作业
攥写人:李鹏举学号:20179203(原创作品转载请注明出处)(学习课程:《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000)一、视频学习总结1.1计算机是如何工作的1.1.1计算机的三个法宝存储程序计算机、函数调用堆栈、中断机制。堆栈是C语言程序运行时必须记录调用路径和参数的空间。(函数调用框架、传递参数、保存返回地
20179203李鹏举
·
2017-10-15 10:00
2017-2018-1 20179202《
Linux内核原理
与分析》第二周作业
本周着重学习了汇编指令,并通过反汇编C程序了解栈帧变化。实践看了孟老师的演示视频后,我重新写了C程序,如下:intmain(){inta=1,b=2;returng(a,b);}intg(intx,inty){returnx+y;}通过gcc–S–omain.smain.c-m32反汇编,删除不需要的信息:main:pushl%ebpmovl%esp,%ebpandl$-16,%espsubl$3
20179202杨晓桐
·
2017-10-07 21:00
2017-2018-1 20179226《
Linux内核原理
与分析》第二周作业
Linux内核分析通过学习蓝墨云班课上的视频对汇编有了初步的了解通用寄存器EAX:累加器EBX:基地址寄存器ECX:计数寄存器EDX:数据寄存器EBP:堆栈基址针ESI、EDI:变址寄存器ESP:堆栈顶指针段寄存器CS:代码段寄存器。DS:数据段寄存器。ES:附加段寄存器。SS:堆栈段寄存器。FS:附加段寄存器。GS:附加段寄存器。mov指令及寻址方式其中l指32位,b指8位,w指16位,q指64
20179226任逸飞
·
2017-10-07 21:00
2017-2018-1 20179203《
Linux内核原理
与分析》第二周作业
攥写人:李鹏举学号:20179203(原创作品转载请注明出处)(学习课程:《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000)一、Linux反汇编一个简单的C程序的技术准备1.1vim编辑器 想要反汇编一个C程序首先就需要编写一个C语言的程序,确保其可以正确执行,然后再就行反汇编。而编写C语言程序最简单的方式就是通过v
20179203李鹏举
·
2017-10-07 21:00
20179223《
Linux内核原理
与分析》第二周学习笔记
第二周实验本周学习情况:学习了X86cpu的几个寄存器及X86汇编指令:movl%eax,%edxedx=eax%表示一个寄存器,把eax内容放入edx,等号相当于把eax赋值给edx,寄存器寻址;movl$0x123,%edxedx=0x123立即数是以$开头的数值,把16进制的数值放入edx,立即寻址;movl0x123,%edxedx=(int32_t)0x123内存地址16进制的123内存
20179223刘霄
·
2017-10-07 10:00
20179203李鹏举 《
Linux内核原理
与分析》第一周学习笔记
Linux基础入门一、Linux的基础学习1.1Linux的重要基础操作Linux不同于Windows的纯粹的图形化界面,虽然也有图形桌面的操作但是更多的操作还是通过命令行来进行,当然除了命令行之外还有许多的快捷键提供给大家,方便进行基础的各种操作,所以学习Linux首先就要了解这些方便的操作。我学习到的各种快捷键如下图所示:1.2Linux中关于文件的各类操作学习Linux这样一个操作系统,了解
20179203李鹏举
·
2017-10-01 20:00
20179202《
Linux内核原理
与分析》第一周作业
实验一Linux系统简介这一节主要学习了Linux的历史,重要人物以及学习Linux的方法。Linux和Windows在是否收费、软件与支持、安全性、可定制性和应用范畴等方面都存在着区别。目前感受最深的是Linux的命令行操作,我还不能习惯不用或少用图形界面。在安装Ubuntu时遇到电脑不支持虚拟化的问题,通过VMware虚拟安装Ubuntu的详细过程及错误解决方案进入bios设置虚拟化启用得以解
20179202杨晓桐
·
2017-10-01 17:00
20179223《
Linux内核原理
与分析》第一周学习笔记
第一周实验尝试创建两个文件,用通配符查找这两个文件;在创建文件的时候,需要同时创建多个文件的方法运行。根据作业要求,实现一个lilux命令。根据作业要求添加一个用户loutest,使用sudo创建文件/opt/forloutest。路径:进入上一级目录,进入home目录,使用pwd获取当前路径。使用mkdir创建一个空目录,使用cp复制一个文件到指定的目录,使用rm删除一个文件。创建一个变量并赋值
20179223刘霄
·
2017-10-01 15:00
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他