问题标签 [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.
macos - mach_vm_region_recurse,在osx上映射内存和共享库
我正在使用 vm_region_recurse_64 来映射给定进程的内存,vmmap 样式。
尝试通过检查内存中每个库的 Mach-O 标头来获取应用程序加载的共享库的完整列表,但是,vm_region_recurse 似乎不同意 vmmap 命令行工具关于某些特定内存部分开始和结束的具体位置。
这在 90000000-a0000000 系统子图中尤其如此,其中加载了大多数 os 共享库。
现在我有点难过。我可以列出内存段,大致说明它们是什么类型,并使用 vm_read 从它们中读取。但事实证明,列出它们并获得正确和特定的区域信息是困难的。
vmmap 如何获取加载库的特定位置的列表?我的方法似乎无效。
编辑:这是我正在使用的基本代码。它返回一个与 vmmap 相似但不相同的内存映射。没有特定库的内存区域。
linux - ELF/linux中Mach-O的两级命名空间符号解析
有人知道在 ELF/linux 中相当于 Mach-O 的两级命名空间符号解析吗?我想要链接到 lib+sym 的代码,而不是 sym。
我正在尝试做可以最好地描述为通常是 JIT 编译的预编译。我想获得符号的编译时绑定,这通常由 dlopen/dlsym 完成。但是,可能会发生冲突,dlopen/dlsym 可以很好地避免这种情况。
似乎 ELF 实际上缺少这个,并且有 VERSION 的东西,但是任何解决方法或建议都会受到赞赏。
mach-o - 我在 Mach-O 64 位反汇编中缺少方法,为什么?
我很好奇为什么当我反汇编自己的胖二进制程序(使用 otx)时,一次用于 i386 架构,一次用于 x86_64 架构 - 我找不到 i386 中包含的某些方法?
例如,方法 isAvailable 的反汇编将在 i386 disasm 下完整显示,但在 x64 下不会出现...?想法为什么?我是否缺少对 Mach-O 结构的基本了解?
谢谢!
ios - Apple Mach-O 链接器(id)警告:为 MacOSX 构建,但链接到为 iOS 构建的 dylib
从过去 xCode 4 开始抱怨链接器问题:
ld:警告:为 MacOSX 构建,但链接到为 iOS 构建的 dylib:/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/System/Library/Frameworks//CoreGraphics.framework/CoreGraphics
我已经检查了所有内容,但配置中仍然没有任何可疑之处,它可以编译并运行。我唯一看到的是CoreGraphics.framework之前的双斜杠,为什么我不知道。尝试在“构建阶段”上删除并再次添加库,但没有帮助。
cocoa - Mac 应用程序归档 - Apple Mach-O 链接器 (Id) 错误
我有一个使用 Obectiveflickr、PHFacebook 等框架的 Mac 应用程序。这些框架被复制到 Library/Frameworks 中,并从那里链接到应用程序。应用程序运行成功,但是当我尝试归档它时(为了打包它),它给出的错误如'“Apple Mach-O Linker(Id)错误“.objc_class_name_PhFacebook”,引用自:'。我该如何解决这个问题?
谢谢,
LS 开发人员
objective-c - 使用 Objective-C 元数据生成类依赖图
这个人想出了一个非常简洁的工具来生成类依赖图——然而,它依赖于解析你的源代码和寻找#import
指令。
这很整洁,但我有很多问题。其中最重要的是它没有考虑导入的导入,也没有考虑前缀标题,也没有考虑导入引用的文件中的类是否实际被使用。
我想做一些更类似于class-dump
并检查存储在 Mach-O 文件中的 Objective-C 元数据以生成类依赖项的内存表示。
我宁愿不从头开始这样做,所以我想知道:
- 它已经完成了吗?
- 是否有一个开源库可以为我提供提取这些信息所需的基础工具(一个检查 Mach-O 文件并创建其中包含的 Objective-C 信息的外观的库 - 这样我就可以迭代所有类、它们的方法、属性、ivars 等,并扫描对其他类的引用)我认为 class-dump 的源代码将是一个很好的起点。
- 如果您在此类事情上有经验,那么我要完成的工作是否可行?
- 我需要克服哪些障碍?
macos - MacOSX:找出进程(给定 PID)是否在 32 位或 64 位 Intel 模式下运行
我有一个 PID,我想知道进程是在 32 位还是 64 位 Intel 模式下运行。如何?
objective-c - fork Cocoa 进程并重新初始化 Cocoa。如何?
我尝试了fork()
一个 Cocoa 进程并设置了一个新的 Cocoa/ObjC 环境,但我得到了错误:
有没有办法在分叉的过程中重新初始化 Cocoa/ObjC?
我知道关于文档fork()
确实说它是有限的,但是我想知道是否还有办法做到这一点,而不仅仅是文档所说的。
我试图阅读处理 execve 系统调用 (bsd/kern/kern_exec.c) 的 XNU 内核的源代码,但我不习惯那些我不能轻易说出是否可以做类似事情的代码用户空间与否。
xcode - Apple Mach-O Librarian (libtool) 错误,没有特定错误
我之前不得不处理大量的 libtool 错误,但我真的不知道如何处理那些没有给我提示的错误。
这是完整的错误:
我正在使用链接器标志 -lxml2 -ObjC -all_load
关于导致无异常 libtool 失败的任何想法?
哦,我正在构建一个静态库目标。以前,这是一个应用程序,我撕掉了所有不可重用的东西,作为我可以使用的应用程序框架的开始。
iphone - iPhone Mach-O 二进制文件、字符串存储、__TEXT/__DATA
我正在尝试从 iPhone Mach-O 二进制文件中读取常量(或初始化)字符串。我知道这 3 个相关的 segment.sections 是 _ TEXT。_cstring _文本。_ustring 和 _数据。_cfstring。但是,即使我知道字符串信息存储在我提取的这三个数据块中,我也无法理解它,而且看起来像垃圾 - 我看不到任何可识别的字符串。谁能对此有所了解,并让我了解读取字符串数据需要采取哪些步骤?
我查看了一些代码(来自http://llvm.org/svn/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp的 GetAddrOfConstantCFString() ),但同样,不能完全将它与我的内容联系起来见二进制文件。
在我的情况下,相关部分的大小是:
给你一个想法,__cfstring 部分的前 32 个字节,我认为它包含实际的字符串,如下所示:
转储_数据。_cfstring
非常感谢你的帮助!