|
|
C++逆向基础教程
: }( v$ ~% R4 l 课程暂定32个课时,后面可能根据课程的需要会进行相应的修改,课程中用到的工具主要有三个:Microsoft Visual C++ 6.0,Ollydbg(OD)和IDA。
: f G. \/ m0 D% u; Y% ]6 a: N
: Y+ z4 B& k) G+ W, G5 ]一、动态调式工具及静态分析工具IDA的介绍级基本使用
0 g7 ]* N+ ~" Z(1)动态调式工具
: T. A5 }& j; Y4 ?# R2 q% S0 s7 Y a、Microsoft Visual C++ 6.0
" g, e6 J$ f5 s7 r7 S2 N' a% R b、Ollydbg(简称OD)& O- T# U% k* k+ z: q# U* S
c、实战' k: I- R6 x: [8 P
(2)静态分析工具
9 w" x9 q6 `/ t% T. {' r$ k+ D a、IDA基本使用
9 B. l4 B& h9 V+ u9 ^ b、实战
+ A0 U+ Z$ C1 r% h9 d- {二、汇编基础知识学习
; N+ s2 P8 |6 ~0 V+ l6 V三、通过一个简单的程序讲解VC6.0调式器
: F, r, F/ R2 Y& F3 i& X四、C++中基础数据类型在内存的表现形式
; @: C' L& k: R% B) Q9 X0 b4 C% t五、了解C++ 启动函数及OD中定位main函数) K. E7 k- E$ c) a$ w: W" _
六、VC6.0编译器优化技巧
3 k+ j: z X8 D" O5 ]七、基本表达式的识别与优化原理 2 r/ b! D7 H, }. X: i
八、模运算的识别与优化原理
2 `0 i% O5 p- a8 q: @九、反汇编中识别if-else: H+ F! b# J: l5 }4 I" i% R8 P, _
十、反汇编中识别switch-case语句( T1 B0 R! k$ N( K4 A* d
十一、识别复杂的switch-case语句 W8 V m5 m$ L( a; O, d$ X
十二、反汇编中识别C++循环语句 V4 P/ v, B; v3 [8 v/ K3 C
十三、VC6.0编译器对循环结构的优化
6 j0 q9 P" a" }& v5 y+ g/ M十四、函数调用方式讲解' e, w. H' W4 l. r
十五、使用ESP或EBP寻址0 R3 J0 E4 r. M# i( J
十六、函数参数传递 E& T: o6 b1 P; X9 M
十七、通过反汇编清楚传值、地址、引用的实现
8 A3 T, ?, t" j j* F7 m十八、函数返回值: }, _1 J" w5 d6 b' ?) C
十九、初程序员在函数调用中常犯的错误及函数调用总结及
& K5 J2 O. w( g/ x3 A十二、变量在内存中的位置/ |8 k( o! Y: H1 U( j/ z* F
二十一、数组级指针形址) `& d1 p. ^, {; ?
二十二、结构体和类# Y5 Z m! v! R! r
二十三、C++对象内存布局
Q( U! v+ [+ @7 Q* B+ u( \二十四、内存对齐, w, U: f+ d! u0 F
二十五、在反汇编中识别C++类2 b) @5 A( G# b, K# d! Q) v
二十六、利用RTTI识别类
9 i7 u9 U8 x& g2 }二十七、构造函数和析构函数识别1 C6 a7 D, T" `( C
二十八、通过反汇编了解虚函数实现原理/ U% h" Y9 e! u7 `; q
二十九、从内存角度学习继承和多重继承5 P) N* Q: D; _
三十、异常处理。
8 @* I& E6 f% S; T9 D" J0 S5 @三十一、CreakME算法分析。: _/ K5 B6 ]6 `/ W5 {( w. D j' B
3 {+ u1 i8 V2 K7 K9 ]% R; ]
% n) V0 X# b9 D( b; P链接:https://pan.baidu.com/s/1jU-tE-onAjOZeOB80wXgRQ
8 G3 ~1 M6 |) o1 w% ] x( \提取码:
X# p8 P, } ~- ]复制这段内容后打开百度网盘手机App,操作更方便哦7 B% n( F5 [3 T" c( N+ d
/ V' e4 |! u- }, a; u5 V |
|