|
C++逆向基础教程4 O# u0 Q0 o2 N8 Y
课程暂定32个课时,后面可能根据课程的需要会进行相应的修改,课程中用到的工具主要有三个:Microsoft Visual C++ 6.0,Ollydbg(OD)和IDA。
4 n7 q4 C# R' T# k) |# G5 x8 x
+ Q* Y. b6 ?! n4 q6 Q/ s4 g8 E一、动态调式工具及静态分析工具IDA的介绍级基本使用8 V/ P) J! e4 | O; N/ [
(1)动态调式工具5 d$ p" O l* v% K' g' H
a、Microsoft Visual C++ 6.0
# h/ J* _% }4 a3 l b、Ollydbg(简称OD)
% |+ @& [1 c0 \7 g c、实战
) s0 Q' }& v* q8 P(2)静态分析工具
' y6 u3 e* A3 b9 k1 R: w! t. | a、IDA基本使用0 c( E+ |2 h4 M% G
b、实战
) [( u* `& |" [6 q4 \7 m2 O二、汇编基础知识学习, N! U! W: ~2 m
三、通过一个简单的程序讲解VC6.0调式器 Z) B, `* Q, P
四、C++中基础数据类型在内存的表现形式
4 b8 R! V: r" K" c五、了解C++ 启动函数及OD中定位main函数8 f5 ^( C( P7 x
六、VC6.0编译器优化技巧
1 b7 r% o5 F6 N) t) [4 b七、基本表达式的识别与优化原理 # A5 P: S7 {6 q+ N, ]
八、模运算的识别与优化原理+ M4 `# h- y. J8 ]1 L
九、反汇编中识别if-else
: ^& r Z6 o6 g0 I7 X( I7 @十、反汇编中识别switch-case语句
# ^9 Q: n* V" a3 D3 S2 V5 X十一、识别复杂的switch-case语句
# i7 T4 N; t! B3 {3 g十二、反汇编中识别C++循环语句
* u. L7 F; \+ k4 M十三、VC6.0编译器对循环结构的优化, k7 c& [, D7 V( Z: s
十四、函数调用方式讲解
1 I: b- ^4 f2 W十五、使用ESP或EBP寻址
+ M( g- O0 X/ z' b% V; N十六、函数参数传递# j; M' Y( z: f
十七、通过反汇编清楚传值、地址、引用的实现+ s* Y5 b+ j9 z" c3 S
十八、函数返回值
# G }2 {$ o( v- q; j$ C十九、初程序员在函数调用中常犯的错误及函数调用总结及
* s' ` O2 C. D6 B十二、变量在内存中的位置7 J c- p. s8 V3 E
二十一、数组级指针形址
6 E7 [$ y0 V9 A G) m9 J2 G二十二、结构体和类7 g' g- L- _5 q6 F5 |
二十三、C++对象内存布局1 O( X5 V1 K. R: H9 f
二十四、内存对齐: ]( y( J+ i# i! Z2 h4 R4 |
二十五、在反汇编中识别C++类
% c0 A2 w7 C3 e+ x& O8 Q二十六、利用RTTI识别类
; k. R, h$ a' `- a: E二十七、构造函数和析构函数识别0 v7 ]+ r7 f" C* Y
二十八、通过反汇编了解虚函数实现原理( B; w8 L& \8 N$ v
二十九、从内存角度学习继承和多重继承+ U1 F$ F6 C0 j& e. m$ v
三十、异常处理。
% _( Y" H' k4 Z2 b5 B; l三十一、CreakME算法分析。
: I6 c& D8 \7 p$ e ]! T
$ A0 B% ~( ^3 J) T5 M# x2 A& m6 l% R% @. f& F7 m! v; b8 e( A
链接:https://pan.baidu.com/s/1jU-tE-onAjOZeOB80wXgRQ ( x: z2 l2 A3 u" M S+ T( P! ~
提取码:
! A8 q# p+ Z7 |1 F% ?% z复制这段内容后打开百度网盘手机App,操作更方便哦
& a" s0 C' ~" @* a3 \5 t* n( I% T9 Z
|
|