|
C++逆向基础教程
9 p$ H! D4 d, K& g 课程暂定32个课时,后面可能根据课程的需要会进行相应的修改,课程中用到的工具主要有三个:Microsoft Visual C++ 6.0,Ollydbg(OD)和IDA。 " b. I- ]! A4 z4 t* b9 f6 ]0 r: N
! X/ C$ ~ Y8 }( p9 W8 q一、动态调式工具及静态分析工具IDA的介绍级基本使用/ I& ^" W9 a# r+ ]3 P1 {; Y
(1)动态调式工具: u/ c$ o, _3 m h ]; [0 R
a、Microsoft Visual C++ 6.05 o; m" d2 v' `6 Y' Y& L
b、Ollydbg(简称OD)+ c/ |; D1 y& T
c、实战6 X7 O0 [0 }$ i" s$ ?
(2)静态分析工具# m% z+ K) i: H5 h o
a、IDA基本使用* i( L2 X# u# |3 z/ |6 y* H
b、实战; ]8 P$ i; z( F8 j4 _# y; E8 L
二、汇编基础知识学习/ `# {3 @! F, A& y( O/ g
三、通过一个简单的程序讲解VC6.0调式器& B2 ]5 U/ c; s2 n. K8 c
四、C++中基础数据类型在内存的表现形式2 x2 t( F. f7 g: K ?9 s8 q
五、了解C++ 启动函数及OD中定位main函数
, j+ ]) \/ U/ G5 {, ~ {六、VC6.0编译器优化技巧
* Y9 {- k! t3 L, {/ \! t2 Y七、基本表达式的识别与优化原理
8 [$ b: ~$ A# s: j/ h八、模运算的识别与优化原理
; P' g9 ~0 M0 d( o- _! [. i九、反汇编中识别if-else( l0 e8 y" y" a
十、反汇编中识别switch-case语句
, B' ~+ \7 {/ D( i1 N十一、识别复杂的switch-case语句) F% l. ~! C$ F0 p3 m1 d
十二、反汇编中识别C++循环语句
6 ~; O# @. R! E9 n3 b十三、VC6.0编译器对循环结构的优化# R1 j* g+ q9 _9 ]& A' h: j( e9 d
十四、函数调用方式讲解
* K/ | M6 y) i" G/ n; w十五、使用ESP或EBP寻址, ~/ c9 X. c9 D& t [" x% F+ {9 h
十六、函数参数传递2 ~( m: R6 a, }; m$ h/ Q e
十七、通过反汇编清楚传值、地址、引用的实现( \% h& M4 n) L5 r' u' b! [
十八、函数返回值
}+ |$ D: X# U十九、初程序员在函数调用中常犯的错误及函数调用总结及
1 Y2 X1 K' Z2 c$ b十二、变量在内存中的位置* x% J* R8 L |% \
二十一、数组级指针形址
2 @1 C* X. c* B. ^+ t二十二、结构体和类
4 x6 d. i5 g8 X( u9 p; @二十三、C++对象内存布局
2 o8 R1 [- g5 W3 O二十四、内存对齐
2 \/ n* i' X: R+ Z二十五、在反汇编中识别C++类: ~5 ~- Q. H3 \
二十六、利用RTTI识别类5 z! P: M( T; U e# y4 s
二十七、构造函数和析构函数识别
5 K( W! C% E0 _( E9 V+ \, m" U二十八、通过反汇编了解虚函数实现原理8 |& {, Z B. p/ k: B
二十九、从内存角度学习继承和多重继承 U& i: h& b2 y8 n9 S( h% D0 Q
三十、异常处理。% D2 i c0 p% ] U3 J' w- ]" @
三十一、CreakME算法分析。
7 E* l' h/ }6 ^, H+ _3 |
7 e6 t6 ?, B4 i- E/ d& ?% B# J1 n* T, y% ]) E C
链接:https://pan.baidu.com/s/1jU-tE-onAjOZeOB80wXgRQ , i! y+ q7 m5 G& P/ T6 d! m" T
提取码:
$ H$ _! _# z, U A) v4 r复制这段内容后打开百度网盘手机App,操作更方便哦
/ }3 q' ]9 D4 ?4 i- M9 m+ g8 _0 B. m( w, q- t# m( V5 g" E
|
|