乐于分享
好东西不私藏

一本恶意软件分析速成课程

一本恶意软件分析速成课程

一本恶意软件分析速成课程

分享一本恶意软件分析速成课程,每一步都有详细的说明,非常适合0基础想学习ida、学习逆向的安全员。

地址:

https://docs.google.com/document/d/1I83PHeEImWacuQut02VBlkJ2-CJcuTYmt6mxa_xGqlA/edit?usp=sharing

目录:

第一章:x86 基础知识

  • • 汇编与反汇编 (Assembly & Disassembly)
  • • 数据类型
  • • x86 寄存器
  • • 指令基础知识
    • • 移动 (MOV)
    • • 取反 (NOT/NEG)
  • • 使用 IDA 破解汇编语言
  • • 算术指令
  • • 位运算指令
  • • 访问内存
    • • 内存操作数
    • • LEA (加载有效地址)

第二章:堆栈 (The Stack)

  • • 堆栈原理
  • • PUSH 指令
  • • POP 指令

第三章:基本流控制

  • • JMP (跳转)
  • • 交叉引用 (Cross-References)
  • • CALL (调用)
  • • RET (返回)
  • • 函数调用原理
  • • 字符串处理

第四章:函数结构

  • • 堆栈帧 (Stack Frames)
  • • 函数参数与局部变量
  • • 调用约定 (STDCALL 与 CDECL)
  • • 局部变量深入理解
  • • 全局变量深入理解

第五章:条件分支

  • • 条件分支原理
  • • 比较指令:CMP 与 TEST
  • • 常见条件跳转 (Conditional Jumps)
  • • 轻松理解条件分支
  • • If 语句的汇编实现
  • • 使用 IDA 进行静态分析
  • • 实验室 - apple.exe
    • • 样本信息
    • • 实验目标
    • • 问题
  • • 实验室 - bomb.exe
    • • 样本信息
    • • 实验目标
    • • 问题

第六章:调试技巧

  • • 强制执行代码
  • • 跳转修补 (Jumper Patching)
  • • NOP'ing-Out 指令 (指令擦除)

第七章:中级反汇编

  • • 指针与内存
  • • 乘法指令 (MUL 与 IMUL)
  • • 数组
  • • 循环结构
  • • 字符串指令:MOVS, STOS, SCAS
  • • 指令重复前缀:REP, REPE/REPZ, REPNE/REPNZ
  • • 内联函数 (Intrinsic Functions)
  • • 结构体 (Structures)
  • • Switch 语句与跳转表
  • • 实验室 - guesser.exe
    • • 样本信息
    • • 实验目标
    • • 问题

第八章:x86-64 汇编

  • • x86-64 主寄存器
  • • x86-64 调用约定:__fastcall
  • • x86-64 堆栈约定与函数帧
  • • 多字节 NOP 指令
  • • MOVSX 与 MOVZX
  • • 实验室 - quizshow.exe
    • • 样本信息
    • • 实验目标
    • • 问题

第九章:逆向工程 Windows 二进制文件

  • • Windows API 函数
  • • Windows 数据类型与数据结构
  • • 匈牙利命名法 (Hungarian Notation)
  • • 阅读 Windows API 函数原型
  • • 句柄 (Handles)
  • • Windows API 命名约定
  • • 文件 API 工作流
  • • Windows 注册表
  • • 注册表 API 工作流
  • • 进程创建概述
  • • DLL 函数用法
  • • Windows 网络编程
  • • 实验室 - encstrings.exe
    • • 样本信息
    • • 实验目标
    • • 问题

附录

实验室解决方案

  • • apple.exe 解决方案
    • • 简答题 / 详细分析
  • • bomb.exe 解决方案
    • • 简答题 / 详细分析
  • • guesser.exe 解决方案
    • • 简答题 / 详细分析
  • • quizshow.exe 解决方案
    • • 简答题 / 详细分析
  • • encstrings.exe 解决方案
    • • 简答题 / 详细分析

测验与练习题答案

  • • 闪电测验答案
    • • 继续前进 / 争论 / 跳跃咖啡厅 / 给我的激光器充能
  • • 练习题答案
    • • 添加值 (Add Values)
    • • 牛肉公司 (Beef Corp)
    • • 赢 (Win)
    • • 牛肉读者 (Beef Reader)
    • • 推推乐 (Pushy)
    • • 堆栈抓取 (Stack Grab)
    • • 套头衫 (Jumper)
    • • 困 / 太困了 (Sleepy / So Sleepy)
    • • funky_print
    • • 睡眠不足 (Sleep Deprived)
    • • loopy_printer
    • • 小凯撒 (Little Caesar)
    • • 波因德克斯特 (Poindexter)
    • • 奶酪棒 (Cheese Stick)
    • • structs_make_bucks
    • • 椰子里的青柠 (Lime in the Coconut)
    • • 末日提示 (Tip of the Doom)

部分截图