问题标签 [mach-o]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
12760 浏览

linux - Linux Mach-O 反汇编程序

是否有任何 Linux 程序可以像 objdump 这样反汇编 OSX 通用 x86/x86_64 胖 Mach-O 二进制文件?GNU binutils 的 objdump 支持 ELF 和 Windows PE 文件,但不支持 Mach-O。

0 投票
1 回答
6975 浏览

ios - Mach-O 符号存根 (IOS)

我正在尝试了解 Mach-o 文件的工作原理,并在可用的在线资源方面取得了很大进展(特别是这里的 Apple 页面:http: //developer.apple.com/library/mac/#documentation /developertools/conceptual/MachORuntime/Reference/reference.html),但我在理解符号存根如何工作方面遇到了障碍。

使用“otool -l”我看到以下部分:

但是,当我在十六进制编辑器中查看二进制文件中的数据时,我看到以下 4 个字节一次又一次地重复:

这看起来有点像 LDR,它将 PC 增加了固定数量,但我不明白为什么符号表中每个条目的数量都相同。

如果有人可以解释为什么会这样,或者提供任何达到这个低水平的资源,请告诉我。

谢谢!

0 投票
1 回答
1025 浏览

environment-variables - 将加载命令添加到 mach-o 二进制文件

是否可以将 LC_LOAD_DYLIB 添加到二进制文件中?已经防止使用 DYLD_INSERT_LIBRARIES,所以我需要另一个将 dylib 加载到应用程序中

0 投票
1 回答
485 浏览

ios - 如何从 IOS Mach-O 二进制文件中推断导入的方法名称

在使用反汇编程序分析 IOS 二进制文件 (Mach-O) 文件时,我看到方法名称已为外部库中的函数进行了注释,即使对于发布二进制文件中的 C 样式函数调用也是如此。我一直在阅读 Mach-O 文件格式,但找不到将 __stub_helper 条目与函数名称匹配的问题,并且名称似乎没有存储在二进制文件本身中。

谢谢!

0 投票
2 回答
1724 浏览

objective-c - Apple Mach O 链接器警告

我收到了这个烦人的警告

我已经像这样在 constant.h 文件中声明了搜索标志

从过去的两天开始,我一直在解决这个问题,我已经尝试了谷歌的所有可能的解决方案,但它们似乎都没有奏效。

我的应用程序同时支持 armv6 和 v7 架构,我已经为其添加了设置,但这个问题似乎是问题所在,它只是这个 bool 标志自 2 天以来一直在咬我的头。

请帮我解决这个问题 谢谢

0 投票
2 回答
12943 浏览

objective-c - Apple Mach-O 链接器 (id) 错误 - 困惑?

在我进行构建之前,我的项目没有错误。这是错误日志。

.

我很困惑,我已经尝试调试了几个小时但没有成功。

0 投票
2 回答
919 浏览

c++ - Apple Mach-O 链接器错误,由于文件扩展名

可怕的典型链接器错误..

ld:未找到架构 armv6 的符号 collect2:ld 返回 1 个退出状态

但是,它是由文件名引起的吗?我使用 C++/Objective-C,所以我所有的 Obj-C 文件都是 .mm,但我永远不能使用任何 .c 文件。例如,我在我的项目中包含了 SFMT 算法,这给了我这些错误,但是只需将单个 .c 文件更改为 .cpp 就可以让它消失并且代码工作得很好!我只包括标题,所以我不确定为什么这会有所不同。

现在的问题是我正在尝试包含 Freetype2,给了我同样的问题(很确定这是因为它是 .c),但它太大而无法重命名每个文件,而且我也在使用链接的二进制文件,所以除非我用新的文件名重新编译它,我不能改变它。所以现在是时候找出这背后的真正原因了。

知道为什么会发生这种情况吗?如何停止 .c 文件的链接器错误?

0 投票
2 回答
27267 浏览

macos - 为什么 Mac Os X 中的 Mach-O 库需要 install_name_tool 和 otool?

我正在使用最新版本的 Xcode 4 开发 Cocoa 应用程序,我想将动态库链接到我的项目 ( dylibs)。

我在某处读到,在我的项目中添加库是不够的,因为我必须运行install_name_toolotool让我的项目使用捆绑在我的项目中的库。

我已经阅读了 的手册页install_name_tool,但我不明白为什么我必须这样做。

图书馆如何运作?对应用程序和库具有指向我机器中特定位置的路径的部分特别感兴趣,例如/usr/local/lib/mylibrary.dylib运行时otool -L

0 投票
2 回答
2860 浏览

macos - Mach-O 文件 LC_FUNCTION_STARTS 加载命令

有谁知道 Mach-O LC_FUNCTION_STARTS 命令指向的数据格式是什么?

我能找到的最多信息是在 loader.h 头文件中:

我看到 dyldinfo 工具有一个 -function_starts 选项来分析这些数据并且该工具是开源的,但是该工具的最新发布版本不包含支持:

http://opensource.apple.com/source/ld64/ld64-97.2/src/other/dyldinfo.cpp

有谁知道我在哪里可以获得最新版本的 dyldinfo 的源代码,或者我可以在哪里获得有关此加载命令的更多信息?

谢谢!

0 投票
1 回答
6203 浏览

ios - Linux 上用于读取/转储 MachO 文件的工具?

Linux 上是否有用于读取/转储/分析 MachO 文件的工具?像readelfor之类的东西objdump,仅适用于 MachO 格式?这必须在 Linux 上运行。