How to get memgraph file

HI,ALL:

最近在研究腾讯出的性能工具, 此工具可以在不注入SDK情况下获取内存和FPS相关信息.我通过IDA打开libpdusb.dll后发现了如下内容:
image
初步确认使用了libimobiledevice,但是并没了解到如何获取的内存信息.

麻烦两位,能否指点一二,薄云见日?

0x01我把截图弄详细一些

image

0x02我就是不知道思路?怎么去研究具体调用了什么接口就获取了内存数据

@ChiChou

这个就是用的 Instruments 的接口

有没有一些相关的文章啊?

https://recon.cx/2018/montreal/schedule/system/event_attachments/attachments/000/000/043/original/RECON-MTL-2018-Discovering_the_iOS_Instruments_Server.pdf

Thanks, i will research it and leave a message if i have some problem

Hi,ChiChou:

I setup the environment use ida7.0,it require ida7.1 or later.

i build it get the below error. what could i do?

为什么要私聊,不开个帖子?
Why do you send private messages rather than post a new topic?

转成帖子了

1 Like

谢谢,欢迎大家一起讨论

之前调研过一些性能相关的东西,我一直觉得,这些性能的东西都离不开dtrace,看PPT里的类名,DT估计就是dtrace的缩写吧?。但是DTrace只能在Mac上用,xnu里有dtrace的相关代码。但是dtrace在iOS不能用,只有一个空文件夹,在/usr/libexec/dtrace,我估计是把功能给放到上边ppt里提到的server里了。

前几个月我正儿八经的学了一下dtrace,我估计instrument就是把dtrace相关的东西给包装了一下,我尝试过在Mac上,用dtrace提供的东西去做一些追踪,CPU 内存,方法调用什么的。不过功力太浅,没做出来什么像样的东西。而且dtrace主要是针对于内核的,大部分是c级的调用,返回的数据过于原始,对OC的runtime涉及太少,除了Objc探针,接口返回来的数据都要自己去解析,和OC进行粘合。 如果楼主有兴趣 我可以开个帖子一起玩耍一下 :joy:

书里提供的这些探针例子应该有所帮助。

非常感谢,我后面会详细dtrace到时候找你沟通交流.
通过 @ChiChou 的提示,确实解开了我大部分的疑惑.目前卡在了我使用ida7.0编译都过不了,应该需要使用ida7.1的版本.mac下有7.1版本的可以尝试下

完全没必要跑他的源代码。仔细看 dtxmsg_client.cpp 就是一堆 MobileDevice.framework 私有函数的封装。这份代码依赖 Qt 和 IDA SDK,还不如照抄自己重写一遍