iOS逆向工程 -- 看图层的工具

2018-05-27  本文已影响274人  怀心逝水

iOS逆向 Reveal FLEXLoader 图层结构


提要

对于iOS逆向,在我们拿到解密后的可执行文件后,我们研究的突破口其实就是界面的所在信息,毕竟在没有任何的针对信息的情况下,去在Hopper中看可执行文件的数据,无异于大海捞针。所以这时候我们需要针对的信息,需要我们hook的控制器或是类名,这样接下来的研究就会有自己的方向了。

准备工作

  • 越狱手机
  • 在Cydia中安装Reveal Loader
  • 在Cydia中安装FLEXLoader

Reveal

学iOS的童鞋都知道这个神器,不管我们在正向还是逆向开发中都可以用到这个查看图层信息的工具,当然在两种情况的使用的方法是不一样的,这儿我主要介绍Reveal在逆向开发中的使用方法。

在用这个工具的时候,其实是踩了很大的坑的。
利用两种方式的使用Reveal工具,在打开需要逆向的APP后,提示The network connection was lost

至于这两种方式:
打开Reveal ,Reveal菜单->Help->Show Reveal Library in Finder ->iOS Library
方式一:

  • 利用iFunBox,把Reveal.framework放进手机的/System/Library/Frameworks/目录下
  • libReveal.dylib放进手机的/Library/MobileSubstrate/DynamicLibraries/目录下
  • 在本地创建libReveal.plist,同样放进手机的/Library/MobileSubstrate/DynamicLibraries/目录下


    image.png

注意,这个plist文件的格式不能出错,不然killall SpringBoard命令后出现白苹果,至于他们的bundleid ,直接到APP的目录下看info.plist文件即可。

方式二:
推荐方式
/Library/RHRevealLoader,在手机的Library下建立RHRevealLoader文件夹,之后把libReveal.dylib放进这个文件夹下。
在手机中的设置中找到Reveal->Enabled Applications->你需要的app
之后将mac和iOS设备中连接同一个局域网中,打开APP后,在Reveal中查看图层信息

当然如果你也出现了Reveal中无法显示问题时:

解决方法:这个是你的libReveal.dylib有问题,这时候你需要换一个
github下的v2.0中的Reveal.dylib地址

B87FDE64024949B16791E4402B9459D8.png

这样将新的libReveal.dylib在手机中替换原来的即可,当然还有一种可能就是连接的局域网网速太差了。
我们期待的结果是:

FLEXLoader

这个工具是在怎么安装Reveal都安装不了的情况下,去了解的一个可以看图层的工具,这个工具和Reveal不同的是不需要连接Mac电脑,只需要在Cydia中安装并且在设置中开启需要的查看的图层的APP。

image.png

可以看到这个工具可以查看APP的文件目录,整个APP的视图构架,当前视图的图层结构,当然还有很多功能等着你去发现。


16804B0C-82F6-43ED-83BE-5D06E6C07522.png

这个是我们的目标视图的图层结构。


image.png
这个是这个view的有哪些属性的信息。

这样通过图层工具我们就比较快的找到我们需要研究的对象了。

上一篇下一篇

猜你喜欢

热点阅读