2020.5~2021.5 第1期<软件逆向工程特训>历时12个月
'n>3`1E,
2021.5~2022.7 第2期<软件逆向工程特训>历时14个月,目前已圆满结束,第3期增加了一些新的内容,老师高超的技术水平+周到的交流辅导服务,这可能是最好的线上windows逆向安全培训班! lk
Sz7dr@
2022.9-2023.10 第3期 Vav+$l|j@
2023.10-2025.3 第四期 :ET3&J
L
2025.2-2026.2 第五期(快完结) lE2wkY9^/
2026.4 第六期招生中。。 [)J49
#g-*
n@
1
PPj6QJ]R0
逆向工程存在于各行各业,于IT行业来说,无论是开发还是安全,软件逆向一直充斥着重要的作用,学习软件逆向可以更好的理解甚至反推软件的设计框架、原理、实现思路、解决方案以及软件的操作行为,也是为了更好的做相关正向开发、软件安全和病毒分析,同时也需要掌握很多相关的技术知识点,难度较大,正因如此,逆向工程师人才紧缺,供不应求,薪资待遇处于IT业顶峰! 认真学习本课程、多与老师交流并加以实践将能达到就业水平。 (Q h7bfd
互联网已经全面渗透于各行各业,逆向工程将关系到众多企业乃至国家的安全,所谓懂进攻知防守,精易作为国内最具影响力的PC软件开发社区之一,将带领大家从开发到安全,从正向到逆向,为社会和国家输出更多的安全人才。 mP5d!+[8
课程会着重对基础知识及原理的加固,让大家能够循序渐进,知其然和所以然,课程中将穿插大量的实例和项目以及每节课都会布置作业,只要跟着老师的学习路线,不懂就问,经过1年的实践,定会有所成就。 .J1Hg
H(%] Os
开课日期 培训周期 教学模式 教学费用 (联系方式:QQ 727446985) oQ-|\?{;A
1年左右 直播+录播,周一~周五晚上2小时讲课+2小时答疑交流,白天通过QQ群/群语音交流 32000 限时惊爆价10600元 sjkKaid
'^-4{Y^2E
-u3SsU)_%N
第一章 进制、寄存器与汇编指令(汇编与C语言相结合) 3000元 SqA+u/"j2
学习汇编能做什么(逆向,游戏安全,加固/脱壳,反病毒,漏洞挖掘等等必备基础) :,}:c%-^"
1.1 计算机的基本构造及其运行原理 ]UCk_zWsn1
1.2 不同进制的书写方法 D|Ih e%w-
1.3 为什么计算机要用二进制 +SuUI-.
1.4 不同进制间如何运算1 Z_^Kl76D
1.5 不同进制间如何运算2 Mc$v~|i6
1.6 为什么要用十六进制 iRj x];:Vu
1.7 什么是逻辑运算 lU50.7<08
1.8 计算机的计数与数学计数的区别 Wf`OyeRz
1.9 谁能告诉我计算机有多少通用寄存器 :#W>SO
1.10 安装VC2012/VC6,写简单的汇编 zfr (dQ
1.11 怎么操作汇编指令 3 R:7bex
1.12 什么是内存 N?mY|x\}wK
1.13 寄存器与内存有什么区别 j$mt*z L
1.14 怎么把[ ]里面的值变成地址 .X<"pd*@e
1.15 堆栈的作用。 0LHiOav
1.16 函数的调用过程1 Kz3h]/A.
1.17 函数的调用过程2 qK6
uU9z
1.18 汇编指令运算过程中,出现进位借位,或者溢出该怎么办 21/a3Mlx#
1.19 对寄存器ESI或者EDI操作的指令有哪些 GdfKxSO
1.20 指令和内存有什么联系 m[xf./@f{
1.21 如何用汇编写程序 Z
oNNM4M+
1.22 逆向的起源。什么是内存框架 9a~BAH,j
1.23 用汇编怎么调用函数 G5QgnxwP2
1.24 不用CALL指令,如何调用函数 &J&w4"0N'
考试:用汇编写一个程序 Eip~~2
l=-dK_I?
Z_OqXo=
第二章 C语言(软件开发必备) 2500元 I^(o3B
2.1 C语言有哪些规则,如何赋值 1z};"A
2.2 什么是C语言表达式 Y%?!AmER
2.3 “如果”代表C语言的哪条语句 Bn#HJ17/#
2.4 “如果明天下雨,我不去逛街”该如何用C语言表达 MBYD,v&
2.5 假设(a*4)怎么用移位表达,a向哪边移,移多少 {z[HNSyRs
2.6 C语言有哪些循环语句 Am=PUQF$
2.7 C语言for 语句该如何使用 ?j4,^K3
2.8 什么是C语言变量 ]-s`#
2.9 “现在有相同类型的100个变量”,怎么用一条C语句实现 [>Kxm
2.10 什么是二维数组,二维数组跟一维数组有本质上的区别吗 "$:y03V
2.11 C语言结构体是什么 4Tzu"y
2.12 怎样合理的运用C语言结构体 C@?e`=9(
2.13 C语言变参函数有什么作用 @qhg[=
@
2.14 深刻理解switch 语句1 a+a%}76N
2.15 深刻理解switch 语句2 'xrbg]b%
2.16 C语言宏定义有什么好处 IwgA A)H
2.17 什么是C语言指针, 指针是怎么赋值的 Wn,g!rB^@
2.18 C语言指针和数组有什么区别 o2e h)rtB
2.19 C语言指针是有符号的,还是无符号的 aXK%m
2.20 “void a ;” 这样定义可以吗?什么是空指针 7quwc'!
2.21 指针数组和数组指针分别代表什么 yA>p[F
2.22 指针数组和数组指针的区别在哪里 knK=ENf;e
2.23 怎样定义C语言函数指针 <T_Nlar^^
2.24 C语言函数指针有什么作用 X8l1
xD
2.25 数据结构之单链表 J>|:T
2.26 数据结构之双链表 >'1Q"$;
2.27 数据结构之数组 k2tX$ \E
2.28 数据结构之队列 -WW!V(~p
2.29 数据结构之二叉树 L pi_u
K
项目:学生管理系统或者贪吃蛇小游戏 $5"-s]
7E6?)bgh
08jUVHdt
第三章 C++与MFC/逆向练习 4000元 K?O X
3.1 结构体与类有什么区别 j
&G~;(DY
3.2 封装之this指针的本质 XOU-8;d
3.3 构造函数和析构函数 eg~^wi
3.4 继承有什么好处 (_n8$3T75
3.5 多继承与菱形继承 J%[N-
3.6 纯虚函数和虚函数 -qCJwz30
3.7 多态与虚函数有什么联系 ?>\]%$5o
3.8 虚继承以及析构调用虚函数 <ZvPtW
3.9 函数重载的妙用 V_d%g<n4
3.10 什么是运算符重载 +U/ "F|M
3.11 模板是怎么运用的 cCbr-Z&
3.12 类模板以及命名空间 a3
_0F@I
3.13 容器之string k#r7&Y
3.14容器之vector Y)5uK:)^
3.15 容器之deque nPIR1Z
3.16 容器之list 4!s k3Cw{
3.17 迭代器的用法 +VW]%6+
3.18 输入流和文件流 ?QIQ,?.
3.19set map &fy8,}
3.20 stl之 元素计数以及最小值 zt?w n*_
3.21 函数对象和一元谓词 NizJq*V>
3.22stl之 查找 删除 /sC[5G%
3.23 C++异常 ZG[0rvW
3.24 一个Win32程序的执行过程(消息机制的本质) Vq7
kA "
3.25 win32之创建显示窗口 A`/7>'k/q[
3.26 win32之消息派发流程 5sCky)N
3.27 win32之消息循环及消息函数 oJu
4vGy0
3.28 win32 对话框消息流程 r~Ubgd ]U
3.29 MFC与Win32程序的关系 gGdYh.K&e5
3.30 MFC类层次结构以及消息流程 awW\$Q
3.31 操纵控件的几种方法 WI4_4
3.32 MFC之对话框 <fxjj
3.33 MFC之菜单 +bd{W]={
3.34 MFC之画图 MGC0^voe
3.35 MFC之文本操作 ,Y5 4(>>%
3.36MFC之单文档和多文档 ?#c@Ag%
3.37 C++版本超市管理系统
qmyZbo|8&
@dKf]&h%%
:8L61d2(
数据库:(新增) MmX[xk
1. 数据库的基础 ^t%M
2. 关系数据库的基础 +~{nU'
3. 表的管理和数据类型 n *0F
4. 基础查询 :Du{8rV
5. 创建表,添加和删除 b`Ek;nYek
6. 数据库设计 hgr ,v"
7. 创建数据库 z'K7J'(R
8. 存储过程 $I0a2Z=dP
9. 触发器 J& SuUh<
10. 事务 k+G4<qw
11. 锁 vlyNQ7"%
12. 数据备份和恢复 ~9;mZi1-
13. 数据库的安全性 8A]q!To
`/Jr8J_
F%$Ws>l
SOCKET编程:(新增) $/#)
1. 什么是 socket 128 rly
2. Internet 套接字的两种类型 `l0icfy
3. 网络理论 |wn LxI
4. 结构体 os ud
5. 本机转换 :*%\i' $!/
6. IP 地址和如何处理它们 l+X^x%EA
7. socket()函数 pR7G/]U$A
8. bind()函数 ^O:RS
g9
9. connect()程序 _r)nbQm&
10. listen()函数 oqo8{hrdHk
11. accept()函数 )4~XZt1r
12. send() and recv()函数 G
%/cV?18
13. sendto() 和 recvfrom()函数 Y k6WSurw
14. close()和shutdown()函数 vKLG9ovlY
15. getpeername()函数 d}CMX$1
16. gethostname()函数 GuDD7~qxY
17. 域名服务(DNS) }33Au-%*
18. 客户-服务器背景知识 ;.m[&h 0
19. 简单的服务器 uHh2>Px
20. 简单的客户程序 -xEg"dY/
21. 数据包 Sockets 9.}3RAB(cv
22. 阻塞 1L9
<1
23. select()–多路同步 I/O EHJc*WFPU-
Qn cS&
E0Xu9IW/A
逆向练习: L| qY
1. OD和IDA的基本用法 X
KeK;+
2. C语言全部语法逆向 EqwA8?M
3. C++全部语法逆向 md_s2d
4. 按钮以及其他控件的入口方法 p)]^>-L
5. 逆向窗口程序的通杀方法 [o6<aE-
练习:SOFTICE核心文件逆向 uV\#J{'*
&1n0(qB
l%w|f`B:
第四章 汇编编码 3000元 B|w}z1
.
学习硬编码的好处:(HOOK函数,系统HOOK, 代码变形,VM还原,TMD还原,解释器,调试器必备基础,这就是杀毒软件可以横行的法宝) "d*
机器码,简称汇编编码,俗称硬编码 r2`?Ta
4.0 寄存器 (32位汇编;64位汇编) fP*C*4#X
4.01 汇编指令 j+v)I
=
4.02 堆栈 7cSvAX0Z.
4.03 逆向框架 l
sxii-#O
4.04 函数内部运行机制 ../(gG9
4.1 定长编码 (0x40-0x4f 0x50-0x5f 0x70-0x7f 0x0f 0x80 – 0x0f 0x8f) |'(IWU
4.2 定长编码(0x04-0x07 0x0c-0x0f 0x14-0x17 0x1c-0x1d 0x24-0x27 0x2c-0x2d 0x34-0x37 0x3c-0x3d.)
$>`8'
I
4.3 定长编码 (0x60 0x61 0x90-0x97 0xa8 0xa9 0xb0-0xbf 0xc2 0xc3 0xcc 0xcd 0xd4 0xd5 0xe0-0xe3 0xe8 0xe90 0xf8-0xfd等等) XwGJ 8&N
4.4 硬编码4 (写程序把定长编码打印出来) "q8'tN><