蜂鸣片逆向应用电路分析,支付宝逆向注册分析

大多数计算机程序都是用C或C++等高级语言编写的,无法直接执行。在使用它们之前,必须将它们编译成包含计算机可以执行的机器语言的二进制可执行文件。但是您如何知道您编译的程序是否与高级源代码具有相同的语义?令人不安的答案是您不知道。

高级语言和二进制机器语言之间存在巨大的语义鸿沟,因此很少有人知道它们之间是如何关联的。大多数程序员对他们的程序在幕后所做的事情了解有限,只是相信编译后的程序会按预期运行。因此,许多编译器错误、微妙的实现错误、二进制级后门和恶意寄生站点可能会被忽视。

更糟糕的是,工业、银行和嵌入式系统包含无数的二进制程序和库,随着时间的推移,其源程序可能会丢失或私有。这意味着这些程序和库无法使用传统方法修复。在源代码级别应用补丁或评估安全性。即使对于大型软件公司来说,这也是一个严重的问题。例如,微软最近发布了一个精心设计的二进制补丁来解决Microsoft Office 公式编辑器程序中的缓冲区溢出问题。

如何在二进制级别分析和修改程序。

《二进制分析实战》

它可以消除你的疑虑。

无论您是安全研究人员、恶意软件分析师、程序员,还是只是对二进制分析感兴趣的人,这些技术都可以帮助您了解并深入了解您每天创建和使用的二进制文件。

本书的主要目标是让您成为一名全面的二进制分析器,并熟悉该领域的所有重要主题,包括二进制检测、污点分析和符号执行等基础和高级主题。本书无意成为一本全面的资源,因为二进制分析的领域和工具变化很快,一本全面的书可能很快就会过时。相反,本书的目的是让您了解所有重要主题并帮助您更加独立地学习。同样,本书提供了有关如何对x86 和x86-64 代码进行逆向工程(附录A 中介绍了基础知识)以及如何分析这些平台上恶意软件的完整复杂性的详细信息。关于这些主题已经有很多专门书籍,因此这里没有必要重复它们的内容。

本书分为四个部分。

第1 部分“二进制格式”

介绍对于理解本书其余部分非常重要的二进制格式。如果您已经熟悉ELF 和PE 二进制格式以及libbfd,则可以跳过本节中的一章或多章。

第一章“二进制简介”

提供二进制程序分析的概述。

第2 章“ELF 格式”

介绍Linux 上使用的ELF 二进制格式。

第3 章“PE 格式概述”

PE 和Windows 使用的二进制格式的简要说明。

第4 章“使用libfd 创建二进制加载器”

演示如何使用libbfd 解析二进制文件并构建本书其余部分中使用的二进制加载器。

第2 部分“二元分析基础知识”

包含基本的二进制分析技术。

第5 章“Linux 二进制分析”

介绍适用于Linux 的基本二进制分析工具。

第6 章“反汇编和二进制分析的基础知识”

涵盖基本分解技术和基本分析模式。

第7 章,“简单的ELF 代码插入技术”

在本章中,您将首次了解如何使用寄生代码插入和十六进制编辑等技术来修改ELF 二进制文件。

第3 部分“高级二进制分析”

介绍高级二进制分析技术。

第8 章“自定义反汇编”

演示如何使用Capstone 创建自定义反汇编工具。

第9 章“二进制仪器”

本文向您展示如何使用Pin 修改二进制文件。 Pin是一个成熟的二进制工具平台。

第10章“动态污染分析的原理”

我们介绍动态污点分析的原理,这是一种非常先进的二进制分析技术,可让您跟踪程序内的数据流。

第11章“基于libdft的动态污点分析”

了解如何使用libdft 构建您自己的动态污点分析工具。

第12章“符号执行的原理”

仅用于符号执行。这是另一种先进技术,可用于自动推断复杂程序的属性。

第13 章,“使用Triton 实现符号执行”

演示如何使用Triton 构建实用的符号执行工具。

第4 部分“附录”

包含可能有用的资源。

附录A,“x86 汇编快速入门”

为不熟悉x86汇编语言的读者提供简要介绍。

附录B,“使用libelf 实现PT_NOTE 覆盖”

第7 章提供了所使用的elfinject 工具的实现细节,并介绍了libelf。

附录C“二进制分析工具列表”

包含可用二进制分析工具的列表。

什么是二进制分析?为什么需要它?二进制分析是分析计算机二进制程序(称为二进制文件)及其包含的机器代码和数据的科学和艺术。换句话说,所有二进制分析的目标都是发现(并可能改变)—— 二进制程序的真实属性。换句话说,发现二进制程序实际上做了什么,而不是我们认为它们应该做什么。许多人将二进制分析与逆向工程和反汇编联系起来,这至少部分正确。尽管反汇编是许多形式的二进制分析的重要第一步,但逆向工程是二进制分析的常见应用,并且通常是记录专有软件或恶意软件行为的唯一方法。然而,二进制分析的世界远远不止于此。从广义上讲,二进制分析技术可以分为两类,或这两类的组合:

静态分析。

静态分析技术分析二进制文件而不运行它们。这种方法有两个优点。首先,它可以一次性分析整个二进制文件,其次,它不需要特定的CPU 来运行二进制文件。例如,您可以在x86 计算机上静态分析ARM 二进制文件。这种方法的缺点是静态分析无法了解二进制文件在执行过程中的状态,这使得分析变得非常困难。

动态分析。

与静态分析相反,动态分析执行二进制文件并在运行时分析它们。这种方法通常比静态分析更容易,因为它提供了对整个运行时状态的完整理解,包括变量的值和条件分支的结果。但是,由于您只能看到执行的代码,因此这种方法可能会错过程序中有趣的部分。

静态分析和动态分析各有其优点和缺点,本书将教您这两种方法的技巧。除了被动二进制分析之外,您还将学习二进制检测技术来修改二进制文件,而无需源代码。二进制检测依赖于反汇编等分析技术,可用于辅助二进制分析。鉴于二进制分析和仪器技术之间的共生关系,本书涵盖了这两个领域。

如前所述,您可以使用二进制分析来记录和测试源代码程序。然而,即使源代码可用,二进制分析对于查找在二进制级别比在源代码级别更明显的细微错误也特别有用。许多二进制分析技术对于高级调试也很有用。本文介绍了可以在这些场景中使用的二进制解析技术。

为什么二进制分析很难二进制分析很困难,比源代码级别的等效分析要困难得多。事实上,许多二进制分析任务本质上是不确定的,这意味着不可能构建一个始终为这些问题返回正确结果的分析引擎。为了了解未来的挑战,这里列出了二进制分析的原因。的难度。不幸的是,这个列表并不完整。

没有任何符号信息。

当您使用高级语言(例如C 或C++)编写源代码时,您可以为变量、函数、类和其他结构指定有意义的名称。这些名称称为符号信息,或简称为符号。正确的命名约定使源代码更容易理解,但它们在二进制级别上并不真正相关。因此,二进制文件通常会被删除符号,从而使代码更难以理解。

无类型信息。

高级语言的另一个特点是定义良好的变量类型(如int、float、string)和更复杂的数据结构(如struct类型)。相反,类型没有在二进制级别显式声明,因此很难推断数据的用途和结构。

没有高级抽象。

现代程序分为类和函数,但编译器丢弃了这些高级信息。这意味着二进制文件看起来是一大块代码和数据,而不是一个结构良好的程序,因此将其恢复为更高级别结构的过程是复杂且容易出错的。

混合代码和数据。

二进制文件可以(并且确实)包含与可执行代码混合的数据。这使得将数据解释为代码变得更容易。反之亦然,但这可能会导致错误的结果。

位置相关的代码和数据。

由于二进制文件不可修改,因此即使添加一条机器指令也可能会导致代码移位问题,从而使代码中其他位置的内存地址和引用无效。因此,任何类型的代码或数据修改都是非常困难的,并且很容易破坏二进制文件。

由于上述挑战,我们在实践中经常面临分析结果不准确的情况。二进制分析的一个重要部分是寻找创造性的方法来构建即使出现解析错误也可以使用的工具。

谁应该阅读这本书? 本书面向安全工程师、学术安全研究人员、逆向工程师、恶意软件分析师和对二进制分析感兴趣的计算机科学专业的学生。

此外,本书涵盖了更高级的知识,需要一些编程和计算机系统的基础知识。要充分利用本书,您需要:

能够使用C 和C++ 进行有效编程。

了解操作系统的内部结构,比如什么是进程,什么是虚拟内存。

了解如何使用Linux shell(尤其是bash)。

x86/x86-64 汇编程序的使用知识。如果您还不了解汇编,请务必先阅读附录A。

如果您以前从未编程过或者不喜欢深入研究计算机系统的底层细节,那么这本书可能不适合您。

本文和图片来自网络,不代表火豚游戏立场,如若侵权请联系我们删除:https://www.huotun.com/game/595827.html

(0)
上一篇 2024年5月27日
下一篇 2024年5月27日

相关推荐

  • 和平精英画质修改器用哪个?

    和平精英画质修改器用哪个? 您可以在设置里找到,提示:是在游戏设置里 和平精英柠檬假日怎么获取? 1. 点击大厅主页右侧的活动 2. 找到领取空投节套装,收集能量 3. 为加快收集速度可去好友家收取 4. 集齐能量,即可领取柠萌假日套装 和平精英比例修改器怎么下? 没法下载,因为修改器没有独立的官方 和平精英改比例,首先需要对手机进行root,不过这个是有风…

    游戏快讯 41分钟前
  • 和平精英队伍语音怎么开?

    和平精英队伍语音怎么开? 和平精英是一款非常有趣的战略射击游戏。如果你要与团队一起打游戏,可以开启队伍语音,使用内置的语音/文字聊天工具。具体步骤如下:1. 在游戏中选择“组队”并创建一个队伍。2. 单击您的队徽以打开选项菜单。在此菜单中,您可以设置您的队伍语音选项。3. 您可以选择“仅限文字聊天”、“语音聊天”或“关闭语音聊天”。选择“语音聊天”将允许您使…

    游戏快讯 2小时前
  • 和平精英挂件怎么使用?

    和平精英挂件怎么使用? 点仓库,背包,最上面的挂件按钮 和平精英挂件怎么获得? 商城通过军需币购买,也可以通过活动和手册获得 和平精英怎么装挂件? 和平精英在仓库里点击挂件就可以穿戴各种挂件 和平精英所有挂件? 一、动物系: 神秘黑猫挂件:小猫咪的设计非常惹人爱,尤其是那个表情!作为抽军需的附带产物,好看但是一个十连只出挂件也不会感觉很良心,反而很鸡肋! 小…

    游戏快讯 3小时前
  • 和平精英uzi怎么升级? 和平精英uzi的原名?

    和平精英uzi怎么升级? 和平精英手册uzi升级的方法: 首先打开军备→研究所→找到淘汰特效,里面是手册的升级枪,想要升级,找到飞飞驰魅影皮肤,左下角会显示升级所需要的材料,攒够了就可以升级了,然后从仓库里给枪械装备上就行了。 和平精英uzi的原名? 简自豪 Uzi小狗真名简自豪,湖北宜昌人.一区ID最初是神秘菜鸟,后来是Uzi, 简自豪 1997年3月29…

    游戏快讯 4小时前
  • 和平精英穿三级套血量多少?

    和平精英穿三级套血量多少? 100,如果能量值满的话会更抗打。 依据是每当你击败一个敌人,在结算时伤害总值会+100 和平精英落地卡怎么解决? 1、查看是否优先使用独立显卡,如果开游戏时电脑设置使用的是集成显卡那卡顿也很正常。如何设置游戏时使用独显,可以在显卡的控制面板里设置。 2、确定使用独显的情况下查看显卡驱动是否需要升级,驱动是否为最新。如果需要升级的…

    游戏快讯 6小时前