美文网首页iOS开发iOS超神之路iOS
iOS Reveal窥探他人app (逆向攻防一)

iOS Reveal窥探他人app (逆向攻防一)

作者: 汉斯哈哈哈 | 来源:发表于2015-08-24 23:02 被阅读7055次

    Reveal是一个很强大的UI分析工具,可非常直观地查看app的UI布局,不仅限于自己的app,其他app的UI布局也一览无余。下面就是要干这事...

    必须要一台越狱手机

    越狱教程:http://www.taig.com

    安装openSSH(Cydia源里安装)

    在mac终端通过openSSH命令连接越狱机

    1.越狱机与mac必须连接同一网络
    2.在终端命令中输入ssh root@越狱机网络IP,如:ssh root@192.168.2.2
    3.输入您修改过的Root密码,默认:alpine

    注意:连接越狱机时,可能出现下面错误(未出错请忽略这块)

    RSA host key for 192.168.2.2 has changed and you have requested strict checking.
    Host key verification failed.

    这是openssh-server重装引起的,执行以下命令即可解决

    ssh-keygen -R 192.168.2.2 (192.168.2.2换成你要连的手机网络IP)

    安装MobileSubstrate(Cydia源里安装)

    ...

    安装Reveal(Mac上)

    1.官网:http://revealapp.com
    2.可下载试用版:download a trial (当然你也可以买滴~~)
    3.如果之前下载过又过期了,可以调整系统时间(调前一两年)

    1.打开Revela,找到libReveal.dylibReveal.framework

    2.拷贝Reveal.framework到越狱机 (注意:重新开个终端,无需连接越狱机)

    scp -r /Users/apple/Desktop/Reveal.framework  root@192.168.2.2:/System/Library/Frameworks
    

    可到越狱机查看注入的文件:

    3.拷贝libReveal.dylib到越狱机

    scp -r /Users/apple/Desktop/libReveal.plist root@192.168.2.2:/Library/MobileSubstrate/DynamicLibraries/
    

    4.在本地创建libReveal.plist,编辑libReveal.plist,指定app的Bundle identifier(可以指定多个Bundle identifier),下面添加App Store简书Bundle identifier
    (注意:如何找app对应的Bundle identifier请看后面)

    拷贝libReveal.plist到越狱机

    scp -r /Users/apple/Desktop/libReveal.plist root@192.168.2.2:/Library/MobileSubstrate/DynamicLibraries/
    

    可越狱机查看注入的文件:

    # cd /Library/MobileSubstrate/DynamicLibraries/
    # ls
    

    重启手机(或执行命令killall SpringBoard),打开App Store简书app,随后在Reveal右上角选择

    (注意:有可能白苹果,解决方案请看后面)

    App Store 简书app

    如何找到app的Bundle identifier?

    1.终端连接越狱机后,输入:cd /private/var/mobile/Containers/Bundle/Application

    2.查看手机所有app资源文件输入:ls (列出手机上所有app的资源文件,怎么找?)

    3.打开iTunes->我的应用程序->右键简书app->在Finder中显示->解压ipa->进入解压文件->Payload->右键应用程序->显示包内容->找到可执行文件(黑色)->复制文件名

    可执行文件

    查找简书app资源文件路径:find . -name 'Hugo*'

    简书app资源文件名:BE1895C3-5CB0-4894-8A9E-FE4EEF4C7989

    4.安装iFile(Cydia源里安装)
    进入iFile打开iTunesMetadata.plist:/private/var/mobile/Containers/Bundle/Application/BE1895C3-5CB0-4894-8A9E-FE4EEF4C7989/iTunesMetadata.plist

    下图红框里的comjianshu.Hugo即为简书的Bundle identifier

    重启手机后白苹果,无法进入界面

    预估原因:libReveal.plist文件格式错误导致

    第一种方法:

    长按【home键】+【电源键】->在白苹果刚刚出现的时候->按住iPhone的音量增加键->iPhone进入Safe Mode->正常重启->将libReveal.plist文件删掉


    第二种方法:

    第一步:重新恢复系统
    1.打开iTunes,越狱机与电脑连接 -> 长按【home键】+【电源键】6秒强制关机 -> 随后长按【home】键6秒,直到在电脑上看到识别到DFU状态下的USB设备时就进入到DFU模式
    2.随后你有两个选择,升级更高系统或恢复出厂状态。(系统都会自动会升级到最高版本8.4.1)
    第二步:降低系统,目前越狱只支持8.4以下(8.4.1只能降到8.4)
    1.找到8.4的固件(下载地址: http://jailbreak.25pp.com/gujian/ 固件区分: http://bbs.25pp.com/thread-108715-1-1.html)
    2.手机连接mac->打开iTunes->选择设备->摘要->option + 点击更新/恢复iPhone)->选择下载的固件 -> 自动安装直到成功
    第三步:越狱
    1.用太极软件越狱 (下载地址:http://www.taig.com) (ps:pp助手,8.4越狱失败)

    文章同步到微信公众号:hans_iOS 有疑问可以在公众号里直接发

    相关文章

      网友评论

      • 194775dd6f26:可以通过下面的方法找到App 的bundle id
        打开iTunes->我的应用程序->右键简书app->在Finder中显示->解压ipa->进入解压文件->Payload->右键应用程序->显示包内容->找到info.plist文件->找到Bundle identifier
      • 194775dd6f26:你好,我没找到这个MobileSubstrate 呢?
        dbb6461b6353:而且cydia substrate是默认安装的.7.1.2越狱之后更新就有.
        194775dd6f26:@忆轩 现在MobileSubstra 已经改名为cydia subtstrate,在Cydia 中搜索安装即可
      • SANTOS_WU:现在ios9的越狱机,用pp助手找目录比较快,因为目录有变
        汉斯哈哈哈:@SANTOS_WU 恩,其实很多办法。
      • ZsIsMe:多谢分享!对于越狱后想使用reveal的设备,可以考虑使用revealoader这款插件,无需修改pilst,可直接在iphone的设置里勾选要查看布局的app.比较方便。
        c57dddf3b833:@ZsIsMe 是 reveal Loader吧
        879ac3d2aecc:我重启SpringBoard,没法把Reveal Server Run起来,还是得重启机器,revealoader也是,必须重启机器才能加载,虽然有很多人重启SpringBoard就OK了。
        汉斯哈哈哈:@ZsIsMe 好有机会试试。 :yum:

      本文标题:iOS Reveal窥探他人app (逆向攻防一)

      本文链接:https://www.haomeiwen.com/subject/pvygqttx.html