ios - iOS 10越狱环境下,使用dlopen system/library/framework报错

标签 ios reverse-engineering

System processes

系统进程:/System/Library/Frameworks/HealthKit.framework/healthd,我dlopen这个,出现dlerror: dlopen(/System/Library/Frameworks/HealthKit.framework/healthd,1):找不到合适的图像。确实发现:/System/Library/Frameworks/HealthKit.framework/healthd:地址空间不足 不知道怎么办,谁能给我一些资料?

最佳答案

您正在尝试 dlopen 一个 mach-o 可执行文件而不是 dylib,虽然 dyld( Darwin 动态链接器)不一定介意,但可执行段的布局方式不同,即您有 __PAGEZERO dyld 会尝试为其分配空间并失败。即使您确实成功地 dlopen 它,您也无法用它做太多事情,因为它没有您可以 dlsym 导出的符号。

如果您尝试加载 HealthKit 框架,则应该加载框架二进制文件本身,尽管这不是必需的,因为在 iPhoneOS 的生产版本中,您可以使用 dlsym 从任何符号获取任何符号dyld 共享缓存中的框架,通常包含所有系统框架/库。

关于ios - iOS 10越狱环境下,使用dlopen system/library/framework报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43860765/

相关文章:

ios - 如何绘制一个里面有数字/字符串的圆盘?

ios - dismissViewControllerAnimated 在 block 内不起作用

python - 返回自定义时间戳

ios - 如何检查原生 iOS 应用程序的 UI?

java - Jboss hibernate 工具 : Reading error schema - Probably a JDBC driver Issue

iphone - Objective-c:不使用 alloc 时何时自动释放 nsnumber 对象

ios - 如何访问 Apple 照片应用程序中使用的人物相册

ios - ARFrame 中的 CapturedImage 到纵向/垂直

reverse-engineering - 获取 Steam 用户的库存上下文

java - 如何从 Java 代码生成 UML 图(尤其是序列图)?