|
C++逆向基础教程
6 _- k4 T/ O. c 课程暂定32个课时,后面可能根据课程的需要会进行相应的修改,课程中用到的工具主要有三个:Microsoft Visual C++ 6.0,Ollydbg(OD)和IDA。
) a$ {/ \& g" t1 }5 D" B
3 t- O" x j3 G: Z; g一、动态调式工具及静态分析工具IDA的介绍级基本使用
. P8 b3 m; _( s' b(1)动态调式工具! J' s3 M, e; U4 C# ]+ N% |
a、Microsoft Visual C++ 6.0 Y/ i0 i2 Z5 A% T7 ]7 I
b、Ollydbg(简称OD)- @9 G( q. s) z, }
c、实战
% u' p4 p3 m& }) k/ ~(2)静态分析工具
1 y- p9 A* o! R' L% ^- D a、IDA基本使用
( Q3 u! ^8 y3 h b、实战
; b8 C- I# T2 v# O" u二、汇编基础知识学习" I, G( ^4 k; U$ \
三、通过一个简单的程序讲解VC6.0调式器
( a% f/ W/ R/ v四、C++中基础数据类型在内存的表现形式
- l" |4 H+ F7 ?% {五、了解C++ 启动函数及OD中定位main函数
3 h, R' R6 B: S$ W9 ^8 z六、VC6.0编译器优化技巧1 [* U8 y+ h) i2 [6 S: g1 c! l
七、基本表达式的识别与优化原理
% H8 B$ ~( K* U八、模运算的识别与优化原理4 v: C9 @1 K8 G
九、反汇编中识别if-else
. t; q; t" d! f' f/ V/ Q十、反汇编中识别switch-case语句: a) y, f) l2 g8 R* ]; O
十一、识别复杂的switch-case语句
7 ~$ P4 Z/ z# G0 w- D) G* L十二、反汇编中识别C++循环语句
1 N3 O8 } j% K! F( j$ j" d% u$ q十三、VC6.0编译器对循环结构的优化
) U! K, Z/ ?; V十四、函数调用方式讲解+ T) s7 W8 n7 X0 U1 |
十五、使用ESP或EBP寻址5 M! Q( Q/ I( s$ W; P1 y' I1 o& E; L
十六、函数参数传递) ]" z% U8 ~2 Z# q! Z" m9 q
十七、通过反汇编清楚传值、地址、引用的实现1 E; I- l: a* @ ~; J- u% v
十八、函数返回值
7 U" I. }/ |! G2 j十九、初程序员在函数调用中常犯的错误及函数调用总结及8 `2 }, @, ^1 q: T& V* ^3 U
十二、变量在内存中的位置
0 f# B- O/ g. {2 L' N; j# D% t- T二十一、数组级指针形址) p' x' J$ `: G7 W
二十二、结构体和类/ L$ N8 W+ d0 I
二十三、C++对象内存布局
% @9 A4 R6 z0 q2 [二十四、内存对齐2 S0 h( |+ i4 n
二十五、在反汇编中识别C++类
; Q* ]. |6 R/ `二十六、利用RTTI识别类
8 r0 R$ g" I6 P9 k* F' H" r) l二十七、构造函数和析构函数识别
" u2 ^3 y0 g F6 N7 u9 \! U二十八、通过反汇编了解虚函数实现原理
6 m. P2 p: L, ]2 p" n( d/ \1 l8 l二十九、从内存角度学习继承和多重继承
$ E6 L5 l# V q0 B8 d" {5 k三十、异常处理。
+ G( ?3 f, G8 G* g' \三十一、CreakME算法分析。
' }- R* g' o8 m! |; v- t- N
7 w$ e% T4 q& X x
2 {' ?" l6 v( z1 r链接:https://pan.baidu.com/s/1jU-tE-onAjOZeOB80wXgRQ
8 n z2 {" c$ u& S提取码:1 a& ?) d3 b/ `5 {% P7 |* M4 R
复制这段内容后打开百度网盘手机App,操作更方便哦
% j3 r5 \( f, U' h; g
: A1 O- }3 j( X: C |
|