OpenSSH用来在电脑端登录iPhone手机,从而在电脑端对手机进行一系列操作。
在Cydia中搜索OpenSSH并安装,这样iOS上面就可以开启SSH服务。SSH服务默认绑定端口号22。安装OpenSSH之后 iOS设备上面的用户分别为root用户和mobile用户
mac需要和iOS越狱设备在同一个网段中,iOS连接wifi,设置中可以看到ip地址,也可以改成静态IP地址
使用ssh命令连接iOS设备,默认登录密码”alpine”
ssh [email protected]
修改root用户默认密码
passwd root
然后在命令行中输入新密码,完成修改即可
root账户免密码登录的配置步骤:
1、在mac命令行输入ssh-keygen,然后按照提示操作
最终在~/.ssh/目录下面 生成id_rsa.pub公钥id_rsa私钥
2、将客户端的公钥追加到服务器的授权文件(~/.ssh/authorized_keys)尾部
ssh-copy-id root@服务器主机地址
说明:ssh-copy-id会将客户端~/.ssh/id_rsa.pub的内容自动追加到服务器的~/.ssh/authorized_keys尾部
补充如果上诉方法失败,采用手动配置方法
1、mkdir ~/.ssh
2、cd ~/.ssh/
3、touch authorized_keys
4、chomd 600 authorized_keys
5、将客户端生成的id_rsa.pub拷贝到当前目录
6、将公钥追加到授权文件中 cat id_rsa.pub >> authorized_keys
在Cydia 中搜索APT 0.6 TRansitional 并安装
使用apt-get安装必要的工具包
apt-get install ping
apt-get install ps
apt-get install find
apt-get install tcpdump
apt-get install top
apt-get install vim
apt-get install network-cmds //-arp, ifconfig, netstat, route, traceroute
apt-get install cycript
// 补充一些命令
apt-get update 【更新所有的源】
apt-get upgrade 【更新所有通过apt-get安装的程序】
apt-get install packagename 【安装软件包】
apt-get remove packagename 【删除软件包,不删除依赖包,不删除配置文件】
apt-get remove --purge packagename 【删除该软件包,不删除依赖包,删除配置文件】
apt-get autoremove packagename [删除该软件包,删除依赖包,不删除配置文件]
apt-get autoremove --purge packagname 【可以删除所有依赖包+配置文件】
apt-cache search string 【搜索含有该string字段的软件包】
apt-cache show packagename 【详细显示该软件包的信息】
apt-get clean 【清除apt-get安装的软件包备份,可以释放储存空间,不影响软件正常使用】
利用apt-get安装一些软件过程中遇到的问题
Could not get lock /var/lib/dpkg/lock - open (35: Resource temporarily unavailable)
Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
解决办法
rm /var/lib/apt/lists/lock
rm /var/cache/apt/archives/lock 如果有的话
apt-get update 更新然后再重新安装
利用scp命令可以传输文件
scp filename [email protected]:/tmp // 拷贝本地文件到越狱手机
scp [email protected]:/tmp/filename /tmp/ // 从越狱手机拷贝文件到本地Mac电脑
Apple File Conduit "2"是配合在电脑端查看越狱iOS设备文件目录的插件(电脑端软件iFunBox)
在Cydia中搜索Apple File Conduit "2"安装即可
Mac端安装iFunbox
下载地址:http://www.i-funbox.com/zh-cn_download.html
方法一:
这里Reveal用的是比较旧的版本1.6.3破解版,越狱手机是4S(iOS8.0)版本,但是出现了左侧控件类名不显示的问题
1、在Cydia中搜索安装Reveal Loader
2、在iOS越狱设备/Library/下创建RHRevealLoader目录
3、在Mac电脑上Reveal的help菜单下找到Show Reveal Library in Finder中找到libReveal.dylib,然后拷贝到刚创建的RHRevealLoader目录下
4、在iOS设备设置中Reveal点击Enabled Applications打开需要查看的APP
5、重启需要观察的APP,在mac上开始观察(mac 和 越狱手机需要在同一局域网)
方法二:
1、下载新版本Reveal,由于没有找到破解版的,就申请了一个14天试用的版本
2、在Mac电脑上Reveal的help菜单下找到Show Reveal Library in Finder/iOS Library/RevealServer.framework/RevealServer文件
3、然后将RevealServer重命名为libReveal.dylib,然后新建一个libReveal.plist文件.
plist的内容为目标APP的bundleIdetifier
macdeiMac:reveal mac$ cat libReveal.plist
{ Filter = { Bundles = ( "com.jingyao.EasyBike" ); }; }
4、然后利用scp命令或者iFunBox将这两个文件拷贝到越狱手机/Library/MobileSubstrate/DynamicLibraries/目录下就可以查看对应APP的UI结构了
1、下载usbmuxd
http://cgit.sukimashita.com/usbmuxd.git/snapshot/usbmuxd-1.0.8.tar.gz
2、解压usbmuxd- 1.0.8.tar.gz文件,拷贝python-client文件夹中的两个Python文件到至自己需要的目录下,并赋予执行权限
mkdir ~/usbtool
cd ~/usbtool
chmod 755 ./tcprelay.py
chmod 755 ./usbmux.py
// 在命令行中开启转发端口
~/usbtool/tcprelay.py -t 22:2222
// 在新窗口中ssh连接到手机
ssh root@localhost -p 2222
// scp
scp -P 2222 root@localhost:/Library/MobileSubstrate/DynamicLibraries/HaLuoTweakProject.plist ./
1、在iOS上指定debugserver需要监听的端口号
debugserver *:9999 -a “caipudaquan”
2、在Mac上开启转发请求
~/usbtool/tcprelay.py -t 9999:9999
3、开启lldb调试
process connect connect://localhost:9999
官方网站:http://www.cycript.org/
Cycript是一款脚本语言,可以看作是Objective-JavaScript,它可以帮助我们轻松测试和验证函数效果
方法一:在越狱iOS设备的Cydia中搜索cycript然后进行安装
方法二:apt-get install cycript
ps -e // 找出需要注入的APP进程
cycript -p caipudaquan // 注入该进程
var dir = NSHomedirectory() // 打印沙盒目录
// 使用recursiveDescription打印UIView对象
[[UIApp keyWindow] recursiveDescription].toString()
UIApp.keyWindow.recursiveDescription().toString()
// 用对象地址借助nextResponder方法获取下一个响应者(最终获取视图控制器)
[#0x14eaed070 nextResponder]
// 直接打印所有UIViewController
[[[UIWindow keyWindow] rootViewController] _printHierarchy].toString()
// recursiveDescription的简化版,去掉了UIView的一些描述
[[UIApp keyWindow] _autolayoutTrace].toString()
// 获取bundle info
[[NSBundle mainBundle] infoDictionary].toString()
// 选择某个类的实例数组
choose(UIButton)
// 打印某个对象的属性
[#0x192dd620 _ivarDescription].toString()
// 打印某个对象的方法
[#0x192dd620 _methodDescription].toString()
control + D 退出
1、将一些常用的操作方法封装到一个Python脚本中
2、然后拷贝到越狱手机/usr/lib/cycript0.9目录下,赋予执行权限
3、在注入对应进程后导入该工具
4、调用其中的工具方法
iPhone:/usr/lib/cycript0.9 root# cycript -p EasyBike
cy# @import mytool
{}
// 出现上面则表示导入成功,可以使用
Mac 安装 brew install dpkg
使用:
dpkg -i/r deb包的安装/卸载
dpkg -c name.deb 查看deb包目录结构