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 root@10.1.1.168(这里的服务器是手机)
初始密码alpine
登录成功后就可以使用终端命令行操作iPhone
退出登录命令是exit

iOS下有2个常用账户:root、mobile
root:最高权限账户,HOME是/var/root mobile:普通权限账户,只能操作一些普通文件,不能操作系统级别的文件,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开发功底和经验的,怎么也得做过一两年,完成过几个项目...
    斑驳的流年无法释怀阅读 1,358评论 0 2
  • 配置条件 调试设备建议至少iPhone 5S(因为从5S开始支持arm64架构)或者至少是iPad Air、iPa...
    Stone_熊小叔阅读 242评论 0 1
  • 一:越狱环境的配置 1、关于iOS越狱(Jailbreak) iOS越狱是指开发者利用iOS系统的漏洞、获取到iO...
    无意惹东风阅读 614评论 1 1
  • 春天来了 -文/大漠 鞭炮齐鸣 燃放一腔热情 春在一场 仪式里启程 大地铺开红毯 火树银花 诚邀各路神明 烟火急不...
    大漠qxy阅读 260评论 1 3
  • 最近在看大话数据结构,在这里对每章内容进行一个总结吧 一.起源 数据结构是一门研究非数值计算的程序设计问题中的操作...
    妮儿_smile阅读 341评论 4 1