第一章 进制、寄存器与汇编指令(汇编与C语言相结合) 3000元 u(z$fG:g
学习汇编能做什么(逆向,游戏安全,加固/脱壳,反病毒,漏洞挖掘等等必备基础) k$
4y9{
1.1 计算机的基本构造及其运行原理 @:oXN]+
_
1.2 不同进制的书写方法 Ot4 Z{mA
1.3 为什么计算机要用二进制 b)6D_Az7c
1.4 不同进制间如何运算1 Yxr>"KH6a
1.5 不同进制间如何运算2 T:27r8"Rh
1.6 为什么要用十六进制 v"y-0$M
1.7 什么是逻辑运算 A!od9W6
1.8 计算机的计数与数学计数的区别 Y>dF5&(kb
1.9 谁能告诉我计算机有多少通用寄存器 5dx$HE&b)
1.10 安装VC2012/VC6,写简单的汇编 &W|[r(
1.11 怎么操作汇编指令 iN bIp"W
1.12 什么是内存 =2`[&
1.13 寄存器与内存有什么区别 Kr?TxhUHd
1.14 怎么把[ ]里面的值变成地址 n<Z({\9&H
1.15 堆栈的作用。 tIWmp30S
1.16 函数的调用过程1 |6.l7u?d
1.17 函数的调用过程2 {j{u6i
1.18 汇编指令运算过程中,出现进位借位,或者溢出该怎么办 8o3E0k1
1.19 对寄存器ESI或者EDI操作的指令有哪些 NxkGOAOE
1.20 指令和内存有什么联系 fe\mL mK9
1.21 如何用汇编写程序
=ElO?9&
1.22 逆向的起源。什么是内存框架 DBo%fYst
1.23 用汇编怎么调用函数 |)IlMG
1.24 不用CALL指令,如何调用函数 2]z8:a
考试:用汇编写一个程序 X2#2C/6#u
K?6jXJseb
第二章 C语言(软件开发必备) 2500元 "Bh}}!13
2.1 C语言有哪些规则,如何赋值 /
kF)
2.2 什么是C语言表达式 W\>fh&!)
2.3 “如果”代表C语言的哪条语句 j
b!x:
2.4 “如果明天下雨,我不去逛街”该如何用C语言表达 >BV^H.SO|1
2.5 假设(a*4)怎么用移位表达,a向哪边移,移多少 S8kCp;
2.6 C语言有哪些循环语句 'F/~o1\.
2.7 C语言for 语句该如何使用 G~F b
2.8 什么是C语言变量 _('=b/
2.9 “现在有相同类型的100个变量”,怎么用一条C语句实现 qEyyT[:
2.10 什么是二维数组,二维数组跟一维数组有本质上的区别吗 Z_LFIz*c
2.11 C语言结构体是什么 'f#{{KA
2.12 怎样合理的运用C语言结构体 ts,ZvY]
2.13 C语言变参函数有什么作用 V><,UI=,n
2.14 深刻理解switch 语句1 RFi
S@.7
2.15 深刻理解switch 语句2 >"??!|XG^
2.16 C语言宏定义有什么好处 +>8'mf
2.17 什么是C语言指针, 指针是怎么赋值的 xipU8'ac/
2.18 C语言指针和数组有什么区别 0CWvYC%e
2.19 C语言指针是有符号的,还是无符号的 1XrO~W\=
2.20 “void a ;” 这样定义可以吗?什么是空指针 &y
ct!YOB2
2.21 指针数组和数组指针分别代表什么
zN[hkmh
2.22 指针数组和数组指针的区别在哪里 ?j'7l=94A
2.23 怎样定义C语言函数指针 ;!>rnxB?4
2.24 C语言函数指针有什么作用 x,'(5*
2.25 数据结构之单链表 iJ ($YvF4
2.26 数据结构之双链表 x!?u^
2.27 数据结构之数组 3$jT*OyG#
2.28 数据结构之队列 )cX*I gO
2.29 数据结构之二叉树 9>=;FY
项目:学生管理系统或者贪吃蛇小游戏 g&^quZ"H
+G$4pt|=
]{sU&GqBLe
]tim,7s
?U%qPv:
第三章 C++与MFC/逆向练习 4000元 ?1*cO:O
3.1 结构体与类有什么区别 [meO[otb
3.2 封装之this指针的本质 )Oq|amvC
3.3 构造函数和析构函数 7LfA
aj
3.4 继承有什么好处 2Sle#nw3
3.5 多继承与菱形继承 sZ3KT&
3.6 纯虚函数和虚函数 S50k>_a;
3.7 多态与虚函数有什么联系 zUt'QH7E.
3.8 虚继承以及析构调用虚函数 h8x MI
3.9 函数重载的妙用 e|g5=2(Pr&
3.10 什么是运算符重载 IDad9 Bx
3.11 模板是怎么运用的 kVuUjP6(c
3.12 类模板以及命名空间 fJ=0HNmX
3.13 容器之string l^!
?@Kg,z
3.14容器之vector )1Y{Q Y}l
3.15 容器之deque *1ilkmL%
3.16 容器之list |5X^u+_
3.17 迭代器的用法 VRVO-Sk
3.18 输入流和文件流 .Hescg/S
3.19set map \Q {m9fE
3.20 stl之 元素计数以及最小值 m~w[~flgZ
3.21 函数对象和一元谓词 %h hfU6[
3.22stl之 查找 删除 ]RwpX ^ 1
3.23 C++异常 o5u3Fjz3
3.24 一个Win32程序的执行过程(消息机制的本质) |-b#9JQ[A
3.25 win32之创建显示窗口 *2ZjE!A
3.26 win32之消息派发流程 ZAW^/bo<
3.27 win32之消息循环及消息函数 T"(&b~m2b4
3.28 win32 对话框消息流程 _no/F2>!/n
3.29 MFC与Win32程序的关系 FXpJqlhNv
3.30 MFC类层次结构以及消息流程 GiJ *Wp
3.31 操纵控件的几种方法 i"1Mfz~e
3.32 MFC之对话框 aH yx_B
3.33 MFC之菜单 Vouvr<43o
3.34 MFC之画图 2VPdw@"~}
3.35 MFC之文本操作 *zaQx+L
3.36MFC之单文档和多文档 k
9_`(nx
3.37 C++版本超市管理系统 ^dI424
v|Pv 03%?7
9d>-MX
'
n|6Ic,:[
%gInje
数据库:(新增) t DO=P
c
1. 数据库的基础 pg6cF
2. 关系数据库的基础 Z@yW bjE7Z
3. 表的管理和数据类型 ]dF
,:8
4. 基础查询 <S5BDk
5. 创建表,添加和删除 DKH-Q(M56
6. 数据库设计 n#c
C+>*>+
7. 创建数据库 rExnxQ<e
8. 存储过程 gLb`pCo/
9. 触发器 imVo<Je7z(
10. 事务 "0$a)4]
11. 锁 >;jZa
12. 数据备份和恢复 |+{)_?
13. 数据库的安全性
&U{#Kt5q
gx-2v|pZ
SOCKET编程:(新增) vXev$x=w-
1. 什么是 socket 2d>z1%'
2. Internet 套接字的两种类型
_Mi5g_
3. 网络理论 2kqu p)82e
4. 结构体 a f6M,{F
5. 本机转换 _aq8@E~
6. IP 地址和如何处理它们 Vo4,@scG
7. socket()函数 pXtl
6K%
8. bind()函数 y>S.?H:P
9. connect()程序 @Rg/~\ K
10. listen()函数 {Je[ZQ$
11. accept()函数 N'F77
.
12. send() and recv()函数 t
Cw<Ip
13. sendto() 和 recvfrom()函数 3t.l5m
Rg5
14. close()和shutdown()函数 +[Dx
?XM
15. getpeername()函数 M
+-*QyCFK
16. gethostname()函数 adlV!k7RG
17. 域名服务(DNS) -TLlwxc^%
18. 客户-服务器背景知识 s'3
s^Dd
19. 简单的服务器 We)xB
20. 简单的客户程序 XUrXnz|>
21. 数据包 Sockets T!uM+6|Y
22. 阻塞 Lk|hQ
23. select()–多路同步 I/O !'Ak&j1:`
''|W9!
2Zm0qJ
GmK^}=frj
%Wg'i!?cB
逆向练习: *=) cQeJ
1. OD和IDA的基本用法 LhN|1f:9:
2. C语言全部语法逆向 nz%DM<0$
3. C++全部语法逆向 C=-=_>Q,L<
4. 按钮以及其他控件的入口方法 3W V"U
5. 逆向窗口程序的通杀方法 3\AU 72-
练习:SOFTICE核心文件逆向 .28<tEf
5b5x!do
c7 ?_46J
O8^A5,2@3>
6d:zb;Iz
第四章 汇编编码 3000元 %Celc#v
学习硬编码的好处:(HOOK函数,系统HOOK, 代码变形,VM还原,TMD还原,解释器,调试器必备基础,这就是杀毒软件可以横行的法宝) /pm]BC
机器码,简称汇编编码,俗称硬编码 97Lte5c6r
4.0 寄存器 (32位汇编;64位汇编) Cwr~HY
4.01 汇编指令 _ "E$v&_
4.02 堆栈 .b_)%jd x
4.03 逆向框架 A4Ru g\p]
4.04 函数内部运行机制 qjc8fP2
4.1 定长编码 (0x40-0x4f 0x50-0x5f 0x70-0x7f 0x0f 0x80 – 0x0f 0x8f) Y&`=jDI
4.2 定长编码(0x04-0x07 0x0c-0x0f 0x14-0x17 0x1c-0x1d 0x24-0x27 0x2c-0x2d 0x34-0x37 0x3c-0x3d.) \-L&5x"x
4.3 定长编码 (0x60 0x61 0x90-0x97 0xa8 0xa9 0xb0-0xbf 0xc2 0xc3 0xcc 0xcd 0xd4 0xd5 0xe0-0xe3 0xe8 0xe90 0xf8-0xfd等等) U1Q:= yD
4.4 硬编码4 (写程序把定长编码打印出来) Yy5h"r
4.5 硬编码5 (写程序把定长编码打印出来) 57aXQ8u{
4.6 变长编码 (0x88 0x89 0x8a 0x8b) iyN:%ofh
4.7 变长编码 (0x88 0x89 0x8a 0x8b) 02Y]`CXj
4.8 变长编码 (0x00-0x03 0x08-0x0b 0x10-0x13 0x18-0x1b 0x20-0x23 0x2b-0x2b 0x30-0x33 0x38-0x3b ) M\vwI"
4.9 变长编码 (0x84-0x87 0x8c-0x8e 等等) Y=%tn8<
4.10 写程序把变长编码打印出来 q$p%ZefZ
4.11 写程序把变长编码打印出来 +\x,HsUc"
4.12 写程序把变长编码打印出来 [<7@{
;r
4.13 前缀 (0x26 0x2e 0x36 0x3e 0x66 0x67 0xf0 0xf2 0xf3) 0mpX)S
4.14 写程序处理前缀 60P<4
4.15 写程序处理前缀 1}S S+>`
4.16 组编码 (0x80-83 0xc6-0xc7 0xd0-0xd3 等等) $yN{-T"
4.17 写程序处理硬编码 toLV4BtIG
4.18 0F开头两个字节的编码 hZdoc<
4.19 编写反汇编引擎 LI'6R=
4.20 VMP的核心解释器基本原理
A_V]yP
Uq[>_"}
Q_1:tW
&
项目:反汇编引擎,解释器框架 s:?SF.
czA5n
GC<l#3+
`-.%^eIp
svsq g{9z
第五章 Win32 API (只要是项目,都会调用API) 2500元 !NIhx109q
5.1 文件操作 B|Du@^$
5.2 内存管理 d^@ dzNv
5.3 进程线程 Hf
v 7LM
5.4 线程同步 #TeG-sFJg@
5.5 进程间通信 B3: ez
jj
5.6 网络通信 )(A]Ln4
5.7 未公开API的使用 *jLJcb*.Ap
z-BXd
\j+1V1t9
~Uj=^leYO
*RDn0d[
第六章 PE 3500元 H
>j
学习PE的好处(加密解密,写壳,脱壳,注入,重载操作系统) tW.9yII
6.1 PE有哪些结构1 ng[Ar`
6.2 PE有哪些结构2 .rO]M:UY
6.3 为什么要有节表,节表有什么好处 Z|%_&M
6.4 PE 磁盘拷贝到内存 (写程序) YA''2Ii
6.5 PE 内存拷贝到拷贝磁盘,存盘(写程序) 5:\},n+VE
6.6 怎么给PE添加一个节 \<.+rqa!
6.7 PE扩大节有什么好处 63^O|y\W8
6.8 PE合并节有什么作用 VQ"hUX8
6.9 PE 输入表 (写程序打印输入表) :=}BN
6.10 PE 输入表 (写程序打印输入表) 5rwu!Y;7*
6.11 PE 输出表 (写程序打印输出表) R}'bP
6.12 PE 输出表 (写程序打印输出表) Ua<5U5
6.13 PE 重定位表 G"klu
6.14 修改OEP 弹出MessageBox 6q*9[<8
6.15 添加节,拷贝一段函数进去 eS{!)j_^
6.16 病毒的框架 B%"
d~5Y
6.17 病毒是如何在函数入口植入的 81](T<
6.18 病毒是如何写入PE的 f}aL-N~
6.19 DLL应用及书写方式 t
4PK}>QW
6.20 UPX壳的源码及其运用 2-&k^Gl!:
6.21 加密壳原理和方式 3Ko/{f
项目: 手写PE分析工具LoadPe +Um( h-;
I*%-cA%l
进阶篇 Q8C_9r/:N>
先复习 前面的基础篇的知识,然后写一个解释器完整版(20天) Bs13^^hu
.nB0 h
<
nXL
第七章 保护模式(段寄存器)(2个多月) 5000元 ht7l- AK
7.1 段寄存器构成 qJ;jfh!
7.2 保护模式 GDTR IDTR #G.ulX
7.3 GDTR,IDTR均为48bit结构体 _|iSF2f,X
7.4 超线程与多核 zxJ]"N
7.5 保护模式 获取段寄存器的值 2n3W=dF
7.6 保护模式 GDTR.ATTRIBUTES yaD~1"GA'O
7.7 保护模式之修改段寄存器 U [*FCD!~
7.8 保护模式 调用门 VE#Wb7
7.9 保护模式 中断门 陷阱门 C^3 <={
7.10 保护模式 CS:EIP uvMy^_}L
7.11 保护模式 RETF,IRETD .GV;+8HzS
7.12 保护模式 门Dword Count 5G::wuxk
7.13 保护模式 任务门 2gc/3*F8
7.14 保护模式 3环进1环 QU4h8}$
7.15 保护模式 10-10-12 分页 wy yWyf
7.16 保护模式 PDT PTE |P[w==AAf
7.17 保护模式 页的特点 4F)-"ck
7.18 保护模式 TLB RwKdxK+;
7.19 保护模式 异常与保护 FO=4:
7.20 保护模式 2-9-9-12 t'?.8}?)I&
7.21 保护模式 CR0~CR4 ]*vdSr-J
7.22 10-10-12和2-9-9-12分页转换 S-Wz ou
r,
7.23-7.30 编写CE与内存搜索工具(VT引擎) 0M*Z'n
+
S\4tzz @
第八章 操作系统 (本阶段较枯燥,将通过录播+直播答疑的方式进行) 5000元 !i{aMxUP
本章主要讲解及应用于:驱动保护,系统保护,游戏保护,底层开发,系统架构,架构师,引擎开发等… |h- QP#]/
8.1 操作系统 模拟线程切换 }
uO);k5H
8.2 操作系统 进程线程结构 Vc_'hz]Z
8.3 操作系统 进程线程链表 q_TRq:&.
8.4 操作系统 TEB PEB MTsM]o
8.5 操作系统 kpcr 结构 _/F7?^j
8.6 操作系统 TrapFrame 结构体 Y?S!8-z
8.7 操作系统 SSDT 表 N8k00*p65
8.8 操作系统 驱动详解 w0ht
8.9 操作系统 swapcontext函数 BZ:H`M`n
8.10 操作系统 SwapContext函数 H#NCi~M>3
8.11操作系统 ntReadVirtualMemory ?a8^1:
8.12操作系统 kiSwapThread }0eF~>Df
8.13操作系统 kiWaitListHead es
Hg'8?U
8.14操作系统 对象句柄及线程等待快 U@g4w!$r
8.15操作系统 线程等待机制 !LggIk1
8.16操作系统 等待块及SetEvent 函数 ./,/y"x
8.17操作系统 keWaitSingleObject函数 JF # #
[O
8.18操作系统 APC机制 kv3E4,<
9
8.19操作系统 kiDeliveApc ?
K;dp
8.20操作系统 Apc函数的调度时机 >CrA;\l
8.21操作系统 异常处理 d_CKP"TA
8.22操作系统 kiDispatchException函数 `)`
n(B
8.23操作系统 3环异常处理过程 <%($7VMev
8.24操作系统 回调机制 p qfUW+>
8.25操作系统 句柄 Y-pzy']4
8.26操作系统 对象句柄 g>Y|9Y
8.27-3.41项目(内核重载) 8s"%u )
8.42操作系统 调试机制 "*m_> IU
8.43操作系统 Debug_Object 结构 6;u$&&c(
8.44操作系统 创建调试对象函数 }M1`di4e
8.45操作系统 发送调试消息函数 (mgS"zPS
8.46操作系统 DbgKpSendApiMessage 函数 rQk<90Ar
8.47操作系统 调试寄存器 *;1,5L
8.48操作系统 挂钩DbgKpSendApiMessage p=;=w_^y
8.49操作系统 文档视图 aI
Jt0;
8.50操作系统 消息机制 }x@2]juJ
8.51操作系统 消息机制 txW{7[w+,
8.52操作系统 消息机制 m=?KZ?U`
项目(3环调试器) w,w{/T
+B
!
6BW@GeF]
{kp"nl$<
第九章 64位逆向(新增) 9XPo3;
X64 汇编基础(一个半月) u\ #"L
64位逆向是根据学员的需求添加的课程,比之32位逆向,有了一点点改动,但是大致语法是不变的 wLmhy,
首先内存地址变成64位,寄存器的大小和栈的基本单元也变成64位 8C[
C{qOJ
然后通用寄存器 (新增了R8~R15寄存器) b@rVo;
函数调用约定: 64位统一为一种变形的fastcall,64位的fastcall中最多可以把函数的4个参数存储到寄存器中传递 RCX,RDX,R8,R9等等 9
TvV=
本章的目的:带领大家熟悉64位下的各种语法结构,熟练的掌握64位逆向,为以后的64位逆向分析打下基础 5V6G=H
=G]1LTI
aEM %R<e
?kWC}k{
'h/C oTk@,
1. 安装环境 V"*O=h
2. 64位寄存器(RAX-R15,xmm0-xmm15) .l>77zM6
3. rsp和堆栈平衡 {)"iiJ
4. x86和x64的调用约定(RCX,RDX,R8 R9) @{YS}&Q/
5. x64的指令解析(JMP, CALL) _jJPbKz
6. X64的运算符解析 Ey_" ~OB
7. X64的函数分析 yOphx07 (
8. X64的局部变量和全局变量 !u_Y7i3^
9. X64的控制语句 E5)b
10. X64的分支语句 P\w\N2
11. X64 do while和while循环 0*rQ3Z
12. x64 for循环 .$Ik`[+Z
13. X64的数组 Y
]NSN-t
14. X64 封装,继承 =4[v3Qx
15. X64 单冲继承虚表和多重继承虚表 K
AC6Snu1
16. x64位游戏分析 mX\TD0$d
17. X64游戏人物血值以及基地址 whpfJNz
18. X64人物和NPC c\iA89msp
19. X64怪物数据 ERpnuM
b
20. X64游戏数据结构分析 hJn%mdx~w|
21. X64游戏内存读写 R<[qGt|L
22. X64注入方法 }!;s.[y
23. X64自动打怪GHOFFICE分析 p;._
HJ(
|(pRaiJ
?3*l{[@J
毕业设计 i
7_ _
1.xuetr 内核工具开发 U'8bdsF_
2.驱动级的任务管理器 ]%|GmtqZs,
3.逆向调试各类exe软件成汇编代码或伪C源码 ~KW,kyXBnD
4.病毒分析、木马分析、软件后门检测、病毒修复工具开发 +s,Qmmb7)
5.软件加密与破解 /4c\K-Z;
6.游戏/安全的技术攻防分析、多开/防多开、游戏驱动检测、游戏安全 T^ w36}a
7.软件HOOK技术分析 lL{5SH<Q
8.给成品软件增加菜单/功能等插件 t *1u[~=
(IC]?n}
vWRju*Z&
报名咨询QQ:727446985 WKT4D}{1
电话:17798331758 R#2 t)y