问题标签 [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 投票
1 回答
501 浏览

target - 使用 FASM 的 Mach-O 二进制文件

有人使用 FASM 生成 Mach-O 二进制文件吗?这是我选择的汇编程序,我认为了解这是否可以完成以及是否有人已经在这样做会很好。

提前致谢。

0 投票
2 回答
1039 浏览

objective-c - Mach-O loader 如何加载不同的 NSString 对象?

我知道如果你在 Mac OS 的源代码中定义了一堆 @"" NSString 对象。这些 NSString 将存储在 Mach-O 库中的一个段中。

0x0000如果我对二进制文件进行十六进制转储,它们将与分隔符一一紧密对齐。我想知道的是Mac OS X中的加载器在程序运行时如何加载这些NSStrings?它们是通过识别分隔符简单地加载0x0000还是这些是二进制文件中其他地方的字符串偏移表,指向单独的 NSString 对象?谢谢。

(我真正想做的是增加其中一个 NSString 的长度,所以我必须知道加载器如何识别这些单独的对象)

补充:我知道如果你在代码中定义像@“abc”这样的CStrings,它将进入cstring段。如果它是像 @"“”" 这样的字符串,并且没有 ascii 字符,根据我的挖掘,它将进入 ustring 部分。

0 投票
2 回答
703 浏览

macos - mach-o/nlist.h (Mac OS X) 需要什么库

我似乎很难在我的源代码中找到正确的库来#include。在网上和我的手册页上搜索...没有结果:'(

有人有线索吗?

0 投票
1 回答
2783 浏览

linux - 我可以在 Linux 上运行 Mach-O 可执行 i386 的二进制文件吗?

我有一个 Mach-O 可执行 i386 程序,我希望在 linux 服务器上运行它。这可能吗??如果是这样,怎么做?我看不出来,想办法解决。

谢谢!

0 投票
1 回答
2243 浏览

objective-c - 如何为 OS X 创建 Cocoa (Obj-C) 动态库?

所以基本上我想在 OS X 中创建一个使用 Cocoa 构建的动态库(在 Obj-C 中,而不是 C 或 C++)。我的问题是 - 我该怎么做?

最终,我希望该库由另一个应用程序加载(我知道该怎么做)。我只是不知道如何使用 Objective-C 创建一个模块。

谢谢!

0 投票
1 回答
701 浏览

iphone - Mach-O __DATA 段,__cfstring 段中的字符串使用什么编码?

我想知道如何从 Mach-O 二进制文件的特定部分正确读取字符串。(这是 iOS 的二进制文件。)

我很好奇在__DATA段中找到的字符串,__cfstring部分。这些部分似乎包含简单结构的数组:

问题归结为:您如何确定 的编码string

0 投票
1 回答
388 浏览

binary - 填充的意义何在?

特别是,我正在阅读 OS X 上 Intel 32 的 Mach-O 二进制文件格式。在 FAT 标头之后,在第一个存档的偏移量之前有一大堆填充。所有这些填充有什么意义?

更具体地说,在 FAT 头和第一个存档(特别是 mach_header)之间有超过 4000 字节的填充。为什么要包含所有这些额外的字节?!OS X 是否喜欢在其所有通用二进制文件中添加 4 KB?

0 投票
0 回答
2531 浏览

linker - 从 dylib 中删除依赖的共享库?

我知道我可以使用 install_name_tool 的 -change 选项来更改存储在 dylib 中的依赖共享库的名称,但是有没有办法删除依赖共享库,我相信这是一个 LC_LOAD_DYLIB 命令,所以它不会当我在 dylib 上运行 otool -L 时不显示?

0 投票
1 回答
239 浏览

iphone - iPhone 3.1.3 GDB dyld:找不到符号

我试图让 gdb 在 iphone 应用程序中在 0x2000 处中断。问题是它需要一个适用于 iOS 4 的共享库。我尝试在 GDB 中设置 sysroot 并设置 solib-absolute-path 但它不起作用。有什么方法可以更改 Mach-O exec 中的加载命令?我只是不想在加载 exec 后转储内存。

0 投票
1 回答
232 浏览

linker - Mach-O 文件中的补丁链接?

我有一个非常旧的 Mach-O 二进制文件,它链接到一堆旧框架,而不是不再存在或不兼容。

我的目标是在不替换现有框架的情况下从这些框架中抽象出组件。为此,我想更改内置框架路径,以便它们指向我的抽象框架。

如何修改 Mach-O 文件中链接框架的路径?