|
|
C++逆向基础教程
1 s, U, z$ o. B; h 课程暂定32个课时,后面可能根据课程的需要会进行相应的修改,课程中用到的工具主要有三个:Microsoft Visual C++ 6.0,Ollydbg(OD)和IDA。 % e% i m K3 k$ o l# _
. p9 ~7 J _! G6 x. \8 j
一、动态调式工具及静态分析工具IDA的介绍级基本使用) o% N9 u1 O; R7 ?
(1)动态调式工具
5 z4 E. k5 [2 g/ ?3 [6 I' l; P a、Microsoft Visual C++ 6.0# m- ~8 \- k, f! ^3 L
b、Ollydbg(简称OD)
0 ~1 K5 h7 ^; R0 n2 Q0 m c、实战4 `. k7 g3 {* Z* `$ D
(2)静态分析工具
4 Y; |+ B& m$ v a、IDA基本使用) T! J6 W: E: c' A5 Q3 ^: X9 s; x
b、实战5 x: m9 G5 G6 L# ~8 ^1 s
二、汇编基础知识学习2 D, G7 `, p/ m; w
三、通过一个简单的程序讲解VC6.0调式器7 M; x3 Q/ L, M, E3 ]& k7 z. M
四、C++中基础数据类型在内存的表现形式8 Y. b- M- ?% A! }" _" Z0 k
五、了解C++ 启动函数及OD中定位main函数7 W! {, s( I! S* c2 [( o- N
六、VC6.0编译器优化技巧
8 b- j( O+ a. U9 E- B七、基本表达式的识别与优化原理
+ X P# y# m1 ~9 h% s0 ]八、模运算的识别与优化原理) E* ]! R& u: J- q& l
九、反汇编中识别if-else
! a1 ]2 ?$ P T% n十、反汇编中识别switch-case语句
" D) |2 p0 E: `5 O3 _! X4 v( x十一、识别复杂的switch-case语句( k9 R8 E% A+ e8 B; {
十二、反汇编中识别C++循环语句& v+ D/ s4 \% e3 S1 N& j; T
十三、VC6.0编译器对循环结构的优化# ?3 k4 D8 m3 e! i9 K8 K% s1 Z
十四、函数调用方式讲解% j; X% ^- o, c7 k1 t/ K0 V: {
十五、使用ESP或EBP寻址* Q# V4 N* N5 a# V# \% p. P, y
十六、函数参数传递: `9 W4 A! ]/ |
十七、通过反汇编清楚传值、地址、引用的实现& g( v* U/ `5 S
十八、函数返回值+ M, T9 ]) k% P; V9 Q
十九、初程序员在函数调用中常犯的错误及函数调用总结及
% f# l7 R% p2 k9 J+ Y十二、变量在内存中的位置/ R- d0 }; O' l& X
二十一、数组级指针形址
* V3 m7 g7 a" l4 P, h; h+ B. j- I9 H二十二、结构体和类; t- T! I) E# W4 ^, G
二十三、C++对象内存布局
* j3 d- e. r: j二十四、内存对齐
p! N7 p8 F6 T) e# ^" C4 L二十五、在反汇编中识别C++类, {4 P) r. f' h
二十六、利用RTTI识别类
) s# A4 a; Z3 S% a% A二十七、构造函数和析构函数识别
" A& l/ a0 R, F c二十八、通过反汇编了解虚函数实现原理
5 E( V0 w( J) _4 {二十九、从内存角度学习继承和多重继承
9 c* K: \2 I1 e# @三十、异常处理。
/ B# {$ n( N9 E, x" ^$ u三十一、CreakME算法分析。
! e: a5 f5 i% r3 q9 g
7 d7 R3 L2 g: W: d1 r [: }. S( ~/ A( L \3 N- r& \; C
链接:https://pan.baidu.com/s/1jU-tE-onAjOZeOB80wXgRQ 0 o, p! }3 ^4 y! X8 m; q5 k
提取码:. p$ V/ A8 F/ {4 F
复制这段内容后打开百度网盘手机App,操作更方便哦$ E/ E/ U( C, u4 S
$ y Y! p( h: o, R I
|
|