返回介绍

第 20 章 编译器变体

发布于 2024-10-11 21:05:48 字数 596 浏览 0 评论 0 收藏 0

现在,如果你已经掌握了前面的内容,你就拥有了高效使用 IDA 的基本技巧,更重要的是,能让 IDA 为你工作。作为初学者,下一步该学习如何适应二进制文件(而非 IDA )将扔给你的“忍者星”飞镖了。根据你分析汇编语言的动机,你要么对你分析的代码非常熟悉,要么对它一无所知。如果你碰巧花费了大量时间研究在 Linux 平台上使用 gcc 编译的代码,那么,你可能非常熟悉它生成的代码的风格。另一方面,如果有人给你一个使用 Microsoft Visual C++(VC++)编译的调试版程序,那么,对于你看到的代码,你会感到十分困惑。恶意软件分析人员尤其会遇到各种类型的代码。即使暂时将与模糊相关的主题放在一边,恶意软件分析人员还是很可能会在同一天下午看到使用 Visual Basic、Delphi、Visual C/C++等其他语言创建的代码。

在这一章中,我们将简要讨论 IDA 中各种编译器的不同之处。这样做的目的不是为了研究编译器为何存在差异,而是为了揭示这些差异如何在反汇编代码清单中表现出来,以及如何解析这些差异。此外,用于构建特定软件的编译器及相关选项构成了分析该软件作者的一个数据点。

虽然存在大量使用各种语言的编译器,但是,在本章的示例中,我们主要使用已编译 C 代码,因为各种平台的 C 编译器很常见。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文