博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
我为什么要学习C++反汇编
阅读量:6490 次
发布时间:2019-06-24

本文共 808 字,大约阅读时间需要 2 分钟。

写在开始

从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++反汇编有东西需要学,其实学习这东西不是说一个人有多牛,重要的是你应该根据自己的情况知道自己欠缺哪方面的知识,并且知道如何去补上这些东西,如果有需要同样知识的朋友,建议作代码对比,个人觉得这是一个捷径。如果对这方面有什么问题欢迎一起讨论,共勉..

转载地址:http://cbouo.baihongyu.com/

你可能感兴趣的文章
关于IBM的硬盘重建的一点知识
查看>>
IIS7上传文件大小限制解决办法
查看>>
Windows7与Window2008 64位IIS7上面DCOM配置Excel、Word
查看>>
假设所有电器都开源
查看>>
我的友情链接
查看>>
Oracle查询用户信息相关指令
查看>>
命令方式升级ESXi主机补丁包
查看>>
wget 下载jdk
查看>>
详细介绍思科的VTY
查看>>
双十二超人学院送福利
查看>>
人生就是放弃和选择
查看>>
OpenMP编程->调度优化
查看>>
WIN32汇编基础
查看>>
Oracle自适应共享游标
查看>>
Can't connect to local MySQL server through socket
查看>>
软考信息系统监理师2016年3月18日作业
查看>>
Spring boot中使用log4j记录日志
查看>>
Linux之文本处理工具-sed
查看>>
coco2d-x实现场景跳转
查看>>
中国大陆开源镜像站汇总
查看>>