|
C++逆向基础教程
. g: R" E3 Q4 f7 j/ H 课程暂定32个课时,后面可能根据课程的需要会进行相应的修改,课程中用到的工具主要有三个:Microsoft Visual C++ 6.0,Ollydbg(OD)和IDA。
8 B& b( g- m8 ^ n N+ B* ]" d8 B, H s, h* t
一、动态调式工具及静态分析工具IDA的介绍级基本使用
! x! D- b2 P% o(1)动态调式工具) u( @0 O! H1 A0 t, I
a、Microsoft Visual C++ 6.0
Y0 w4 Q4 ~" _2 Q7 Y b、Ollydbg(简称OD)8 z( Q' \1 J& Y: R( y
c、实战; |% l( H+ ?2 v5 L" P
(2)静态分析工具
8 A5 ~, J1 ]. @+ J3 t a、IDA基本使用5 J; L; Z7 z2 P" B$ l* y7 b
b、实战! E( u# ^9 `1 T* ^' {, a& f$ L! p
二、汇编基础知识学习
% `& j" @) s @4 y# W0 B) H8 {三、通过一个简单的程序讲解VC6.0调式器+ O. O! ^2 `' n- i
四、C++中基础数据类型在内存的表现形式
# {& Z# H2 K* ^" i4 y; o( e5 o! w0 d五、了解C++ 启动函数及OD中定位main函数2 ~4 ^% a) k& O }
六、VC6.0编译器优化技巧
, m/ D, @. x, o# x3 c9 r七、基本表达式的识别与优化原理 ( |, W- q, h- n6 w- H' U
八、模运算的识别与优化原理
" ~( M' Z. B1 j0 E九、反汇编中识别if-else
, ?8 ]' ^& \0 t: Q0 W7 y十、反汇编中识别switch-case语句 ?+ |: G- I4 K7 M6 p, M
十一、识别复杂的switch-case语句' Z5 I/ `. [7 N8 k# }
十二、反汇编中识别C++循环语句1 _! _6 Q1 i( h' E) J/ C. v. t
十三、VC6.0编译器对循环结构的优化' N: b+ E) L* y7 U; b
十四、函数调用方式讲解, @$ `$ J0 t% j4 q4 J
十五、使用ESP或EBP寻址4 M$ {! H$ B- T
十六、函数参数传递8 R3 G" ~5 @; Z; S! G1 n& J5 L
十七、通过反汇编清楚传值、地址、引用的实现
+ i) e7 |5 V! x十八、函数返回值, H( S) H. J. i$ p; r
十九、初程序员在函数调用中常犯的错误及函数调用总结及
! L- U1 ^2 h# B0 U$ C8 r十二、变量在内存中的位置- b- d) t. ?0 `9 K7 g2 b$ u0 X1 @
二十一、数组级指针形址7 ^8 o% t" F3 |5 ?1 t
二十二、结构体和类
' Y" [0 X7 ^" H0 i& c( h; B二十三、C++对象内存布局: K+ P5 [) d7 ~" l! k& T
二十四、内存对齐
, ~/ o2 u2 ~8 B m二十五、在反汇编中识别C++类
' a1 |% ^( |5 q二十六、利用RTTI识别类
+ ?1 i7 [3 m4 A( t% S" y7 O# q二十七、构造函数和析构函数识别
0 ]% M. M% X$ ^+ J5 I' q$ }二十八、通过反汇编了解虚函数实现原理
) d/ C. O2 n$ o" a9 ]4 X二十九、从内存角度学习继承和多重继承9 O5 \1 O i/ e) L# o
三十、异常处理。
, |/ `- N5 D' r, p8 f* c三十一、CreakME算法分析。' U: w0 w* ^3 j, K
( F4 S& S z( F* ~; J8 u8 W: v# L2 r* N5 X
链接:https://pan.baidu.com/s/1jU-tE-onAjOZeOB80wXgRQ
8 b& b1 o) {1 u- N7 Z8 L$ z5 j提取码:! ^* z1 ]" t5 m5 B5 `+ p$ @
复制这段内容后打开百度网盘手机App,操作更方便哦
8 l' K/ K o! D0 S8 m; q2 j8 _$ m
5 V" @# v4 O0 ? |
|