|
C++逆向基础教程1 i: l$ N( E) M$ H! Q
课程暂定32个课时,后面可能根据课程的需要会进行相应的修改,课程中用到的工具主要有三个:Microsoft Visual C++ 6.0,Ollydbg(OD)和IDA。
) P5 A i& u; x- I
2 U) _- e% [3 O1 x9 Q一、动态调式工具及静态分析工具IDA的介绍级基本使用 r6 f& F) @5 z; u$ f0 z# w
(1)动态调式工具* o; \1 ?2 H! d M( }- @
a、Microsoft Visual C++ 6.0
6 Q" c6 E" ]7 k b、Ollydbg(简称OD)( ]- `/ t w' w" _
c、实战
+ A9 J1 l# t o, R9 T( l(2)静态分析工具, `) P5 i; H- N
a、IDA基本使用
" E: h5 W# S2 {+ ]' m b、实战8 G- Y: Z' \; m! ?1 V
二、汇编基础知识学习
5 l, @4 J4 m0 N% P* h8 y三、通过一个简单的程序讲解VC6.0调式器
2 G7 K8 W; t. I) O# V! X四、C++中基础数据类型在内存的表现形式
# t: N9 n+ }: @1 e五、了解C++ 启动函数及OD中定位main函数* f8 Y4 l- u1 `/ U1 r+ N
六、VC6.0编译器优化技巧
7 {3 n& A, P9 |! m七、基本表达式的识别与优化原理
/ ], H1 m. K$ m5 w& i5 D T八、模运算的识别与优化原理
- e7 U+ P4 l/ A& _+ g o九、反汇编中识别if-else) @* h. _% W8 F! @# `1 A
十、反汇编中识别switch-case语句
$ ?9 I# [ n* ^* c* `* x9 Z十一、识别复杂的switch-case语句- b- \1 {& Q4 e7 G
十二、反汇编中识别C++循环语句0 U( ^, a$ F( D- ^- |) p% |! C$ k. {
十三、VC6.0编译器对循环结构的优化8 Y5 ^+ J/ k+ b
十四、函数调用方式讲解7 X* `, I$ k$ {' {$ s3 ]
十五、使用ESP或EBP寻址
* }4 a; i9 Y) t8 w十六、函数参数传递0 \+ L) B! o% N# l4 ]5 s0 d3 B
十七、通过反汇编清楚传值、地址、引用的实现
9 W, R8 U1 t! c+ H' A1 k; ?十八、函数返回值
! U4 Y' ^/ C$ M0 v ?8 V6 L十九、初程序员在函数调用中常犯的错误及函数调用总结及) b. Q ?, W1 k* @) O
十二、变量在内存中的位置
; a" L3 h: p8 S! }9 W, p; E; W二十一、数组级指针形址
! B7 e5 w" Y6 ^; R% q# n' O) C8 X二十二、结构体和类
1 w: H* a* C& ~. Y( h二十三、C++对象内存布局, P& @. n, a/ V0 n$ F
二十四、内存对齐
$ P) ^+ s& O% I+ n( G8 c二十五、在反汇编中识别C++类
" Z4 ?* M# a( J, N5 N二十六、利用RTTI识别类$ d, C+ x. Z# D8 i V
二十七、构造函数和析构函数识别
9 e; G7 x, M- W- c9 S" \, g二十八、通过反汇编了解虚函数实现原理
9 e( w7 N7 a$ V Y) r6 u二十九、从内存角度学习继承和多重继承
/ [. ^: X7 @) h7 d: a三十、异常处理。
- i: B' L/ V, [' F8 D三十一、CreakME算法分析。
. `3 ]2 G' s; r0 L0 J% b$ M" ]& I1 D
k- z' j! {: F& M
链接:https://pan.baidu.com/s/1jU-tE-onAjOZeOB80wXgRQ
# f! H9 X4 t2 Q3 k! n' _3 {提取码:8 a$ I0 S/ M9 Z; x
复制这段内容后打开百度网盘手机App,操作更方便哦$ C& _) U1 ]# i! G
: S0 k4 K# c/ F1 P4 H
|
|