预科班
预科班是为零基础同学开设的新手课程:C语言入门初级培训。想要学习逆向技术但没有学习过编程语言(例如:C/C++/Java/C#等)的同学建议先参加预科班。
预科班采用理论+实践的教学方式,通过结合大量的实际小项目/小游戏,激发学习兴趣,由浅入深教授学习的方法,让学习理论与实践融会贯通,提升基本功及动手能力。
预科班学习时长共:14课次。 | |
|---|---|
C语言 | 01- 入门及C语言概述 |
02- 进制 | |
03- 输入输出、数据类型 | |
04- ASCII表达式分支与循环 | |
05- 函数 | |
06- 数组 | |
07- 字符串处理函数 | |
08- 作用域生命周期,预编译指令 | |
09- 指针 | |
10- 项目-俄罗斯方块/贪吃蛇 | |
11- 非基本数据类型 | |
12- 堆、位运算 | |
13- 文件操作 | |
14- 项目-游戏商店系统 | |
第一阶段:C/C++核心与AI数据基础
夯实底层功底,理解AI数据引擎的底层实现。
核心模块 | |
|---|---|
课程一 | 编译、链接、装载运行的全过程 |
课程二 | 基本数据类型与用户自定义数据类型在内存中的表现形式 |
课程三 | 泛型编程与异常处理机制 |
课程四 | C语言分支语句、循环语句等语句的汇编层次实现原理 |
课程五 | C++中各类语法(糖)的实现原理 |
课程六 | 常用数据结构及其相关算法 |
课程七 | 标准模板库(STL)的使用与源码学习 |
课程八 | 面向对象思想设计:内外存中合理的数据表示,大规模数据的高效操作 |
AI融合 | AI融合:本阶段为AI能力奠基。通过深入理解内存布局、数据结构与算法复杂度,学员将具备AI数据引擎底层优化的能力。项目要求不使用STL及任何第三方代码,强制手写底层实现,这正是AI系统性能调优的核心功底。 |
阶段项目 | 项目:高效数据引擎仿真(AI数据预处理方向)—— 从零实现高性能数据引擎,为AI数据流水线打下底层基础 |
阶段寄语:此阶段既是后续阶段的铺垫,也是学员真正理解计算机语言的开端。掌握后,学员将不再挑剔编程语言与框架——抛去表面的“语法糖”后,从原理上它们都是同一回事。
第二阶段:系统开发与AI工程实践
掌握全栈开发,具备AI工具开发与AI项目落地能力。
课程一 | Windows 编程
AI融合:AI逆向分析工具开发 —— 在Windows编程中融入AI辅助分析工具的设计与实现 |
课程二 | QT 程序设计
AI融合:AI项目开发 —— 基于QT框架开发AI辅助工具与智能应用 |
课程三 | 网络编程
AI融合:AI网络编程、AI协议分析 —— 利用AI技术进行网络流量分析与协议智能识别 |
课程四 | 数据库
AI融合:AI开发 —— 结合AI进行数据库智能查询优化与安全分析 |
课程五 | Android 开发
AI融合:AI项目开发 —— Android平台AI应用集成与智能功能开发 |
阶段项目 | |
|---|---|
项目一 | 项目:自制CAD软件 —— DC概念及使用、双缓冲机制、设计模式:类工厂、命令模式、插件模式 |
项目二 | 项目:自制任务管理器 —— 查看进程/线程状态、修改指定进程内存、查看各窗口信息 |
项目三 | 项目:C/S结构聊天室软件 —— 私聊、公聊、账号/昵称管理 |
项目四 | 项目:远程监控软件 —— 实现远程监控功能 |
项目五 | 项目:远程信息管理系统 —— 缓存机制、线程池机制、三层网络通信架构 |
阶段寄语:第二阶段的核心目的是提高学员的开发能力。一个优秀的逆向人员,一定深谙软件开发技巧。本阶段所学习的知识与技巧均可直接帮助真实工作。学习完此阶段,进可一鼓作气学习逆向,退可拿开发offer先工作。
第三阶段:逆向工程与AI安全对抗
精通逆向分析,掌握AI反混淆、AI脱壳、AI漏洞挖掘等前沿技术。
课程一 | 汇编编程
AI融合:AI分析工具编程 —— 利用AI辅助汇编代码分析与行为识别 |
课程二 | 调试器
AI融合:AI调试分析工具开发 —— 软件行为自动智能分析 |
课程三 | PE 文件格式
AI融合:AI分析工具开发 —— 基于AI的PE文件智能解析与恶意特征提取 |
课程四 | 壳技术
AI融合:AI反混淆技术、AI脱壳技术 —— 利用深度学习与模式识别实现智能脱壳与反混淆 |
课程五 | 逆向 IDA
AI融合:AI逆向分析与验证技术、AI恶意代码分析技术 —— 智能识别恶意行为与代码意图 |
课程六 | QT 原理
AI融合:AI逆向分析工具开发 —— 针对大型框架的AI辅助逆向分析 |
课程七 | ShellCode
AI融合:AI漏洞挖掘 —— 利用AI进行漏洞模式识别与自动化挖掘 |
课程八 | Windows 内核
AI融合:AI内核编程技术 —— AI与内核安全的交叉融合 |
课程九 | Android 逆向
AI融合:移动端AI逆向分析与验证技术、AI固件逆向分析技术 |
课程十 | Android 加固技术
AI融合:移动端AI反混淆技术、AI脱壳技术 —— 面向移动端的智能脱壳与反混淆 |
阶段项目 | |
|---|---|
项目一 | 项目:API内联HOOK —— 通过内联HOOK实现对某个API的监控,并将监控信息写文件 |
项目二 | 项目:内存Dump —— 从内存中Dump出指定程序,修复导入表等,得到可正常运行的exe文件 |
项目三 | 项目:PE解析软件 —— 解析PE格式,支持RVA/VA/偏移转换、节信息、导入表、导出表、资源表等 |
项目四 | 项目:手写PE文件 —— 利用十六进制编辑器纯手工写一个可正常运行并显示欢迎界面的exe文件 |
项目五 | 项目:分析WinDbg某功能 —— 通过调试分析WinDbg命令窗口大量文字刷新不闪烁的技术核心 |
项目六 | 项目:自己编写调试器 —— 三环调试器,支持单步、过步、内存断点、反汇编指令、查看/修改内存、记录运行指令等功能 |
项目七 | 项目:加壳工具实现 —— 实现自定义加壳工具 |
项目八 | 项目:代码反混淆 —— 代码反混淆实战 |
项目九 | 项目:逆向分析代码 —— 逆向分析实战 |
项目十 | 项目:逆向分析工具 —— 逆向分析工具编写实战 |
项目十一 | 项目:漏洞利用 —— 漏洞利用实战 |
项目十二 | 项目:ARK工具 —— 编写内核ARK工具,查看进程、线程、窗口信息,对指定进程内存进行查看与修改 |
项目十三 | 项目:Android逆向分析实战 —— Android软件逆向分析实战 |
项目十四 | 项目:Android壳实战 —— Android CrackMe实战 |
阶段寄语:第三阶段重在方法,授人以渔,不重剑招,但重剑意。学习完这个阶段,可以了解C/C++特性的底层机制,可以从有限的时间中推导出各类操作系统、流行框架解决问题的基石。精修此阶段,有望达到“草木竹石,皆可为剑”的高层境界。