问题标签 [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.
target - 使用 FASM 的 Mach-O 二进制文件
有人使用 FASM 生成 Mach-O 二进制文件吗?这是我选择的汇编程序,我认为了解这是否可以完成以及是否有人已经在这样做会很好。
提前致谢。
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 部分。
macos - mach-o/nlist.h (Mac OS X) 需要什么库
我似乎很难在我的源代码中找到正确的库来#include。在网上和我的手册页上搜索...没有结果:'(
有人有线索吗?
linux - 我可以在 Linux 上运行 Mach-O 可执行 i386 的二进制文件吗?
我有一个 Mach-O 可执行 i386 程序,我希望在 linux 服务器上运行它。这可能吗??如果是这样,怎么做?我看不出来,想办法解决。
谢谢!
objective-c - 如何为 OS X 创建 Cocoa (Obj-C) 动态库?
所以基本上我想在 OS X 中创建一个使用 Cocoa 构建的动态库(在 Obj-C 中,而不是 C 或 C++)。我的问题是 - 我该怎么做?
最终,我希望该库由另一个应用程序加载(我知道该怎么做)。我只是不知道如何使用 Objective-C 创建一个模块。
谢谢!
iphone - Mach-O __DATA 段,__cfstring 段中的字符串使用什么编码?
我想知道如何从 Mach-O 二进制文件的特定部分正确读取字符串。(这是 iOS 的二进制文件。)
我很好奇在__DATA
段中找到的字符串,__cfstring
部分。这些部分似乎包含简单结构的数组:
问题归结为:您如何确定 的编码string
?
binary - 填充的意义何在?
特别是,我正在阅读 OS X 上 Intel 32 的 Mach-O 二进制文件格式。在 FAT 标头之后,在第一个存档的偏移量之前有一大堆填充。所有这些填充有什么意义?
更具体地说,在 FAT 头和第一个存档(特别是 mach_header)之间有超过 4000 字节的填充。为什么要包含所有这些额外的字节?!OS X 是否喜欢在其所有通用二进制文件中添加 4 KB?
linker - 从 dylib 中删除依赖的共享库?
我知道我可以使用 install_name_tool 的 -change 选项来更改存储在 dylib 中的依赖共享库的名称,但是有没有办法删除依赖共享库,我相信这是一个 LC_LOAD_DYLIB 命令,所以它不会当我在 dylib 上运行 otool -L 时不显示?
iphone - iPhone 3.1.3 GDB dyld:找不到符号
我试图让 gdb 在 iphone 应用程序中在 0x2000 处中断。问题是它需要一个适用于 iOS 4 的共享库。我尝试在 GDB 中设置 sysroot 并设置 solib-absolute-path 但它不起作用。有什么方法可以更改 Mach-O exec 中的加载命令?我只是不想在加载 exec 后转储内存。
linker - Mach-O 文件中的补丁链接?
我有一个非常旧的 Mach-O 二进制文件,它链接到一堆旧框架,而不是不再存在或不兼容。
我的目标是在不替换现有框架的情况下从这些框架中抽象出组件。为此,我想更改内置框架路径,以便它们指向我的抽象框架。
如何修改 Mach-O 文件中链接框架的路径?