iOS逆向之旅2--逆向开发环境搭建

基于 iOS10.2 macOS10.13

逆向用到的软件、插件

  • 手机端:
    • Cydia ,相当于是越狱手机的“App Store”
    • Apple File Conduit "2",用于访问整个iOS设备的文件
    • AppSync Unified,用于绕过系统验证,随意安装、运行破解的ipa安装包
    • iFile,可以在iPhone上读写iOS文件系统
    • pp助手,海量多破解的APP
  • Mac端:
    • iFunBox,读写IPhone文件系统
    • pp助手

SSH、OpenSSH简介

  • SSH:secure shell 的缩写,意为“安全外壳协议”,是一种可以为远程登录提供安全保障的协议,避免了中间人攻击。
  • OpenSSH:是SSH协议的免费开源实现
    • 可以通过OpenSSH的方式,使Mac远程登录到iPhone
      服务器(iPhone)/etc/ssh 中存了公钥私钥。把公钥信息发给客户端

OpenSSH的使用

通过Cydia安装OpenSSH工具
OpenSSH的具体使用步骤可以查看Description中的描述

SSH是通过TCP协议通信,所以要确保Mac和iPhone在同一局域网下
在Mac的终端输入ssh 账户名@服务器主机地址
比如ssh [email protected](这里的服务器是手机)
初始密码alpine
登录成功后就可以使用终端命令行操作iPhone
退出登录命令是exit

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

SSH、OpenSSH、SSL、OpenSSL的区别

  • SSL

    • Secure Socket Layer的缩写,是为网络通信提供安全及数据完整性的一种安全协议,在传输层对网络连接进行加密
  • OpenSSL

    • SSL的开源实现
    • 绝大部分HTTPS请求等价于:HTTP + OpenSSL
  • OpenSSH的加密就是通过OpenSSL完成的

SSH的通信过程可以分为3大主要步骤

  1. 建立安全连接
    • 在建立安全连接过程中,服务器会提供自己的身份证明(公钥),客户端把该身份证明保存


      服务端提供公钥
    • 如歌客户端没有该服务端 的公钥信息,就会询问是否连接


      客户端没有公钥的提示
    • 如果服务器的公钥变更,需删除客户端的公钥后重新请求连接,并保存新的公钥

公钥改变,客户端连接时的报错

打开known_hosts文件==删除服务器的公钥==信息
vim ~/.ssh/known_hosts

  1. 客户端认证方式

    • 基于密码的客户端认证

    • 基于密钥的客户端认证 (安全,优先)

  2. 数据传输

你可能感兴趣的:(iOS逆向之旅2--逆向开发环境搭建)