angr-doc 8: Remarks

备注 Remarks

恭喜你!如果你一直读到了这里(编者注:这个仅仅适用于我们真正地写完到目前为止所有的TODO)那你就已经学习了angr中用于开始进行二进制文件分析的所有的基本组成部分。

从根本上说,angr就是一个模拟器。它是一个带有对环境的许多考虑,高度可操作的并且非常与众不同的模拟器,对,但是在它的核心部分,你使用angr是为了提取某些成块字节码在某个CPU上的行为的信息。在设计angr的过程中,我们已经尝试提供给你工具和在这个模拟器之上的抽象来让特定的常见任务更加易于使用,但是通过使用模拟状态并观察.step()的影响,没有你不能解决的问题。

随着你更深入地阅读这本书,我们将会描述更多技术上的对象,以及如何调整angr的行为以适应复杂场景。这些知识应该会告诉你该如何使用angr,以便于你能够使用针对任何给定问题解的捷径。但是,最终,你将会想要通过自由支配工具来创造性地解决问题。如果你可以将一个问题转换成具有已经定义的并且易于管理的输入输出的形式,你绝对可以使用angr来达成你的目标,只要这些目标涉及分析二进制文件。我们提供的抽象和工具都不是如何使用angr解决某个给定的任务的一劳永逸的方案——angr被设计成可以集成或者按照你的想法作特殊用途。如果你看到了一条从问题到解决方案的路径,那就使用它吧。

当然,要变得非常熟悉angr这样大量的技术是很困难的。为了达到这一点,你绝对可以依靠社区(通过angr slack是最好的选项)来讨论angr并使用它解决问题。

祝你好运!

上一篇
下一篇