当前位置: 首页 > news >正文

2017-2018-1 20155229 《信息安全系统设计基础》第五周学习总结

2017-2018-1 20155229 《信息安全系统设计基础》第五周学习总结

教材学习内容总结

教材学习中的问题和解决过程

  • 问题1:call ret 命令的作用与使用

  • 问题1解决方案:
    对于代码
#include <stdio.h>  
  int main()  
{  
        printf("hello, world\n");
        return 0;  
}  

中只调用了一个库函数printf()

832288-20171022162015490-1158838398.jpg

代码调试中的问题和解决过程

  • 问题1:在对实验代码(下图)

832288-20171022162053396-1215812383.jpg

使用 gcc -g gdbdemo.c -o gdbdemo -m32 命令在64位的机器上产生32位汇编代码时,产生了错误(找不到截图了)

832288-20171022162127052-960463285.jpg

  • 问题1解决方案:使用sudo apt-get install libc6-dev-i386命令安装一个库,问题就得到解决了

832288-20171022162139224-776089981.jpg

  • 问题2:使用gdb对上述代码进行调试
    设置完断点后,运行

832288-20171022162216052-1549170648.jpg

使用disaaemble获取汇编代码,i r用来查看各寄存器的值

832288-20171022162243427-1163754031.jpg

si是用来单步跟踪一条机器指令,然后继续使用i r查看寄存器的值,明显发现,两次eap的值不同

832288-20171022162304756-2067610463.jpg

代码托管

(statistics.sh脚本的运行结果截图)
感觉这周的代码统计有bug,因为我上周统计时的总代码为185,这周敲的代码为130,但总代码才为195

832288-20171022162501802-919181315.jpg

832288-20171022162512287-1856418066.jpg

上周考试错题总结

  • 错题1:

main.c 调用了静态库libmath.a中的函数,编译main.c的命令是()

A .gcc -static main.c ./libmath.a -o main

B .gcc -static main.c -L. -lmath -o main

C .gcc -static main.c -L. -llibmath.a -o main

D .gcc -static main.o ./libmath.a -o main

  • 正确答案:A、B

  • 错题2:

dll,so文件的链接是运行在()

A .编译时

B .加载时

C .运行时

D .链接时

  • 正确答案:C

  • 解析:(参考 动态链接库在 Windows(dll) 以及 Linux(so)下编程中的应用 )

结对及互评

点评模板:

  • 博客中值得学习的或问题:
  • 代码中值得学习的或问题:
    • xxx

本周结对学习情况

- [20155225](博客链接)
- 结对照片
- 结对学习内容
    - 学习教材第三章内容
    - 回顾课堂上的知识 并总结
    - 回顾周二实验的内容,写实验报告

其他(感悟、思考等,可选)

本周学习的是第三章的内容——程序的机器级表示,内容较于上一章,还是很多的,而且涉及到了汇编语言的表示。因为汇编的大多知识点都忘记了,所以在学习这一章时还回顾了上学期汇编的一些知识,但是c语言与汇编的相结合对于我来说可能还有些困难,这就需要接下来的时间对本章内容加深学习。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行15篇400小时
第一周20/201/12/12
第二周42/621/28/20
第三周62/1241/314/34
第四周61/1851/410/44
第五周/2/613/57

(代码统计有bug,先不进行统计,详情见上面代码截图部分)

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难,软件工程 估计方法

  • 计划学习时间:15小时

  • 实际学习时间:13小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表)

参考资料

  • 《深入理解计算机系统V3》学习指导
  • ...

转载于:https://www.cnblogs.com/fyhtvxq/p/7710540.html

相关文章:

  • 项目管理碎碎念系列之一:干系人管理
  • java动态数组
  • Windows Server 2008服务器系统的远程桌面连接数量
  • 如何辨别护照的种类
  • 如何一步一步提高图像分类准确率?
  • 这样做,导出Xmanager会话文件不是难事!
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • BZOJ-3732: Network (kruskal+LCA)
  • 网络基础(持续更新)
  • Linux运维之道之admin1.1(命令行基础,目录和文件管理)
  • 《团队-科学计算器-模块开发过程》
  • 数据结构之栈
  • 课后作业:字串加密
  • 还没升级 iOS11?这个高危漏洞威胁近9成 iPhone 用户!
  • e租宝雇佣黑客攻击网贷之家 帮凶被判二年六个月
  • CEF与代理
  • Date型的使用
  • ES6简单总结(搭配简单的讲解和小案例)
  • HashMap剖析之内部结构
  • IDEA常用插件整理
  • iOS | NSProxy
  • javascript从右向左截取指定位数字符的3种方法
  • JS学习笔记——闭包
  • Mithril.js 入门介绍
  • MySQL主从复制读写分离及奇怪的问题
  • Python连接Oracle
  • Ruby 2.x 源代码分析:扩展 概述
  • session共享问题解决方案
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 第十八天-企业应用架构模式-基本模式
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 小程序button引导用户授权
  • 智能合约开发环境搭建及Hello World合约
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #FPGA(基础知识)
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (转)甲方乙方——赵民谈找工作
  • 、写入Shellcode到注册表上线
  • .NET Core WebAPI中封装Swagger配置
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET Core中的去虚
  • .net refrector
  • .Net8 Blazor 尝鲜
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .NET开发不可不知、不可不用的辅助类(一)
  • @media screen 针对不同移动设备
  • [acwing周赛复盘] 第 69 场周赛20220917
  • [Android View] 可绘制形状 (Shape Xml)