您的位置:首页 > 其它

20135328-信息安全系统设计基础第五周学习总结(程序的机器级表示)

2015-10-09 17:27 387 查看
第五周(10.05-10.11):

学习计时:共小时

读书:

代码:

作业:

博客:

一、学习目标

理解逆向的概念以及

掌握X86汇编基础,能够阅读(反)汇编代码

了解ISA(指令集体系结构)

理解函数调用栈帧的概念,并能用GDB进行调试

二、学习资源

教材:第三章《程序的机器级表示》,详细学习指导见这:重点是3.7,3.11

课程资料:https://www.shiyanlou.com/courses/413 实验四,课程邀请码:W7FQKW4Y

教材中代码运行、思考一下,读代码的学习方法见这。

三、学习方法

进度很重要:必须跟上每周的进度,阅读,练习,问答,项目。我会认真对待每一位同学,请你不要因为困难半途而废。

问答很重要:遇到知识难点请多多提问,这是你的权利更是您对自己负责的义务。问答到博客园讨论小组:http://group.cnblogs.com/103791/

实践很重要:解决书中习题,实践书中实例,完成每周项目,才算真的消化了这本好书。通过实验楼环境或自己安装的虚拟机在实践中进行学习

实验报告很重要:详细记录你完成项目任务的思路,获得老师点评和帮助自己复习。学习完成后在博客园中(http://www.cnblogs.com/)把学习过程通过博客发表,博客标题“学号-信息安全系统设计基础第五周学习总结

四、学习任务

阅读教材,完成课后练习(书中有参考答案)

3.1-3.7中练习,重点:3.1,3.3,3.5,3.6,3.9,3.14,3.15,3.16,3.22,3.23,3.27,3.29,3.30,3.33,3.34

考核:练习题把数据变换一下

实验:需要动手的到实验楼中练习一下

深化、实践题目,额外加分

五、后续学习预告(可选):

第四章《处理器体系结构》

六、学习过程

(提示:此处由学生填写,学习过程,学习笔记,代码编译,运行结果,思考等)

3.1历史观点

Intel处理器俗称X86,经历了长期的、不断进化的发展过程。

8086—〉Core i7(处理器版本后向兼容)

3.2程序编码

编译代码:gcc =O1 -o p p1.c p2.c

实际上gcc命令调用了一系列程序,将源代码转化成可执行代码。

3.2.1机器级代码

指令集体系结构ISA:定义了处理器状态、指令的格式,每条指令对状态的影响。

3.3数据格式

char b-字节

short w-字

int l-双字

数据传送指令:

MOV S,D

movb 传送字节

movw 传送字

movl 传送双字

(上述gcc生成的汇编代码指令都有一个字符后缀,表明操作数的大小)

3.5算术和逻辑操作

四种整数操作:

加载有效地址:实际是将有效地址写入目的操作数,目的操作数必须是寄存器。

一元操作:只有一个操作数,可以是寄存器也可是存储器位置。

INC 加1

DEC 减1

NEG 取负

NOT 取补

二元操作:源操作数是第一个,可以是立即数、寄存器、存储器 目的操作数是第二个,可以是寄存器、存储器 两个不能同时为存储器。

ADD 加

SUB 减

IMUL 乘

XOR 异或

OR 或

AND 与

使用规则: 第二个操作数 操作符 第一个操作数

移位:了解源操作数和目的操作数

SAL 左移

SHL 左移(等同于SAL)

SAR 算术右移

SHR 逻辑右移

源操作数:移位量——立即数或CL

目的操作数:要移位的数值——寄存器或存储器

3.6控制

翻译条件分支

将条件表达式和语句从c语言翻译成机器语言,最常用的方式就是结合有条件和无条件跳转。

do循环

do

body-statement

while(test-expr);

loop:

body-statement

t = test-expr;

if(t)

goto loop;

while循环

while (test-expr)

body-statement

if(!test-expr)

goto done;

do

       body-statement

while(test-expr);

for循环

for(init-expr;test-expr;update-expr)

body-satament

翻译条件分支

将条件表达式和语句从c语言翻译成机器语言,最常用的方式就是结合有条件和无条件跳转。

1.寄存器的使用

调用者——%eax、%edx、%ecx

被调用者——%ebx%esi%edi

寄存器%ebp-帧指针

寄存器%esp-栈指针

七、遇到的问题及解决

感觉跟上个学期的汇编联系很大,但汇编没学好.....现在看这个比较难过

八、其他

(提示:此处由学生填写,灵感,领悟等)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: