gpt4 book ai didi

objective-c - 在分析从 Swift 编译的二进制文件时,是否可以找出没有符号的函数的 Swift 方法名称?

转载 作者:搜寻专家 更新时间:2023-10-30 22:15:00 35 4
gpt4 key购买 nike

我是反汇编和逆向工程二进制文件的新手,如果这个问题毫无意义或不可能,请原谅我。

过去,当我尝试对 macOS 二进制文件进行逆向工程时,分析用 Objective-C 编写的二进制文件会产生很多有用的信息,因为通常所有的 Objective-C 类及其方法名称都很容易检索,因此弄清楚任何特定方法的作用要容易得多。

我正在尝试分析用 Swift(从技术上讲是 Swift 和 Objective-C 的组合)编写的二进制文件,现在大多数函数都没有符号。我可以像往常一样检索一些 Objective-C 方法,还有一些函数具有 Swift 风格的错位名称,但几乎所有其余函数都没有符号。我知道其中很多必须是 Swift 方法。

有没有办法像我使用 Objective-C 一样弄清楚这个二进制文件的 Swift 类是什么以及它们的关联方法?

使用像 Hopper Disassembler 这样的工具可以揭示一些 Swift 类的损坏名称(通常是像 _TtC4Something25SomethingElse 这样的符号),我可以获得它的实例变量名称及其偏移量的列表,但没有方法名称.

注意:有问题的二进制文件是 x64 macOS 二进制文件,而不是 iOS 二进制文件。

最佳答案

通常,逆向工程是从程序集中提取有意义的结构和描述的过程。到目前为止,您所做的通常只是“正常”逆向工程任务的第一部分。这有时可能是一个乏味的过程,涉及到映射结构和直接从汇编代码中理解函数的含义。

are pleanty of逆向工程教程和其他资源,并且需要对相关的汇编语言有很好的理解。真心推荐this这本书(它是合法在线可用的,原始版本是 chm 作者发布的)并且这不能轻易地包含在一个 SO 问题中。

您可能还想在 reverse engineeing 中获得更具体的帮助SE 测试版。

希望我为您指明了正确的方向。

关于objective-c - 在分析从 Swift 编译的二进制文件时,是否可以找出没有符号的函数的 Swift 方法名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39461177/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com