美文网首页
2. 越狱环境的搭建

2. 越狱环境的搭建

作者: yulekwok | 来源:发表于2021-01-14 19:35 被阅读0次

添加不同的软件源

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 root@192.168.8.109(这里的服务器是手机)
初始密码alpine

网络登录到自己的iPhone

ssh root@192.168.8.109
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.
root@192.168.8.109'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/root mobile:普通权限账户,只能操作一些普通文件,不能操作系统级别的文件,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 root@192.168.8.109

需要输入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 root@127.0.0.1 -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.越狱环境搭建

    学习条件 至少一年iOS开发经验 调试设备建议至少iPhone 5S(因为从5S开始支持arm64架构)或者至少是...

  • 2. 越狱环境的搭建

    添加不同的软件源 apt.abcydia.com/apt.thebigboss.org/repofiles/cyd...

  • iOS越狱开发theOS搭建

    iOS越狱开发theOS搭建 越狱环境搭建 TheOS Theos.最初由DHowett进行开发,由于DHwoet...

  • iOS逆向-day1:逆向内容的简介与越狱环境搭建

    iOS逆向-day1:逆向内容的简介与越狱环境搭建 iOS逆向-day1:逆向内容的简介与越狱环境搭建

  • iOS app 逆向分析

    砸壳 class-dump 搭建越狱开发环境 Theos 配置越狱开发调试的 iOS 设备 Theos 环境 动态...

  • 越狱环境搭建

    越狱简介 iOS越狱(iOS Jailbreak):利用iOS系统漏洞,获取iOS系统的最高(root)权限,解开...

  • 越狱环境的搭建

    调试设备 iphone 6s plus,建议至少iPhone5S(因为从5S开始支持arm64架构),或者至少是i...

  • 越狱开发(一) —— 越狱环境搭建

    调试设备 iPhone 6s 建议至少iPhone 5s(从5s开始支持arm64架构) 或者iPad Air、i...

  • iOS 越狱环境搭建

    学前须知 一定的基础知识 如果想研究逆向其实是需要一定的iOS开发功底和经验的,怎么也得做过一两年,完成过几个项目...

  • iOS越狱环境搭建

    一、准备条件 1.调试设备 建议至少iPhone5S(因为从5S开始支持arm64架构)或者至少是iPad Air...

网友评论

      本文标题:2. 越狱环境的搭建

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