飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 41018|回复: 162

[C/C++] C++逆向学习三步走 PDF

  [复制链接]
  • TA的每日心情
    开心
    2019-3-25 14:18
  • 签到天数: 881 天

    [LV.10]以坛为家III

    发表于 2015-8-1 08:35:14 | 显示全部楼层 |阅读模式
    《C++逆向学习三步走》是A1Pass精心打造的一个系列教程,每个章节都经过笔者深思熟虑与读者的层层考验,是初学优秀逆向工程自学参考资料。

    第一部分:走近逆向


    1、简单的逆向初探
        2、几种函数调用方式的识别技巧
        2.1、几种调用方式的区别
        2.2、sdtcall与Pascal的识别与区分
        2.3、__cdecl与fastcall的识别与区分
        3、指针与指针函数的识别技巧
        4、数组与结构体的识别技巧
        5、最后一役(出一个比较难且有代表性的例子)


    第二部分:C++逆向初探
        1、引言
        2、识别构造与析构函数的技巧
        2.1、怎样快速的识别出类
        2.2、识别构造函数
        2.3、识别析构函数
        3、虚函数与纯虚函数的识别技巧
        3.1、识别简单的虚函数
        3.2、识别较复杂的虚函数
        4、如何正确识别类的继承关系
        4.1、有虚函数的菱形继承逆向
        5、怎样识别类与类成员的作用域
        6、最后一役


    第三部分:玩转软件逆向
        1、RTTI在C++逆向中的巧妙应用
        2、再议虚表


    01、前言
        最近一直在忙于学业,很久没为读者们写什么技术性的文章了。前几天出去办事,在等火车时无聊去了网吧上了一会网,才意识到自己似乎已经在网络中消失太久了。为了证明我还活着,所以出来透透透气,给各位献上几篇教程。

    02、学习逆向的价值
        逆向工程对于任何一个制造业来说都是一门掌握颇为艰辛、知识范围较边缘化以及价值巨大的学问。如果我们掌握了模具逆向,那么我们就可以复制出与其相同的产品,如果我们掌握了工业机械逆向,那么我们就可以学习并掌握别人的机械制造原理。
        同样的,如果我们掌握了软件逆向,那么我们就可以掌握其他软件所用的技术技巧、算法结构,甚至还原出功能完全相同的源代码。那么即便是如此,这又有什么用呢?
        当你在寻找系统或商业软件漏洞时,懂得逆向技术几乎是必需的;
        当你在分析病毒木马的特征时,懂得逆向技术可以使你的分析更为有效率且精准可靠;
        当你在企图分析其他企业的成熟商业产品时,懂得逆向技术会使你如鱼得水;
        记得安全界的卡巴斯基因前辈曾说过一句话:“不懂得汇编的黑客就像是没有桨的船夫!”而我认为“不懂得软件逆向的黑客就像一艘没有螺旋桨的船。”因此,毋庸置疑的,逆向技术将会成为渴望研究系统底层技术人员们所必不可缺的技术,逆向技术更是每一位黑客所必须掌握的基本功。

    03、学习逆向的前提
        常读我文章的读者都应该清楚,我是一个喜欢将复杂的知识简单化的作者,但是即便如此,这次我也要非常遗憾的告诉各位读者,阅读这篇文章是要有一定的工作环境与前置知识要求的,不过我在写作过程当中会尽量将这种要求控制在最低点。但是我个人认为这些都不难,因为这些都是作为一名黑客技术爱好者所必需的。
        对于环境有以下要求:
        最佳:Visual Studio 2008或以上版本,Borland C++ 6.0或以上版本,OnllyDbg任意版本与IDA Pro 5.2或以上版本。
        必须:IDA Pro 5.2或以上版本
        对于前置知识有以下要求:
        最佳:有一定的C、C++编码经验,有一定的32位汇编经验,了解过编译原理。
        必须:懂得基本的C++语法,懂得基本的32位汇编。
        好的,如果你满足了以上的条件,那么你肯定可以顺利的阅读完这个教程。如果你并不满足以上条件,那么可以先试着读一读本系列教程的第一篇,以求开拓视野、并验证自己哪里仍有不足。

    下载地址:
    游客,如果您要查看本帖隐藏内容请回复


    本帖被以下淘专辑推荐:

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-11-29 00:02
  • 签到天数: 177 天

    [LV.7]常住居民III

    发表于 2015-8-1 10:34:16 | 显示全部楼层
    搞手的结晶 ,我等小白怎能不欣然瞻仰~~~~~~~~~~~~~~~~~~~~~~~~~
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2023-12-27 21:49
  • 签到天数: 85 天

    [LV.6]常住居民II

    发表于 2015-8-8 12:26:47 | 显示全部楼层
    C++逆向学习三步走
    PYG19周年生日快乐!
  • TA的每日心情

    2019-4-11 21:50
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2015-8-11 01:19:24 | 显示全部楼层
    C++逆向学习三步走
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    前天 12:37
  • 签到天数: 1574 天

    [LV.Master]伴坛终老

    发表于 2015-8-30 20:01:09 | 显示全部楼层
    谢谢楼主的分享!!!
    PYG19周年生日快乐!
  • TA的每日心情

    昨天 20:12
  • 签到天数: 2268 天

    [LV.Master]伴坛终老

    发表于 2015-8-31 00:25:11 | 显示全部楼层
    搜到看雪的帖子了,内容好厉害
    PYG19周年生日快乐!
  • TA的每日心情

    2021-7-30 09:06
  • 签到天数: 131 天

    [LV.7]常住居民III

    发表于 2015-9-3 16:13:06 | 显示全部楼层
    感谢分享,先保存起来,有时间再看。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    昨天 07:59
  • 签到天数: 2271 天

    [LV.Master]伴坛终老

    发表于 2015-9-15 19:18:46 | 显示全部楼层
    感谢分享,先保存起来,有时间再看。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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