在iOS 10越狱环境中,使用dlopen system / library / framework错误

时间:2017-05-09 03:50:18

标签: ios reverse-engineering

System processes

系统进程:/System/Library/Frameworks/HealthKit.framework/healthd,I dlopen this,出现dlerror: dlopen(/System/Library/Frameworks/HealthKit.framework/healthd,1):找不到合适的图片。找到:/System/Library/Frameworks/HealthKit.framework/healthd:超出地址空间 我不知道该怎么做,有人能给我一些信息吗?

1 个答案:

答案 0 :(得分:1)

你试图破坏一个mach-o可执行文件而不是一个dylib,而dyld(Darwin动态链接器)并不一定介意,可执行段的布局方式是不同的,即你有__PAGEZERO dyld试图分配空间和失败。即使你成功地设置了它,你也无法用它做很多事情,因为它没有你可以导出的符号dlsym

如果你正在尝试加载HealthKit框架,你应该加载框架二进制文件本身,虽然它没有必要,因为在iPhoneOS的生产版本中你可以使用dlsym来获取任何框架二进制文件。来自dyld共享缓存的任何框架中的符号,通常包含所有系统框架/库。