2. 越狱环境的搭建

添加不同的软件源

apt.abcydia.com/
apt.thebigboss.org/repofiles/cydia
安装包

name 解释 软件源
Apple File Conduit "2" 可以访问整个iOS设备的文件系统 Cydia
AppSync Unified 关闭签名 可以绕过系统验证,随意安装、运行破解的ipa安装包 apt.abcydia.com/
iFile 可以在iPhone上自由访问iOS文件系统 apt.abcydia.com/

安装包

如果通过Cydia源安装deb失败
可以先从网上下载deb格式的安装包
然后将deb安装包放到/var/root/Media/Cydia/AutoInstall
重启手机,Cydia就会自动安装deb

代码判断手机是否越狱了

static const char* jailbreak_apps[] = 
{ 
        "/Applications/Cydia.app",  
        "/Applications/blackra1n.app", 
        "/Applications/blacksn0w.app", 
        "/Applications/greenpois0n.app",
        "/Applications/limera1n.app",
        "/Applications/redsn0w.app", 
        NULL, 
}; 
 
- (BOOL)isJailBrokeDevice
{ 
        // Check whether the jailbreak apps are installed
        for (int i = 0; jailbreak_apps[i] != NULL; ++i) 
        { 
                if ([[NSFileManager defaultManager] fileExistsAtPath:[NSString 
thUTF8String:jailbreak_apps[i]]]) 
                {
                        return YES; 
                } 
        } 
 
        return NO; 
} 

Mac 远程登录到自己的iPhone中

SSH 安全外壳协议 OpenSSH 是SSH 协议的免费开源实现

iPhone 安装 OpenSSH

SSL:Secure Sockets Layer的缩写,是为网络通信提供安全及数据完整性的一种安全协议,在传输层对网络连接进行加密
OpenSSL
SSL的开源实现
绝大部分HTTPS请求等价于:HTTP + OpenSSL

OpenSSH的加密就是通过OpenSSL完成的

SSH是通过TCP协议通信,所以要确保Mac和iPhone在同一局域网下,比如连接着同一个WiFi
在Mac的终端输入ssh 账户名@服务器主机地址
比如ssh [email protected](这里的服务器是手机)
初始密码alpine

网络登录到自己的iPhone

ssh [email protected]
The authenticity of host '192.168.8.109 (192.168.8.109)' can't be established.
RSA key fingerprint is SHA256:7/0GbQvijdJQr4kr9BFtkPui8LDMLPkWLBgJJ2Cmj5M.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.8.109' (RSA) to the list of known hosts.
[email protected]'s password:
steveiPhone:~ root# cd /
steveiPhone:/ root# ls
AppSyncUnified.dylib  MobileSubstrate  dev              sbin
AppSyncUnified.plist  System           etc              tmp
Applications          User         lib              usr
Developer         asu_inject       mnt              var
DynamicLibraries      bin          net.angelxwind.asu_inject.plist
LaunchDaemons         boot         pguntether
Library           cores        private
steveiPhone:/ root# exit
logout
Connection to 192.168.8.109 closed.

root、mobile

iOS下有2个常用账户:root、mobile
root:最高权限账户,HOME是/var/mobile
登录mobile用户:root mobile@服务器主机地址
root和mobile用户的初始登录密码都是alpine

最好修改一下root和mobile用户的登录密码(登录root账户后,分别通过passwd、passwd mobile完成)

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

建立安全连接

将mac 上的公钥拷贝到iPhone上去

  • 在建立安全连接过程中,可能会遇到以下错误信息:提醒服务器的身份信息发生了变更

  • 如果确定要连接此服务器,删除掉之前服务器的公钥信息就行

  • ssh-keygen -R 服务器IP地址

    ssh-keygen -R 192.168.8.109
    
  • 或者直接打开known_hosts文件删除服务器的公钥信息就行

    vim ~/.ssh/known_hosts
    

SSH的客户端认证方式

  1. 基于密码的客户端认证

    使用账号和密码即可认证

  2. 基于密钥的客户端认证

    免密码认证

    最安全的一种认证方式

SSH-2默认会优先尝试“密钥认证”,如果认证失败,才会尝试“密码认证”

基于密钥的客户端认证

  1. 客户端生成密钥文件,将公钥内容追加到服务器的文件尾部

  2. 登录认证

  3. 在客户端生成一对相关联的密钥(Key Pair):一个公钥(Public Key),一个私钥(Private Key)

    ssh-keygen
    // 一路敲回车键(Enter)即可
    

    OpenSSH默认生成的是RSA密钥,可以通过-t参数指定密钥类型

    生成的公钥:~/.ssh/id_rsa.pub

    生成的私钥:~/.ssh/id_rsa

  4. 把客户端的公钥内容追加到服务器的授权文件(~/.ssh/authorized_keys)尾部

ssh-copy-id root@localhost -p 11208
ssh-copy-id [email protected]

需要输入root用户的登录密码

ssh-copy-id会将客户端/.ssh/id_rsa.pub的内容自动追加到服务器的/.ssh/authorized_keys尾部

注意:由于是在~文件夹下操作,所以上述操作仅仅是解决了root用户的登录问题(不会影响mobile用户)

使用USB数据线登录到自己的iPhone上

为了加快传输速度,也可以通过USB连接的方式进行SSH登录
Mac上有个服务程序usbmuxd(它会开机自动启动),可以将Mac的数据通过USB传输到iPhone
/System/Library/PrivateFrameworks/MobileDevice.framework/Resources/usbmuxd

  1. 李明杰老师使用的一个usbmuxd 但是那个在python3上面不好用了,所以我使用的是 通过brew 安装的 usbmuxd
brew install usbmuxd

注意:要想保持端口映射状态,不能终止此命令行(如果要执行其他终端命令行,请新开一个终端界面)

​不一定非要11209端口,只要不是保留端口就行

  1. 使用方法
    端口映射完毕后,以后如果想跟iPhone的22端口通信,直接跟Mac本地的11209端口通信就可以了
    新开一个终端界面,SSH登录到Mac本地的11209端口(以下方式2选1)
iproxy 11209 22
ssh root@localhost -p 11209
ssh [email protected] -p 11209
stevekwok@Steves-MBP ~ % ssh root@localhost -p 11209
The authenticity of host '[localhost]:11209 ([127.0.0.1]:11209)' can't be established.
RSA key fingerprint is SHA256:7/0GbQvijdJQr4kr9BFtkPui8LDMLPkWLBgJJ2Cmj5M.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[localhost]:11209' (RSA) to the list of known hosts.
root@localhost's password:
steveiPhone:~ root# ls
Application Support  Library  Media
steveiPhone:~ root#

localhost是一个域名,指向的IP地址是127.0.0.1,本机虚拟网卡的IP地址

usbmuxd会将Mac本地11209端口的TCP协议数据,通过USB连接转发到iPhone的22端口

远程拷贝文件也可以直接跟Mac本地的11209端口通信

你可能感兴趣的:(2. 越狱环境的搭建)