• 逆向工程一之环境搭建


    一、摘要

    本篇主要介绍:越狱、逆向环境搭建,iFunBox等软件安装,shell脚本登录、文件传输

    二、环境搭建

    1)越狱环境搭建

    • 下载unc0ver:淘宝买(下载好后,按照卖家提示安装cydia)
    • iOS端安装软件
    1. Apple File Conduit “2”(可以访问整个iOS设备的文件系统):cydia搜索安装;
    2. appsync unified(绕过系统验证,可随意安装运行破解的ipa包):添加软件源https://cydia.angelxwind.net/,然后搜索安装;
    3. Filza(查看iOS设备上文件目录):搜索安装;
    4. 爱思助手:无须APPID,下载海量app;
    • Mac端安装软件
    1. iFunBox:与Filza功能同,用iFunBox的次数更多;
    2. 爱思助手:下载app到iOS设备,查看iOS设备信息等;

    2)逆向环境搭建

    • 建立iOS设备和Mac之间的通信
    1. OpenSSH:cydia搜索安装;
    2. OpenSSH是基于TCP协议通信,确保iOS端和Mac端连接同一个WiFi;
    3. 登录模式为:ssh 账户名@服务器主机地址(即iOS端IP);
    4. 账户分root和mobile,前者可以操作系统级文件,后者只能操作普通用户文件,初始密码都为alpine;
    5. 退出登录命令:exit;
    • 第一次登录

          

    • 登录失败:服务器身份变更(可能遭受中间人攻击)

          

           解决:用“ssh-keygen -R”命令直接删除公钥信息,然后重新登录

         

    3)登录封装

    • 免密登录
    1. 思路:在客户端(Mac端)新生成一对公私钥,将公钥追加到服务端(iOS端)授权文件中;
    2. 生成新的秘钥:ssh-keygen;

                 

          3.  将公钥追加到服务端:ssh-copy-id;

          

          4.  免密登录;

          

    • USB连接登录
    1. Mac自带usbmuxd服务,开机时自动启动,建立起Mac和iOS端基于usb之间的通信;相较于WiFi,指令响应和文件传输更快;
    2. 下载usbmuxd工具包,下载地址;解压并删除一些无用的文件,保留如下;

          

          3.  cd到usbmuxd目录下,进行端口转发:将iOS端的22端口映射到Mac端10010端口(可自定义,只要是系统非预留端口均可,上百度查系统预留端口),由此建立通信;

          

         4.  另起一个窗口,本地登录;

          

    • shell脚本封装
    1. 创建并编辑usb端口转发脚本,编辑内容为:python /Users/luyubiao/Documents/IOS资料/逆向工程/开发工具/usbmuxd/tcprelay.py -t 22:10010;

          

          

          2.  创建并编辑usb登录脚本,编辑内容为:ssh root@localhost -p 10010;

          

          

          3.  脚本登录

          

          

    4)usb模式文件传输

    • Mac传到iOS端

    1. 将Mac端桌面的001.png传到iOS端的根目录下,并可用iFunBox查看;

          

          

    • iOS端传到Mac

    1. 将“1”处的iOS端的cycript文件,拷贝到Mac端“2”处的“逆向工程”文件夹下;

          

    三、报错

    • usb端口转发错误

          

          解决:编辑hosts文件,加入以下代码即可

          

          

          参考:https://blog.csdn.net/qiaokelinaicha/article/details/69211983

                   https://blog.csdn.net/woai8339/article/details/89741327

  • 相关阅读:
    ubuntu 16.04 启用root用户方法
    多线程编程理论基础
    return ,throw Exception final 在流程控制中的应用
    .NET之特性(Attribute)
    C#事件与委托机制分析
    程序设计中的异常处理(Exception)
    浅谈.net 内存泄露和内存溢出
    C#高级特性之 泛型 扩展方法 Lamda表达式
    packages.config
    C#多线程中的异常处理
  • 原文地址:https://www.cnblogs.com/lybSkill/p/14903840.html
Copyright © 2020-2023  润新知