|
C++逆向基础教程3 s+ U7 V# a5 c4 C2 p
课程暂定32个课时,后面可能根据课程的需要会进行相应的修改,课程中用到的工具主要有三个:Microsoft Visual C++ 6.0,Ollydbg(OD)和IDA。 7 A+ [" ~# b0 O" k$ j
W7 d* I+ m5 @
一、动态调式工具及静态分析工具IDA的介绍级基本使用
a1 F; Z) |4 q' T/ d! |(1)动态调式工具. g! v4 N% p- r( C: Y0 y; T
a、Microsoft Visual C++ 6.0, \( h) x: e' i8 ~5 X6 h+ T0 j
b、Ollydbg(简称OD)
/ u$ F2 H7 R+ v, p c、实战
# x2 h1 }( R& r/ M8 p(2)静态分析工具* F( }7 ]- e' M% f5 a" T8 a. r
a、IDA基本使用. E' t/ P9 p$ u6 k) e
b、实战. E7 {5 F" ~, `! d
二、汇编基础知识学习 R4 J3 e/ C* Z7 Y4 y R/ q0 x
三、通过一个简单的程序讲解VC6.0调式器
' |# Z p* @" I( g; Q* `1 i四、C++中基础数据类型在内存的表现形式1 z8 X7 W5 ]. @. x" l( d6 B
五、了解C++ 启动函数及OD中定位main函数" t5 {! e2 V" U! @2 ^* W" n3 H0 y
六、VC6.0编译器优化技巧
. a( h, {; A& c* Y七、基本表达式的识别与优化原理
+ w6 f% }! w h, K$ M% Z. C( C八、模运算的识别与优化原理/ m$ \5 j2 u5 ?9 D: U S
九、反汇编中识别if-else
" V; t/ A c. V2 M( c, M3 \十、反汇编中识别switch-case语句. \4 ~4 E" V; |# N3 Z4 P- C
十一、识别复杂的switch-case语句( M& @: G" d. I4 t7 Q( n0 u
十二、反汇编中识别C++循环语句) ^( q% v. L; {! q
十三、VC6.0编译器对循环结构的优化6 \% G2 A5 O% f. |# h
十四、函数调用方式讲解9 W+ U- Q0 h6 ^! K0 g' J& i
十五、使用ESP或EBP寻址
+ Z- r* t! {& Y" _( L* D7 o% A十六、函数参数传递
7 w* _: }8 }- t$ W* k3 \, ^十七、通过反汇编清楚传值、地址、引用的实现
1 F, e" }$ `; r9 _十八、函数返回值& _& V$ i1 L. F7 ]
十九、初程序员在函数调用中常犯的错误及函数调用总结及' g! v ^$ T$ S! Z+ e
十二、变量在内存中的位置# P/ _, Q' Z4 R" T) d
二十一、数组级指针形址* C. Y3 K- h8 ~' j( \5 @
二十二、结构体和类
# Y2 X* g# v1 X; \& n, p/ p二十三、C++对象内存布局
% h$ f# `7 v5 K; H9 ]$ o6 w8 i二十四、内存对齐1 @' {# ?4 p# s& d6 o7 K: h0 E2 ~
二十五、在反汇编中识别C++类
6 v7 R% ^7 J; y* E8 e( ~二十六、利用RTTI识别类9 D2 U5 \ V& N# o; A
二十七、构造函数和析构函数识别
5 B |, B) z+ d- U二十八、通过反汇编了解虚函数实现原理+ i0 Z) z7 V( m6 f$ P2 {/ S9 g
二十九、从内存角度学习继承和多重继承. i. m. W9 W- @& l) \
三十、异常处理。6 _* [6 u4 b7 b2 z0 ~) G( n
三十一、CreakME算法分析。& |! Y( I* g( ] ?" h& l& V
# T6 h6 w( Z& T2 l1 N
7 F% I; D0 V5 S+ z
链接:https://pan.baidu.com/s/1jU-tE-onAjOZeOB80wXgRQ
. s1 ~9 T/ n0 G/ ~# y提取码:
+ i: J! x. V. _; C; \复制这段内容后打开百度网盘手机App,操作更方便哦
4 _1 h! M, J2 g. g& s8 ^; s- E9 `" R% W& |* B2 `
|
|