首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >逆向工程-选择架构

逆向工程-选择架构
EN

Stack Overflow用户
提问于 2012-07-27 01:56:57
回答 3查看 353关注 0票数 1

我正在读“逆转:逆向工程的秘密”一书,在第二章中,作者说:

如果您正在计划学习倒车和汇编语言,而没有具体的平台,请使用IA-32。

这本书是在2005年写的,所以我想知道这是否还相关?如果我没有逆向工程,装配等经验,我应该选择IA-32吗?

EN

回答 3

Stack Overflow用户

发布于 2012-07-27 02:02:39

就应用程序而言,IA-32仍然是windows最常用的体系结构,但是有些应用程序使用AMD64。我想这完全取决于你想要逆转的工程师是什么。

票数 0
EN

Stack Overflow用户

发布于 2012-07-29 03:53:19

我认识的大多数优秀的逆向工程师都是从WindowsIA-32程序集开始的,因为windows可执行文件(特别是恶意软件)大多是封闭的。您将在具有IA-32体系结构的windows中找到大量的二进制文件供您练习。在此之后,您可以切换到另一种架构,如AT&T。当您已经很好地使用IA-32时,只需稍微调整一下其他架构就可以了。

票数 0
EN

Stack Overflow用户

发布于 2012-12-13 23:01:58

现实地说,对于现实世界的逆向工程,人们仍将开始在未来几年的x86/IA-32组装。显然,我们最近看到了x64/ and 64接管,但这些CPU能够完全自主地运行x86代码(系统调用和OS确实需要像WoW64这样的仿真器的帮助)。关键的是,x86指令集的x64子集包括初学者希望首先了解的基本指令。

当然,在逆向工程中,关注IA-32代码有一种不同的、更引人注目的动机,这就是本机x86程序的大规模可用性。从纯反向的角度来看,如果您计划为x64 CPU编写程序,那么您只需要了解它们的任何信息。

正如我已经暗示过的那样,这些差异远远不足以使x86知识变得毫无价值。体系结构方面有一些变化(例如扩展寄存器(如RAX )以及对您可以使用它们的东西的更改),在指令集方面也有一些更改(例如,您的一些公共指令将期望64位寄存器操作数),但这是远远不同的。

还有其他平台,比如ARM,你的问题也会提到,但这些平台在你感兴趣的设备中并不普遍。默认情况下学习x86程序集是一个很好的建议。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11680465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档