iOS 逆向学习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wutengwei007/article/details/79909168

class-dump : 主要作用是从可执行文件中导出APP头文件中的内容,根据这些头文件能够大致分析APP的结构和内容

     安装:

         下载地址:http://stevenygard.com/projects/class-dump/

         下载之后把dmg文件中的class-dump 文件复制到/usr/bin (command+shift+G  /usr/local)目录下(此方法由于权限问题无法使用,可以使用以下方法)

         安装方法:https://www.jianshu.com/p/025fa775f3a6

         1、首先打开Terminal,输入mkdir ~/bin,在当前用户根目录下创建一个bin目录。

         2、把下载下来的 dmg 打开,复制文件里面的class-dump到创建的bin目录下。赋予其可执行权限:

            chmod +x ~/bin/class-dump

         3、打开bash_profile文件配置环境变量:

            vim ~/.bash_profile

            **按下 i 键进入编辑状态,在最下方加一行 **

            export PATH=$HOME/bin/:$PATH

            按下esc键,再按shift+: 输入 wq进行保存退出编辑

         4、在Terminal中执行source ~/.bash_profile

         5、测试是否改变成功

     使用:

         class-dump -H /xxx/xxx.app -o /xxx/test

         /xxx/xxx.app 是计算器app的路径

         /xxxx/test   是存放dump出来头文件的文件夹路径

openSSH链接手机的两种方式:

         通过WiFi 链接iOS 越狱设备

            1、越狱iPhone 使用Cydia 安装openSSH,保证手机和Mac 在同一网络环境下

            2、建立链接 假如iPhone的ip 地址是:192.168.00.00

             ssh [email protected]

            越狱手机默认链接密码:alpine

            输入cycript 如果命令行显示 cy# 则表明安装成功(control+d退出cycript)

            ctrl +D 断开链接

         通过USB 建立链接:

            1、首先下载usbmuxd-1.0.8.tar(https://upyun.assets.chenpeng.info/wordpress_cp/uploads/2013/03/usbmuxd-1.0.8.tar.gz)

            解压之后cp 到python-client 文件夹下

            2、命令行输入:python tcprelay.py -t 22:2222

            3、屏幕显示:Forwarding local port 2222 to remote port 22(成功,注意此时不要关闭命令窗口)

            4、重新打开一个命令窗口输入:ssh root@localhost -p 2222

Reveal 分析第三方APP UI页面结构:

     1、手机需要越狱 (越狱可以使用  PP助手 盘古 太极等)

     2、越狱后需要使用Cydia 安装两个软件: OpenSSH  和 Cydia Substrate (OpenSSH 是一个SSH链接传输工具,只有安装了Cydia Substrate 之后才会有MobileSubstrate目录,MobileSubstrate 是一个公有库,用来动态替换内存中的代码,数据等。)

     3、将libReveal.dylib 上传到越狱设备的/Library/MobileSubstrate/DynamicLibraries目录下

        1、保证手机和电脑在同一个网络环境下,通过SSH传输文件

        2、打开终端输入:ssh root@iOS设备上的IP地址,然后回车,默认密码是alpine,如果出现root#则表示链接成功

        3、cd /Library/MobileSubstrate/DynamicLibraries  验证Cydia Substrate 是否安装成功。即使有的提示No such file or directory 可以通过ls -l /Library 查看,如果有RHRevealLoader也表示安装成功

        4、scp /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib [email protected]:/Library/MobileSubstrate/DynamicLibraries 上传文件到设备中

         (/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib 路径可以通过以下方法获取,打开Reveal ->help -> Show             Reveal Library in Finder -> iOS Library,自从Reveal更新到version 2以后,就没有dylib库了,都是RevealServer.framework.

            scp /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/RevealServer.framework/RevealServer             [email protected]:/Library/MobileSubstrate/DynamicLibraries )

        5、在设置内找到Reveal->Enabled Applications ->选择需要检测的APP即可,连接上设备打开对应的APP就可以看到想要的效果啦。

     

    Cydia 中需要安装的插件:

     OpenSSH :  一个允许其他终端远程访问当前设备的插件,在cydia下载即可

     Apple File Conduit 2:  一个确保越狱插件正常运行的补丁,在cydia下载即可

     Cycript:   Cycript是一款由saurik推出的脚本语言,在逆向工程中可以帮助我们测试App。可直接在越狱设备中用Cydia安装

     RevealLoader:  RevealLoader帮助我们通过Reveal来偷窥别人的应用


猜你喜欢

转载自blog.csdn.net/wutengwei007/article/details/79909168