找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 574|回复: 9

C++逆向基础教程(转)

[复制链接]

3

主题

17

回帖

0

积分

新手上路

积分
0
发表于 2013-6-7 12:04:47 | 显示全部楼层 |阅读模式

      课程暂定34个课时,后面可能根据课程的需要会进行相应的修改,课程中用到的工具主要有三个:Microsoft Visual C++ 6.0,OllyDbg(OD)和IDA

一、动态调式工具及静态分析工具IDA的介绍级基本使用
(1)动态调式工具
   a、Microsoft Visual C++ 6.0
   b、Ollydbg(简称OD)
   c、实战
(2)静态分析工具
       a、IDA基本使用
       b、实战
二、汇编基础知识学习

三、通过一个简单的程序讲解VC6.0调式器
   a、基本调式技巧
   b、Release下实现单步调试
   c、通过崩溃地址找出源代码的出错行
作业:熟悉VC6.0调式器。

四、C++中基础数据类型在内存的表现形式
    a、整数类型
      1、无符号整数
      2、有符号整数
    b、浮点数类型
    c、字符、字符串的编码
    d、指针与引用

五、了解C++ 启动函数及OD中定位main函数
    a、认识启动函数
       1、通过IDA认识启动函数
       2、在Microsoft Visual C++ 6.0中挖出调用main函数的代码
      3、在OD中定位main函数
    b、话说,有这样一道据说是月薪2W的笔试题
六、C++    基本表达式的识别
算术运算
    1、
    2、
    3、
    4、除(难点)
七、除法与模运算的识别
     a、 详解除法中的优化
     b、模运算识别
八、编译器使用的优化技巧
    a、变量优化
    b、加法的优化
    c、减法的优化
   d、除法的优化
     1、普通除法:
     2、除数为2的次方:
   e、堆栈恢复优化

九、反汇编中识别if-else
    a、if-else识别与优化
    b、三目云算符识别与优化

十、反汇编中识别简单的switch-case语句
   a、模仿If-else优化的简单switch-case语句
   b、线性case的switch-case语句
十一、识别复杂的switch-case语句
   a、非线性switch-case语句
十二、反汇编中识别C++循环语句
     a、do-while循环
     b、while循环
     c、for循环
十三、VC6.0编译器对循环结构的优化
十四、函数调用方式(约定)讲解
     a、_cdecl
     b、_stdcall
     c、_fastcall
     d、naked
     e、_thiscall
     f、_pascal

十五、使用ESP或EBP寻址
     a、函数调用堆栈的变化
     b、使用EBP或者ESP寻址

十六、函数参数传递
    a、函数固定参数传递
    b、函数可变参数传递

十七、通过反汇编清楚传值、地址、引用的实现
     a、传值
     b、指针
     c、引用
十八、函数返回值
     a、基本数据类型
     b、浮点类型
     c、自定义类型
十九、初程序员在函数调用中常犯的错误及函数调用总结
     a、通过调用一个函数获取一块内存
     b、函数调用总结
二十、变量在内存中的位置
     a、全局变量和局部变量
     b、局部静态变量
     c、堆变量

二十一、数组和指针的寻址
     a、下标寻址和指针的寻址
     b、数组作为参数
     c、数组作为返回值
     d、存放指针类型数据的数组

二十二、结构体和类
    a、结构体反汇编
    b、IDA中操作结构体
    c、
二十三、C++对象内存布局
    a、对象的内存布局
    b、this指针
    c、对象作为参数
    d、对象作为返回值
二十四、内存对齐
    a、结构体中的内存对齐
    b、结构体中含有结构体的内存对齐
    c、含有位域的内存对齐
二十五、构造函数和析构函数识别
    a、构造函数
    b、拷贝构造函数
    c、析构函数
二十六、通过反汇编了解虚函数实现原理
    a、认识虚表指针
    b、初始化虚表指针
    c、重写虎表指针
二十七、在反汇编中识别C++类
    a、全局对象
    b、局部对象
    c、动态分配的对象
二十八、从内存角度学习C++单继承
    a、对象的内存结构
    b、类与类之间的关系识别
二十九、多重继承和抽象类
    a、多重继承
    b、抽象类
三十、RTTI(运行时类型识别)
     a、C++中四个强制转换运算符
     b、RTTI
三十一、利用RTTI识别类及类与类之间的关系
三十二、异常处理。
三十三、CreakME算法分析。
三十四、把一段反汇编代码还原成C++

欢迎转载,但请保留出处。

下载地址:
一至二十六节

1793

主题

457

回帖

0

积分

管理员

积分
0
发表于 2013-6-7 13:15:26 | 显示全部楼层
这个是谁讲的啊

3

主题

17

回帖

0

积分

新手上路

积分
0
 楼主| 发表于 2013-6-7 15:17:18 | 显示全部楼层
不知道,没有说,看了二十四课感觉还是讲得不错的,就转过来了~!

0

主题

8

回帖

0

积分

新手上路

积分
0
发表于 2013-6-11 22:46:22 | 显示全部楼层
剩下的教程呢,兄弟。快转过来啊,好东西啊。

0

主题

12

回帖

0

积分

新手上路

积分
0
发表于 2013-6-12 20:35:23 | 显示全部楼层
目测这目录应该是ACracker的:

3

主题

22

回帖

0

积分

版主

积分
0
发表于 2013-6-13 19:25:06 | 显示全部楼层
感谢分享 教程不错

0

主题

24

回帖

0

积分

新手上路

积分
0
发表于 2013-7-31 03:05:25 | 显示全部楼层
后面的呢

0

主题

58

回帖

0

积分

新手上路

积分
0
发表于 2013-8-23 22:49:42 | 显示全部楼层
这个更新到31课了

0

主题

58

回帖

0

积分

新手上路

积分
0
发表于 2013-8-23 22:50:03 | 显示全部楼层
官方27-31收费课程下载地址: http://pan.baidu.com/share/link?shareid=393345&uk=3593850655

0

主题

58

回帖

0

积分

新手上路

积分
0
发表于 2013-8-23 22:50:46 | 显示全部楼层
把前26课也发一下吧
1-26下载地址: http://www.kuaipan.cn/file/id_20051342584184837.htm
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

果子博客
扫码关注微信公众号

Archiver|手机版|小黑屋|风叶林

GMT+8, 2026-2-1 13:58 , Processed in 0.090511 second(s), 20 queries .

Powered by 风叶林

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表