我为什么要学习C++反汇编
来源:互联网 发布:中南邮票交易软件 编辑:程序博客网 时间:2024/04/29 14:21
http://www.cnblogs.com/pugang/archive/2012/06/11/2545406.html
我为什么要学习C++反汇编
写在开始
从6月7日开始到今天已经有5天了,在这5天的业余时间(工作之余)里终于系统的完成了C++反汇编的大部分问题的学习,今天写篇总结,算是对这几天学习的总结。
首先我想说明的一个问题就是我为什么要花时间研究C++反汇编?
这事得从笔者遇到的一个问题开始说起,大约2周前我们项目做在开发过程中遇到了一个Crash的问题,由于只有客户提供的一个.dmp文件,我们只能从这个地方入手,说起来很奇怪,从C++代码的角度根本看不出来问题,我找来了一个传说中的公司的大牛,大牛就在我面前给我详细的分析了一遍这个转储文件,感觉他看反汇编出来的代码就像看C++源代码一样,看问题也会更透彻,这个问题分析结束了之后笔者觉得应该在这方面稍微研究一下,于是有了最近的几篇文章。
我是怎么研究的
说起汇编代码,最开始接触是上大学的时候,学校教的IBM-PC汇编语言,当时觉得还成,用汇编写些东西还算顺利,后来大三以后在做在做嵌入式开发(ARM,DSP开发笔者都略懂)的时候也写过一些汇编的代码,那么为什么看C++反出来的汇编我突然看不懂了呢?
首先就是对不上号,看到汇编代码,不知道对应的C++代码应该是什么样子的,于是在这几天里面我写了很多的demo, 试图找到两者之间的对应关系,包括:
1. 函数调用
2. 虚函数处理
3. 类处理
4. This指针
5. 虚表
6. 参数传递
7. 栈实现
…
终于把这两者之间的对应关系找到了,找到了这两者的对应关系以后,再去看反出来汇编感觉是有如神助,行云流水,不敢说全懂了,但是大部分已经打通了。
总结,建议和致谢
感谢大牛让我见识到了C++反汇编有东西需要学,其实学习这东西不是说一个人有多牛,重要的是你应该根据自己的情况知道自己欠缺哪方面的知识,并且知道如何去补上这些东西,如果有需要同样知识的朋友,建议作代码对比,个人觉得这是一个捷径。如果对这方面有什么问题欢迎一起讨论,共勉..
- 我为什么要学习C++反汇编
- c反汇编学习汇编
- 我为什么要学习C语言???
- 反汇编---汇编基础学习
- ARM反汇编学习
- 反汇编的学习
- 反汇编学习
- 反汇编学习
- 反汇编要点学习
- Linux汇编代码学习,反汇编简单的c及分析汇编代码工作过程
- JAVAP -C反汇编指令的学习(转载)
- JAVAP -C反汇编指令的学习(转载)
- 转载学习c + +反汇编-来自贡献者feixiaoxing
- 通过反汇编C语言小程序学习Liunx汇编语言
- c语言反汇编公式
- 反汇编一个c程序
- C语言的反汇编
- c语言反汇编代码
- 《Effective STL》读书总结--关于STL 你不一定都懂的
- 全排列问题
- 堆内存破坏检测实战--附完整调试过程
- 逆向分析一个完整的C++程序包含寄存器与参数传递详解
- Java集合类的学习(二)——Collection接口和Iterator迭代器
- 我为什么要学习C++反汇编
- Unity 数据管理
- 逆向反汇编代码推算C++的局部变量
- 取消移动硬盘活动分区
- 9部外国励志电影
- 模拟水波效果
- Java集合类的学习(三)——List
- 安装cocos2dx模板时,出现:输入错误: 没有文件扩展“.js”的脚本引擎。
- 【C/C++和指针】深度解析---指针与数组 【精华】