关于 ios遍历模块的问题


#1
  1. 除了用 dyld_get_image*系列API获取 进程模块列表,还有别的方法获取到进程所有模块吗
  2. 希望前辈赐教

#2

https://gslab.qq.com/article-42-1.html


#3

我试了这篇文章的第一个方法 (通过mach_vm_region系统API) , 但是最后得到的 g_imageCount = 16777228 , g_dii = 0x0 , 好像没得到模块列表 , 而且模块数量为16777228 也不对呀


#4

文章的代码我没直接拿来跑过,可能参数错了。
这个方法实际上得到的是 vmmap 的结果,需要自己遍历的时候筛选一下。


#5

http://www.newosxbook.com/src.jl?tree=listings&file=12-1-vmmap.c


#6

这代码好像是一样的吧。。


#7

确实
(五个字补丁)


#8

编译出来的vmmap是可以遍历到模块的


#9

前辈 有没有vmmap的示例代码, 能够遍历模块的


#10

楼上不是发你了?你不看的吗


#11

我放到了自己ios demo工程,发现得不到正确的模块数量跟模块列表 , 希望前辈解惑 不知道哪里出了问题


#12

哪里不正确,少了还是多了


#13

我把代码放到ios singleView demo 工程中, 最后运行得到的模块数量 g_imageCount = 16777228 , 模块信息结构体指针变量 g_dii = 0x0 为空 , 所以感觉没得到模块


#14

那你为什么不调试一下为什么是这个结果


#15

嗯嗯 好的 前辈 我调试研究一下