zoukankan      html  css  js  c++  java
  • 20155325 2017-2018 1 《信息安全系统设计基础》第六周学习总结(合并课上测试、课下作业、第八章)

    实践要求

    第六周课上测试-2-ch02

    1. 调用附图代码,编写一个程序 “week0602学号.c",用show_int(), show_float()打印一下你的4位学号,参考教材P33打印出匹配的位序列。

    2. 提交运行结果截图,要全屏,要包含自己的学号信息

    3.*************课下把代码推送到代码托管平台**************
    4. 参考教材p82,给出出匹配的位序列的推导过程

    第六周课上测试-3-ch02

    1. 编写一个程序 “week0603学号.c",运行下面代码:
      1 short int v = -学号后四位
      2 unsigned short uv = (unsigned short) v
      3 printf("v = %d, uv = %u ", v, uv);

    2. 在第三行设置断点用gdb调试,用p /x v; p /x uv 查看变量的值,提交调试结果截图,要全屏,要包含自己的学号信息

    3. 分析p /x v; p /x uv 与程序运行结果的不同和联系

    第六周课上测试-5-ch03

    1. 通过输入gcc -S -o main.s main.c 将下面c程序”week0603学号.c“编译成汇编代码
      int g(int x){
      return x+3;
      }
      int f(int x){
      int i = 学号后两位;
      return g(x)+i;
      }
      int main(void){
      return f(8)+1;
      }

    2. 参考http://www.cnblogs.com/lxm20145215----/p/5982554.html,使用gdb跟踪汇编代码,在纸上画出f中每一条语句引起的eip(rip),ebp(rbp),esp(rsb),eax(rax)的值和栈的变化情况。提交照片,要有学号信息。

    ch02 课下作业

    1. 补充完成课上测试(不能只有截图,要有分析,问题解决过程,新学到的知识点)
    2. 完成教材 p97 2.96 2.97,要有完备的测试
    3. 发一篇相关内容的博客, 提交博客链接

    ch03 课下作业

    1. 补充完成课上测试(不能只有截图,要有分析,问题解决过程,新学到的知识点)
    2. 在自己的电脑中完成https://www.shiyanlou.com/courses/231缓冲区溢出漏洞实验 实验
    3. 发一篇相关内容的博客, 提交博客链接

    实验截图

    第六周课上测试-2-ch02

    现将整数5325写成二进制形式[1 0100 1100 1101],将二进制小数点左移12位,,去掉开头的1,后面补11(11 = 23-12,单精度小数字段共23位)个0,12加单精度的偏置量127等于139,将其二进制表示左侧加符号位0[1000 1011],再接到刚才去1补0后的值前,得到二进制浮点表示,[0100 0101 1010 0110 0110 1000 0000 0000] 5325.0的二进制表示为就可以通过对照发现匹配的位序列

    第六周课上测试-3-ch02

    • 问题:

    • 解决:其实是复制下来后的符号有的是中文的,换掉就好

    第六周课上测试-5-ch03

    • 分析题目:“eip(rip),ebp(rbp),esp(rsb),eax(rax)”讲的是什么意思呢?

    ebp:栈底
    esp:栈顶
    eip:寄存器,用来存储CPU要读取指令的地址,CPU通过EIP寄存器读取即将要执行的指令。

    链接: 汇编语言里 eax, ebx, ecx, edx, esi, edi, ebp, esp,eip; 栈帧%ebp,%esp详解

    第六周课上测试-3-ch02

    2.96

    2.97

    第六周课上测试-5-ch03

    • 问题:直接输入“linux32”不能进入

    • 解决:直接输完就好,就在图片的最后一行命令

    • 问题:没有sh

    • 过程:不知所措,无奈的我重新开了实验,调换了“rm sh”和下一条指令的顺序,然并卵。

    • 问题:攻击失败

    • 过程:之前没有

    第八章 异常控制流

    • 并发流:并发流一个逻辑流的执行在时间上与另一个流重叠。

      并发:多个流并发执行的一般现象称为并发。

      多任务:多个进程并发叫做多任务。

      并行:并发流在不同的cpu或计算机上。

    • 理解数组指针、指针数组、函数指针、指针函数的区别

    函数指针:重点在指针,表示它是一个指针,它指向的是一个函数。eg: int (*fun)();

    指针函数:重点在函数,表示它是一个函数,它的返回值是指针。 eg: int* fun();

    数组指针:重点在指针,表示它是一个指针,它指向的是一个数组。int (*fun)[8];

    指针数组:重点在数组,表示它是一个数组,它包含的元素是指针 itn* fun[8];

    • man -k key1 | grep key2| grep 2 : 根据关键字检索系统调用
      grep -nr XXX /usr/include :查找宏定义,类型定义

    这个在上次的博客中已经写过了
    博客

    代码托管

    上周考试错题总结

    • 下面可以用二进制精确表示的数有

    A .
    1/2
    B .
    1/3
    C .
    1/4
    D .
    3/8
    E .
    5/7
    正确答案: A C D

    • 对于int x; float f; double d;下面正确的是()

    A .
    x == (int)(double)x
    B .
    x==(int)(float)x
    C .
    f == -(-f)
    D .
    1.0/2 == 1/2.0
    E .
    (f+d)-f == d
    正确答案: A C D

    • 我们用一个十六进制的数表示长度w=4的位模式,把数字解释为补码,关于其加法逆元的论述正确的是()

    A .
    0x8的加法逆元是-8
    B .
    0x8的加法逆元是0x8
    C .
    0x8的加法逆元是8
    D .
    0xD的加法逆元是3
    E .
    0xD的加法逆元是0x3
    正确答案: A B D E

    • 大多数计算机使用同样的机器指令来执行无符号和有符号加法。

    A .
    正确
    B .
    错误
    C .
    不确定
    正确答案: A 你的答案: B 查看知识点 | 查看解析
    8
    ( 多选题 | 1

    • 我们用一个十六进制的数表示长度w=4的位模式,对于数字的无符号加法逆元的位的表示正确的是()

    A .
    0x8的无符号加法逆元是0x8
    B .
    0xD的无符号加法逆元是0xD
    C .
    0xF的无符号加法逆元是0x1
    D .
    0xF的无符号加法逆元是1
    正确答案: A C D

    • 0<=x,y<2^w, 则
      A .
      x+y的最大值是2^w
      B .
      x+y的最大值是2^w-1
      C .
      x+y的最大值是2^w-2
      D .
      x+y的最大值是2^(w+1)
      E .
      x+y的最大值是2^(w+1)-1
      F .
      x+y的最大值是2^(w+1)-2
      正确答案: F

    • short sx=-12345;
      int x = sx;
      unsigned ux = sx;

    A .
    sx,x,ux的十六进制表示中的最后两个字节是0xcfc7
    B .
    ux == 0xffffcfc7
    C .
    ux == 0x0000cfc7
    D .
    x == 0xffffcfc7
    E .
    x == 0x0000cfc7
    正确答案: A C D

    • short int v=-12345;
      unsigned short uv=(unsigned short) v;
      那么
      A .
      v=-12345, uv=53191
      B .
      v=uv=0xcfc7
      C .
      v,uv的底层的位模式不一样
      D .
      v,uv的值在内存中是不一样的
      正确答案: A B

    • int x; x的二进制为[10010101], x>>4的值为()

    A .
    [10010101]
    B .
    [00001001]
    C .
    [11111001]
    D .
    [01010000]
    正确答案: C

    • 下面和代码可移植性相关的C语言属性有()

    A .

    define

    B .
    typedef
    C .
    sizeof()
    D .
    union
    正确答案: A B C

    • x=0x12345678,存放在0x200-0x203地址中,小端机器中0x201中的内容是()

    A .
    0x12
    B .
    0x34
    C .
    0x56
    D .
    0x78
    正确答案: C

    • 整数int x在内存中的地址是0x200,0x201,0x202,0x203,那么&x的值是()

    A .
    不同机器上(大端,小端)不一样
    B .
    0x200
    C .
    0x203
    D .
    0x200-0x203
    正确答案: B

    • 与unsigned long等价的声明是()

    A .
    unsigned
    B .
    long unsigned
    C .
    long unsigned int
    D .
    unsigned long int
    正确答案: B C D

    • 一个数x是2的n次方,n=i+4*j,i=2,j=8时,用16进制表示x,最高位是()

    A .
    2
    B .
    4
    C .
    8
    D .
    0
    正确答案: B

    • 实现十进制数向各种进制(2,8,16)的转换,可以使用数据结构中的()来实现。

    A .

    B .

    C .
    队列
    D .

    正确答案: B

    • 根据c89国际标准编译程序prog.c,下面正确的是()

    A .
    gcc prog.c
    B .
    gcc -ansi prog.c
    C .
    gcc -std=c89 prog.c
    D .
    gcc -std=gnull prog.c
    正确答案: B C

    结对

    • 本周结对学习情况
      • 20155328
      • 结对照片
      • 结对学习内容
        • 课堂测试、课下作业、第八章

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 16篇 400小时
    第一周 9/9 1/1 19/19 熟练下载安装技能,锻炼解决问题能力
    第2周 380/389 2/3 26/45 1、7章
    第3,4周 1270/1659 3/6 42 2、10章
    第5周 20/1679 2/8 实验一&3章
    第六周 223/1902 1 9 课堂测试、课下作业、第八章
  • 相关阅读:
    javascript:showModelDialog注意点
    VS.NET 查找未使用过的方法
    JAVASCRIPT:style 中visibility和display之间的区别
    基于MapServer的WebGIS开发http://www.gisforum.net/show.aspx?id=1491&cid=27
    POJ 1845 Sumdiv
    xmu 1254.异或求和
    hdu 4282 A very hard mathematic problem
    POJ Longge's problem 2480
    hdu 1199 Color the Ball
    HDU 1492 The number of divisors(约数) about Humble Numbers
  • 原文地址:https://www.cnblogs.com/GDDFZ/p/7751717.html
Copyright © 2011-2022 走看看