泰晓科技 -- 聚焦 Linux - 追本溯源,见微知著!
网站地址:https://tinylab.org

泰晓RISC-V实验箱,转战RISC-V,开箱即用
请稍侯

软件逆向工程初探直播课已剪辑并发布,可订阅回看

Wu Zhangjin 创作于 2021/05/01

By Falcon of TinyLab.org May 01, 2021

软件逆向工程初探 课程宣传图

适合人群

有一定 C 语言基础及 x86 汇编语言基础,期望了解及学习 Linux 操作系统环境下软件逆向技术的同学及软件工程师。

软件逆向技术在常规的开发过程中也会经常使用到,如调试程序及代码优化等。

学习目标

通过本课程的学习,了解软件逆向工程的基本概念,掌握开展软件逆向工程所需的相关技术、流程和方法,通过实验示例实操掌握 C 语言基本数据结构与分支流程生成汇编语言的规律特点,最终独立完成简单 C 程序的逆向分析。

老师简介

“loyou”老师 , 从事过五年的软件逆向工程研究,后回归到 Linux 内核分析领域,曾就职于三星通信研究院负责三星 Android 手机稳定性分析工作,后就职于某云计算公司负责云平台内核及虚拟化相关的研发工作。

详细介绍

该课程为 2021 年 4 月17 日举办的第 4 期线上“泰晓沙龙-直播课堂”技术交流活动。

课程含直播部分的精心剪辑,根据软件逆向工程的定义:“从可运行的程序系统出发,运用解密、反汇编、系统分析、程序理解等多种计算机技术,对软件的结构、流程、算法、代码等进行逆向拆解和分析,推导出软件产品的源代码、设计原理、结构、算法、处理过程、运行方法及相关文档等”,从可执行文件进行结构解析,可执行代码解析,反汇编,再工程等四个内容详细的开展逆向工程所需要的技术及流程,并通过动手实验来加深技术的掌握。

ELF和PE二进制文件格式作为本课程的预备知识 ,建议按需同步学习:

课程大纲

一、基本概念

  1. 什么是逆向工程
  2. 什么是软件逆向工程
  3. 逆向工程合法么

二、如何开展软件逆向工程

  1. 可执行文件结构解析
    • 格式解析(实验 e1)
    • 壳(实验 e2)
  2. 可执行代码解析
    • 汇编语言(实验 e3)
    • 反汇编(实验 e4)
  3. 反编译
    • 识别高级语言编译器
    • 反编译成高级语言
    • 反编译技能学习方式
    • 变量识别(实验 e5-1)
    • 函数参数及返回值识别(实验 e5-2)
    • 条件分支识别(实验 e5-3)
    • 编译优化(实验 e5-4)
  4. 再工程(实验 e6)

三、继续深入学习软件逆向工程

  1. 参考网站及参考书籍
  2. 问答环节

报名方式

可微信扫码报名或直接点击报名页面:软件逆向工程初探

逆向课程二维码

欢迎免费订阅“泰晓沙龙-直播课堂”,更多直播课程在等你:https://www.cctalk.com/m/group/89433087



Read Album:

Read Related:

Read Latest: