iOS逆向工具Reveal使用

研究Reveal的起因开始于一本书《 iOS应用逆向工程:分析与实战》,书中提到了reveal这个工具,后来在google上查了一些博客,看了那强悍的界面效果,尤其是可以分析别人的app这一点,瞬间被吸引,开始按照前人的方法实践摸索,汇总其他开发者的经验,结合自己使用中遇到的问题,记录成篇。

开发环境
Mac OS:10.10.3
iOS:6.1.6
XCODE:6.3.1
Reveal:1.5.1

准备工作:
     首先需要一台越狱的iOS设备,这样我们才能获得访问所有系统文件的权限。

STEP1:iOS设备越狱
这个网上一大把,这里就不重复了,我是参考的这篇: iPod touch (第 4 代) - iOS 6.1. 6  破解教學 http://www.iphone4hk.com/jailbreak/touch4/

STEP2:准备工具
     越狱后的机器在桌面上多了Cydia这个应用,以后就通过它安装各种功能强大的软件。
a:OpenSSH
     这个工具的作用是使MAC可以通过WIFI或其他方式远程访问iOS文件系统,后续就是通过这个软件把Reveal的动态库传到iOS设备上。Mac端和iOS端都需要安装。
     iOS端只要在Cydia中搜索OpenSSH安装就行.
     
     Mac端自带SSH服务,在终端中敲入ssh root@ ip地址(这里的ip地址是iOS设备的,此处要保证iOS设备和Mac在同一网段内)。
     
     ios刚越狱后默认的Root账号密码是alpine,因为这个账号和密码将作为OpenSSH远程登录的凭证,如果被别有用心的人利用会给你的隐私或者iOS系统稳定带来麻烦,所以,密码一定要改。这就是下一个工具的作用。

b:MobileTerminal
     越狱后,你的IOS设备就拥有了完全的权限,你可以任意安装任意的软件,但是也存在一定的风险,因为默认的root密码使用同一种越狱工具后是一样的,在互联网病毒肆虐的今天,这种弱口令是很不安全的。
     通过Cydia安装MobileTerminal。
     
     完成后在iOS设备桌面多一个MobileTerminal应用,点击打开。
     按照提示输入下面命令
    首先输入su root提升到管理员权限,提示输入密码时输入“alpine”,并触摸 “换行”键,注意:输入密码不会有任何提示。当你一切做好后你会发现原来设备名后的$ 变成了#,这代表目前在最高权限。
iPhone:~ mobile$ su root
Password:
iPhone:/var/mobile root# cd
iPhone:~ root#

      更改root密码
     输入 passwd 命令后按照提示连续两次输入新密码即可。Root密码即被修改(最好修改复杂点的,英文+数字,不然简单了也是形同虚设)。

界面提示如下:

iPhone:~ root# passwd
Changing password for root.
New password:
Retype new password:
iPhone:~ root#
     更改Mobile密码
     Mobile用户也是内置的一个账号,虽然权限小了点,但是也有读取你照片,短信,音乐文件目录的权限,为了安全,果断改了密码。同上,继续输入命令 “passwd mobile”(不带引号),输入old密码alpine后连续输入两次新密码即可。

iPhone:~ root# passwd mobile
Changing password for mobile.
New password:
Retype new password:
iPhone:~ root#

密码即被修改,关闭terminalmobile就可以放心使用了。
     
STEP3:安装Reveal
      前往  http://revealapp.com/download/ 去下载文件,解压直接运行,就可以看到界面了。这里强烈建议把下载的Reveal拷贝到mac的“应用程序”里。越狱设备与安装Reveal的Mac在同一wifi内。

STEP4:获取libReveal.dylib
     点击菜单Help / Show Reveal Library in Finder,获取libReveal.dylib位置。

STEP5:通过openSSH拷贝framework和Reveal dylib到越狱机


STEP6:编辑libReveal.plist
在iOS设备的 /Library/MobileSubstrate/DynamicLibraries/ 目录下创建文件libReveal.plist,当然也可以在电脑上创建编辑后拷贝到iOS设备上,方法同上面拷贝framework。
libReveal.plist内容如下(这里以appStore为例),Bundles里写要分析的app的Bundle,可以制定多个,只要写多行"Bundles =..."就行了。


关于Bundle,可以用pp助手等查看app文件夹,在应用目录下的plist文件中,softwareVersionBundleId一项就是了。

STEP7:重启iOS
     re-spring或重启iOS设备,打开你想看的app,再从Reveal界面左上角选择要连接的机器,进入不同的页面之后还可以点击右上角的刷新钮来刷新监测的页面信息。
     这里要注意的是别忘了打开你要看的app。
     网上教程基本是一个模板,到这里就结束了,但我个人的具体情况是,执行到这里后,在Reveal左上角一直处于“No connection”状态。
     上网搜索别人的处理方式,和我的情况也都不一样,后来比较MAC上和IOS上的文件时,发现某个文件的可执行权限没有了,就手动增加可执行权限,还是不行,本来都要发帖求助了,直到在 http://bbs.iosre.com/论坛发现“ 一键配置,用Reveal Loader配合Reveal调试App”这篇文章,抱着试试看的心情操作了一遍,竟然可以了。
     至此Reveal运行成功。


参考文档:
iOS界面调试工具 Reveal
第五篇:使用MobileTerminal修改越狱后的root密码
iPod touch (第 4 代) - iOS 6.1. 6  破解教學
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值