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 roor@192.168.00.00
越狱手机默认链接密码: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 root@192.168.18.184:/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 root@192.168.18.184:/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来偷窥别人的应用