如何快速读懂反汇编的汇编代码?

 我来答
我按名都背起来0c4
2018-03-20 · TA获得超过105个赞
知道答主
回答量:235
采纳率:0%
帮助的人:19.9万
展开全部

简单的逆向工程其实不难,IDA加Hex-Rays插件,可以直接把汇编还原成C代码。虽然还原出来的代码比较怪,但是已经比直接看汇编代码强多了。

如果想学逆向工程,常用的汇编指令要熟悉,各种调用约定要搞清楚,比如stdcallastcallcdecl、thiscall等,还有ARM的APCS,这对你理解函数之间的调用、参数的传递、栈指针的变化等很关键。如果程序在编译的时候没有使用全局优化,难度会低一些,使用全局优化后,各种寄存器会跨函数直接使用,跟踪起来比较费劲。

1.首先建议学习几门语言:汇编、C++、,Python,C++里的编程范型是比较多的。.这三门语言,差不多可以代表现今发挥了巨大作用的编磨胡程语言了。
2.逆向的直接基础知识,推荐几本书:
Intel 微御游樱处理器.
Windows环境镇丛下32位汇编语言程序设计
C++反汇编与逆向分析技术揭秘
IDA Pro权威指南
这些书是基本的书籍,要么很基础(汇编),要么比较抽象的研究软件逆向.没有多少实际的逆向的例子.
比如UltraISO注册算法&keygen分析很典型.你看了就知道软件逆向到底涉及了多少知识.
3.再掌握几个工具:

静态反汇编工具: IDA Pro
动态反汇编工具: ollydbg/x64dbg
Windows内核调试工具: windbg

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式