|
C++逆向基础教程9 D( l m* }8 U7 j3 Y
课程暂定32个课时,后面可能根据课程的需要会进行相应的修改,课程中用到的工具主要有三个:Microsoft Visual C++ 6.0,Ollydbg(OD)和IDA。 " r0 N# ^4 S) U: |
h" C2 |7 [5 |- Q一、动态调式工具及静态分析工具IDA的介绍级基本使用
8 ]. } @8 v: |' ](1)动态调式工具5 O4 z4 b& D" o- U5 \& e) D4 y
a、Microsoft Visual C++ 6.0
" D6 {4 F$ f& p3 T b、Ollydbg(简称OD)& g9 k2 j8 Z; r& ~! A
c、实战
- D& j) i9 F6 I(2)静态分析工具
- F$ G" j5 J' \# _4 _ a、IDA基本使用
/ E% w( m2 J$ x; N* ~ b、实战
0 g/ Z2 E8 k B3 q2 }8 E二、汇编基础知识学习
% y% g' Y3 Y( \# m6 ?三、通过一个简单的程序讲解VC6.0调式器' E2 G& p, R( x' x6 j
四、C++中基础数据类型在内存的表现形式
9 T b, `9 r% D4 q1 c五、了解C++ 启动函数及OD中定位main函数: g; K9 }1 o5 k5 ?. y9 `
六、VC6.0编译器优化技巧. Y8 s2 O. h6 v, Z, ]
七、基本表达式的识别与优化原理 0 O$ \2 B' u! e6 |; _, V
八、模运算的识别与优化原理
) m! h& o4 R! X' Q/ e0 N- t! U+ {九、反汇编中识别if-else$ @! [" S: c# x* a: A' o' @
十、反汇编中识别switch-case语句
0 @4 W, y j$ ]# {8 n+ v十一、识别复杂的switch-case语句
* {5 M( X' t9 h十二、反汇编中识别C++循环语句
2 v( F4 ~, i, G% P$ s9 b/ J十三、VC6.0编译器对循环结构的优化2 U0 W9 ]& K* O
十四、函数调用方式讲解# S% n+ t/ e8 Y; k
十五、使用ESP或EBP寻址
+ \+ \4 q( L4 J8 U q& v$ X2 @十六、函数参数传递
) \2 F/ |) i; k& B- U5 F" W十七、通过反汇编清楚传值、地址、引用的实现, W" Z+ z m( u; [9 l% ^
十八、函数返回值
6 ]( m6 u$ p+ \. Y' D- l8 z十九、初程序员在函数调用中常犯的错误及函数调用总结及0 C! \& k2 A' C$ u
十二、变量在内存中的位置
# y: {9 y4 Z4 N9 C8 U$ l3 h二十一、数组级指针形址+ x7 V) v: d' ?( m% Y
二十二、结构体和类, Y1 V; `. l3 q! d7 F1 @/ V
二十三、C++对象内存布局
' B% x+ n$ E# X二十四、内存对齐
+ R' ?2 w0 A* w二十五、在反汇编中识别C++类& v! ^: w, g" _1 t z0 K# ]1 C) j
二十六、利用RTTI识别类
- ]9 f2 s n @0 ] a8 |5 {二十七、构造函数和析构函数识别
) c. X" d& O! d; d3 v二十八、通过反汇编了解虚函数实现原理
' Z4 G# h/ S, @8 L% c二十九、从内存角度学习继承和多重继承; n9 u3 F: x9 \0 B
三十、异常处理。
J8 `$ Z: t2 R( k三十一、CreakME算法分析。5 h% [9 r$ F. _- F8 `' ]
& a6 c, |; B. M% p) H
: l; Z' s6 X' }" z! o0 e链接:https://pan.baidu.com/s/1jU-tE-onAjOZeOB80wXgRQ
+ x8 o s7 K/ r0 Z提取码:2 O {6 b0 D' u
复制这段内容后打开百度网盘手机App,操作更方便哦
5 |4 t* G. I- m7 p4 q% Y% b3 w! M/ U4 S
|
|