当前课程知识点:计算机病毒分析(慕课) >  第五章、x86反汇编 >  5.1 逆向工程 >  5.1 逆向工程

返回《计算机病毒分析(慕课)》慕课在线视频课程列表

5.1 逆向工程在线视频

5.1 逆向工程

5.1知识点:逆向工程

1.计算机系统的抽象层次

硬件

微指令

机器码

低级语言

高级语言

解释型语言

 

硬件:硬件层是唯一一个物理层,由电子电路组成。

XOR门、AND门、和NOT门等逻辑运算器的复杂组合,称为数字逻辑。

由于物理特性,硬件很难被软件操作。

 

微指令:微指令层又称为固件。微指令只能在为它设计的特定电路上执行。这层由一些微指令构成,它们从更高的机器码层翻译而来,提供了访问硬件的的接口。

病毒分析时,通常不关心微指令,因为微指令是为特定的计算机硬件设计的。

 

机器码:机器码层由操作码组成,操作码是一些十六进制形式的数字,用于告诉处理器你想它做什么。

机器码一般由多条微指令实现,这样底层硬件就能实际执行代码了。而机器码本身又由高级语言编写的程序编译而来。

 

高级语言:大部分程序员使用高级语言。

高级语言对机器层做了很强的抽象,从而可以轻松地使用程序逻辑和流控制机制。

高级语言包括C、C++等。它们被一个编译器经过称为编译的过程转化为机器码。

 

解释型语言:解释型语言位于最高层。

很多程序员使用诸如C#、Perl、NET、Java等解释语言。

这一层的代码不会被编译为机器码。而是被翻译为了字节码。

 

 

 

低级语言:低级语言是计算机体系结构指令集的人类易读版本,主要是汇编语言。

恶意代码分析师使用这一层,因为对人来说,机器码太难理解了。

我们使用反汇编器来生成低级语言的文本,这些文本由一些简单的助记符组成,如mov和jmp。汇编语言存在一些不同的语法。

 

2.逆向工程

恶意代码存储在磁盘上时,通常是机器码层的二进制形式。前面提到,机器码是一种计算机可以高效执行的代码形式。而我们的反汇编恶意代码,就是使用反汇编器,将恶意代码二进制文件作为输入,输出汇编语言代码。


*不同的CPU,汇编指令是不一致的

x86 – 32-bit Intel 最常用的指令集

x64 – 64-bit Intel

SPARC, PowerPC, MIPS, ARM

Windows 、Linux操作系统运行在x86 or x64指令集上

x64 系统可以运行x86 的程序

*大部分计算机病毒是针对的x86指令集

 

 

 


下一节:5.2 x86体系结构

返回《计算机病毒分析(慕课)》慕课在线视频列表

计算机病毒分析(慕课)课程列表:

第一章、计算机病毒分析概论

-1.1 计算机病毒的定义和类型

--计算机病毒的定义和类型

-1.2 计算机病毒分析的目标

--计算机病毒分析的目标

-1.3 计算机病毒分析技术概述

--计算机病毒分析技术概述

-第一单元习题

第二章、静态基础分析技术

-2.1 杀毒软件

--2.1 杀毒软件

-2.2 哈希值:恶意代码指纹

--2.2 哈希值:恶意代码指纹

-2.3 特征字符串

--2.3 特征字符串

-2.4 加壳与混淆

--2.4 加壳与混淆

-2.5 PE文件格式

--2.5 PE文件格式

-2.6 链接库与函数

--2.6 链接库与函数

-第二单元习题

-实验报告

第三章、虚拟机中分析计算机病毒

-3.1 虚拟机的结构

--3.1 虚拟机的结构

-3.2 创建虚拟机

--3.2 创建虚拟机

-3.3 使用虚拟机

--3.3 使用虚拟机

-第三单元习题

第四章、动态基础分析技术

-4.1 沙箱分析

--4.1 沙箱分析

-4.2 运行病毒和进程监视

--4.2 运行病毒和进程监视

-4.3 Process Explorer和Regshot

--4.3 Process Explorer和Regshot

-4.4 网络模拟

--4.4 网络模拟

-第四单元习题

-实验报告

第五章、x86反汇编

-5.1 逆向工程

--5.1 逆向工程

-5.2 x86体系结构

--5.2 x86体系结构

-5.3 CPU寄存器

--5.3 CPU寄存器

-5.4 汇编指令

--5.4 汇编指令

-5.5 栈操作

--5.5 栈操作

-第五单元习题

第六章、IDA Pro

-6.1 加载可执行文件

--6.1 加载可执行文件

-6.2 IDA Pro窗口

--6.2 IDA Pro的窗口

-6.3 IDA Pro 导航

--6.3 IDA Pro导航

-6.4 交叉引用

--6.4 交叉引用

-6.5 函数分析

--6.5 函数分析

-6.6 使用图形选项

--6.6 使用图形选项

-6.7 增强反汇编

--6.7 增强反汇编

-第六单元练习

-实验报告

第七章、识别汇编中的C语言代码结构

-7.1 识别汇编中的C语言代码结构

--7.1 识别汇编中的C语言代码结构

-7.2 识别if分支结构

--7.2 识别if分支结构

-7.3 识别循环

--7.3 识别循环

-7.4 识别函数调用

--7.4 识别函数调用

-7.5 识别switch结构

--7.5 识别switch结构

-7.6 识别数组、结构体、链表

--7.6 识别数组、结构体、链表

-第七单元练习

-实验报告

第八章、分析恶意Windows程序

-8.1 Windows API

--8.1 Windows API

-8.2 Windows 注册表

--8.2 Windows注册表

-8.3 网络API

--8.3 网络API

-8.4 跟踪病毒运行

--8.4 跟踪病毒运行

-8.5 互斥量

--8.5 互斥量

-8.6 异常处理、模式、Native API

--8.6 异常处理、模式、Native API

-第八单元练习

-实验报告

第九章、动态调试

-9.1 调试器介绍

--9.1 调试器介绍

-9.2使用调试器

--9.2 使用调试器

-9.3使用断点暂停执行

--9.3 使用断点暂停执行

-9.4 断点类型

--9.4 断点类型

-9.5异常

--9.5 异常

-9.6调试器修改可执行文件

--9.6 调试器修改可执行文件

-第九单元练习

第十章、Ollydbg

-10.1 Ollydbg加载恶意代码

--10.1 Ollydbg加载恶意代码

-10.2 Ollydbg的窗口

--10.2 Ollydbg的窗口

-10.3 内存映射

--10.3 内存映射

-10.4 查看线程、栈、代码

--10.4 查看线程、栈、代码

-10.5 断点

--10.5 断点

-10.6加载DLL、跟踪

--10.6 加载DLL、跟踪

-10.7异常处理、修补

--10.7 异常处理、修补

-10.8分析shellcode、协助功能

--10.8 分析shellcode、协助功能

-10.9插件、脚本调试

--10.9插件、脚本调试

-第十单元练习

-实验报告

第十一章、使用WinDbg调试内核

-11.1驱动与内核代码

--11.1驱动与内核代码

-11.2使用WinDbg

--11.2 使用WinDbg

-11.3微软符号表

--11.3 微软符号表

-11.4内核调试

--11.4 内核调试实践

-11.5Rootkit

--11.5 Rootkit

-第十一单元作业

第十二章、恶意代码行为分析

-12.1下载器、启动器和后门

--12.1下载器、启动器和后门

-12.2远程控制和僵尸网络

--12.2 远程控制和僵尸网络

-12.3登录凭证窃密器

--12.3 登录凭证窃密器

-12.4存活机制和windows注册表

--12.4 存活机制和windows注册表

-12.5特洛伊木马化二进制文件

--12.5特洛伊木马化二进制文件

-12.6DLL加载顺序劫持

--12.6 DLL加载顺序劫持

-12.7权限提升与用户态Rootkit

--12.7权限提升与用户态Rootkit

-第十二章练习

第十三章、病毒的隐蔽启动

-13.1启动器与进程注入

--13.1 启动器与进程注入

-13.2进程替换

--13.2 进程替换

-13.3Hook注入

--13.3 Hook注入

-13.4Detours与APC注入

--13.4Detours与APC注入

-第十三单元练习

第十四章、数据加密

-14.1加密算法的目的和简单的加密算法

--14.1加密算法的目的和简单的加密算法

-14.2简单的加密策略

--14.2 简单的加密策略

-14.3常见的加密算法

--14.3 常见的加密算法

-14.4自定义加密

--14.4 自定义加密

-14.5解密

--14.5 解密

-第十四单元练习

期末考试

-期末考试

勒索病毒防治方法的讨论

-勒索病毒的讨论

5.1 逆向工程笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。