越狱环境配置

#cydia = 非越狱下的APPStore
#登录远程机器

  • ssh是一种可以保证用户远程登录到系统的协议
  • OpenSSH是ssh的开源实现,使用加密的远程登录实现,可以有效保护登录及数据安全
  1. 去cydia下载openssh
  2. 查看手机ip = 192.168.0.100
  3. mac终端 登录后就可以使用命令
$ssh root@10.2.159.37
are you soure want to continue ckye? yes
password: 初始密码在opnssh app中可以看到 alpine
  1. 使用moblie身份登录
$ssh moblie@192.168.0.101

权限不一样,比如moblie创建文件 会提示 permission define
5. 修改ssh密码:
root: linux/unix系统中权限最高的账户,具有对系统完全的控制权,因此也最容易遭到攻击
mobile:可以操作一些普通的文件,但系统文件不可操作
$ssh root@192.168.0.101 $passwd 提示输入密码 $passwd mobile 修改mobile用户密码
liangze123
6. 免密码登录

//通过命令生成RSA公私钥
$ssh-keygen -t ras -P ''(这里的密码先写空)
//去目录下找到刚生成的公私钥
$cd 目录下 如果看不到 .ssh文件夹 可以执行下面命令显示隐藏文件
$defaults write com.apple.finder AppleShowAllFiles -bool true
//把公钥拷贝到手机上
$scp ./xxx.pub root@192.168.0.102:/tmp

手机上

$cd - 根目录
$mkdir .ssh
$cd .ssh/
$touch authorized_keys
$cat /tmp/xxx.pub >> authorizaed_keys

手机和电脑上的公钥两个是一样,

#通过USB连接 不需要wifi 端口转发

  1. mac上 下载usmmuxd完,到工程目录下 cd到 python-client
  2. python tcprelay.py -t 22:2222 (usb的22端口转换到2222端口)
  3. ssh root@localhost -p 2222
    我采用的方法是
$brew install usbmuxd
$iproxy 2222 22
$ssh root@localhost -p 2222
scp -P 2222 ./1.txt  root@localhost:/tmp //拷贝文件

#解决输入中文

  1. 创建 .inputrc 文件
  2. 放到手机的 /var/root 目录下
    cat .inputrc 13:00

#登录时提示key不匹配

  • 原因:在ip登录时,同样的ip保存的key不一样
  • 打开~/.ssh/know_hosts文件,删除对应IP的key即可 (mac上的)

#查看进程列表 ps

  • 提示命令没有找到的话 去cydia安装adv-cmds

#越狱后安装ipa还是提示签名不对?

  • 签名被破坏的ipa,签名验证还在
  • 安装appsync,可以安装签名被破坏的ipa

    #越狱后无法访问文件系统?
  • 安装 Apple File Conduit "2" 插件
  • 重启设备

#其它实用工具

  • mac brew cask install ifunbox
  • iFile
  • Cycript
  • Clutch 对appstore上的加密应用进行解密
  • MTerminal 手机终端
  • adv-cmds 终端插件
  • Apple File Conduit "2" 可以访问文件系统

可以通过iFunBox查看文件系统

# /Applications 所有系统的app和来自Cydia的App
# /Library 存放系统App的数据
# /Library/MobileSubstrate 所有系统的app和来自Cydia的App的文件(重要)
# /Library/LaunchDaemons/ 守护进程目录
# /System 包含大量系统组件和库
# /User/ 下存放用户信息 比如照片 短信 邮件
# /bin 下存放着命令行工具 比如 'ls mv'
# /usr 存放用户工具和程序(ps)
# /usr/include 标准C头文件
# /usr/bin 存放用户下载的命令行工具
# /usr/lib 存放库文件
# /var 日志,用户数据,临时文件,App store app
cd /
ls -ln # 可以看到有些文件夹只是个软链接

Cydia Substrate 是一个允许第三方开发者修改系统或者应用程序功能的框架

由三部分组成

  1. MobileHooker, 可以对函数进行hook
  2. MobileLoader, 可以指定我们需要hook的app,在app启动时去加载指定的动态哭
  3. safe mode, 在安装一个插件,如果系统崩溃就进入安全模式,该模式下所有动态库都不会加载
# /Library/MobileSubstrate/DynamicLibraries 下面就是 MobileSubstrate 主要功能的一些文件 每一个dylib
# 对应一个plist文件,而plist文件会指定我们需要hook的应用,在一个应用启动时会加载MobileLoader, MobileLoader会在这里遍历找里面hook的英勇
# 如果发现正在启动的应用是我们需要hook的应用,那么它就会加载这个plist文件对应的dylib

App store app

# /var/mobile/Containers/Data/Application 应用沙盒目录
# /var/containers/Bundle/Application/7DA9CADC-6890-4015-A3CE-C156B81B3920/wanwuDZ.app 应用目录