51ASM / EXPLORE & LEARN

课程体系

预科班

预科班是为零基础同学开设的新手课程: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 编程

  • Windows SDK 窗口编程、消息驱动机制、对话框编程、控件编程

  • 静态库、动态库的使用;配置文件、注册表编程

  • 多线程编程、进程间通讯;代码注入技术

AI融合:AI逆向分析工具开发 —— 在Windows编程中融入AI辅助分析工具的设计与实现

课程二

QT 程序设计

  • 信号槽机制、对象树、对象属性系统

  • 字符串翻译机制、事件和事件过滤器

  • 动态对象转换机制、插件设计等核心技术的原理及实现

AI融合:AI项目开发 —— 基于QT框架开发AI辅助工具与智能应用

课程三

网络编程

  • 网络基础知识、Socket编程、网络协议

  • 可靠UDP协议、网络抓包、协议分析

  • 池技术、网络模型

AI融合:AI网络编程、AI协议分析 —— 利用AI技术进行网络流量分析与协议智能识别

课程四

数据库

  • 数据库基础理论、SQL语言、MySQL

  • SQL注入原理与防护

AI融合:AI开发 —— 结合AI进行数据库智能查询优化与安全分析

课程五

Android 开发

  • 环境配置、四大组件、GUI、GDI、事件、持久化、网络、APK结构

  • NDK开发、编译环境配置、文件、进程、线程、动态库、进程通信、JNI

AI融合:AI项目开发 —— Android平台AI应用集成与智能功能开发

阶段项目

项目一

项目:自制CAD软件 —— DC概念及使用、双缓冲机制、设计模式:类工厂、命令模式、插件模式

项目二

项目:自制任务管理器 —— 查看进程/线程状态、修改指定进程内存、查看各窗口信息

项目三

项目:C/S结构聊天室软件 —— 私聊、公聊、账号/昵称管理

项目四

项目:远程监控软件 —— 实现远程监控功能

项目五

项目:远程信息管理系统 —— 缓存机制、线程池机制、三层网络通信架构

阶段寄语:第二阶段的核心目的是提高学员的开发能力。一个优秀的逆向人员,一定深谙软件开发技巧。本阶段所学习的知识与技巧均可直接帮助真实工作。学习完此阶段,进可一鼓作气学习逆向,退可拿开发offer先工作。

第三阶段:逆向工程与AI安全对抗

精通逆向分析,掌握AI反混淆、AI脱壳、AI漏洞挖掘等前沿技术。

课程一

汇编编程

  • 硬件理解、汇编指令系统、汇编指令格式

  • 反汇编引擎、花指令

  • 汇编代码注入技术、汇编代码hook技术

  • 联合与内联汇编、异常处理、反调试技术

AI融合:AI分析工具编程 —— 利用AI辅助汇编代码分析与行为识别

课程二

调试器

  • Windows异常处理框架

  • Windows系统的调试框架

AI融合:AI调试分析工具开发 —— 软件行为自动智能分析

课程三

PE 文件格式

  • PE文件格式及其在技术对抗中的利用

  • 壳的原理与识别

AI融合:AI分析工具开发 —— 基于AI的PE文件智能解析与恶意特征提取

课程四

壳技术

  • 壳的发展历史、压缩壳/加密壳/VMP壳的实现和原理

  • 代码混淆与反混淆技术、frida的使用

AI融合:AI反混淆技术、AI脱壳技术 —— 利用深度学习与模式识别实现智能脱壳与反混淆

课程五

逆向 IDA

  • IDA的使用;算术运算及编译器优化;逻辑运算;流程控制语句

  • 字符串操作、对象特征、虚表等汇编语句的识别与还原

AI融合:AI逆向分析与验证技术、AI恶意代码分析技术 —— 智能识别恶意行为与代码意图

课程六

QT 原理

  • 深入了解MFC/QT框架的设计原理

AI融合:AI逆向分析工具开发 —— 针对大型框架的AI辅助逆向分析

课程七

ShellCode

  • Windows漏洞挖掘与利用技术

AI融合:AI漏洞挖掘 —— 利用AI进行漏洞模式识别与自动化挖掘

课程八

Windows 内核

  • 内核驱动开发、内核编程入门;操作系统原理、内核安全攻防

  • 过滤驱动、PG原理、VT原理

AI融合:AI内核编程技术 —— AI与内核安全的交叉融合

课程九

Android 逆向

  • Android程序逆向分析技术、重打包技术、调试技术

  • 代码注入与反调试技术、C/C++代码逆向分析技术

AI融合:移动端AI逆向分析与验证技术、AI固件逆向分析技术

课程十

Android 加固技术

  • Android加固技术发展;一至五代壳加固技术的原理与实现

  • 代码混淆与反混淆技术;Android检测技术:反调试、反注入、Root、Hook

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++特性的底层机制,可以从有限的时间中推导出各类操作系统、流行框架解决问题的基石。精修此阶段,有望达到“草木竹石,皆可为剑”的高层境界。

文章

x86软件安全

介绍 x86 软件安全实训的招生要求与三阶段课程安排,涵盖 C/C++、数据结构、数据库、Windows 开发、汇编和逆向分析,并列出各阶段课时与实践项目。

阅读内容
文章

Android软件安全

介绍科锐 Android 软件安全课程的培养目标和教学体系,涵盖 Java 开发、NDK、ARM 汇编及 Android 逆向分析,并说明配套实践项目与毕业设计。

阅读内容