美文网首页iOS 开发 Objective-C
iOS 底层原理 day02 SSH Cycript

iOS 底层原理 day02 SSH Cycript

作者: 望穿秋水小作坊 | 来源:发表于2020-07-21 14:06 被阅读0次

    Cycript 常用语法

    1. 开启 Cycript 模式
    • Cycript
    • Cycript -p 进程 ID
    • Cycript -p 进程名称
    1. 定义变量
    • var 变量名 = 变量值
    1. 用内存地址获取变量对象
    • #内存店址
    1. ObjectiveC.classes
    • 已加载的所有 OC 类
    1. 查询对象的所有成员变量
    • *对象
    1. 递归打印 view 的所有子控件(跟 LLDB 一样的函数)
    • view.recursiveDescription().toString()
    1. 筛选出某种类型的对象
    • choose(UIViewController)
    • choose(UITableViewCell)
    1. UIApp
    • [UIApplication sharedApplication]

    iPhone 越狱 SSH 过程注意的几个点

    1. Client 端如何确保自己要连接的服务端是正确的?
      答:第一次连接,Client 端在入 ssh root@服务端ip地址 地址后,服务端会将自己的公钥以及相关信息通过 SHA256 算法加密后发给客户端确认,拿到这个 SHA256 之后,Client 端可以去 服务端的官网地址查询,该 SHA256是否一直,借此来确保自己连接的服务端是否正确。

    2. Client 端登陆 Server 端,有几种连接方式?
      答:两种,密码登陆:比较要输入密码和每次都要输入比较麻烦。免密登陆:将客户端的公钥放到服务端可连接公钥列表中,可以免密登陆。

    3. Client 端和 Server 端如何保证数据不被中间人截取?
      答:Client 端和 Server 端相互拥有对方的公钥,每次相互传输的数据都是使用对方的公钥进行加密,再进入网络进行传输。因为是非对称加密算法,所以传输的密文,只能使用各自的私钥进行解码。私钥是各自持有,从不经过网络进行传输,所以能避免中间人劫持信息。

    4. iPhone 默认是使用 22 端口进行 SSH 通信,采用的 TCP 协议,因为 TCP 是网络传输协议,所以有时候网络差的是会十分卡顿,如何解决?
      答:通过 usbmuxd ,这是一款 Mac 自带开机启动软件,它可以将 Mac 本地指定端口的 TCP 协议数据,通过 USB 连接转发到 iPhone 的 22 端口,速度非常快。

    启动 sh 脚本文件的三种方式

    1. bash 和 sh方式。
    • 当前 shell 环境会启动一个子进程来执行脚本文件,执行后返回到父进程的 shell 环境。
    • 执行 cd 时,在子进程会 cd 到目录,但是在父进程中环境并没有改变,也就说目录没有改变。
    1. source 方式
    • 在当前的 shell 环境下执行脚本文件
    • 执行 cd 后会跳转到 cd 的目录
    • source 可以用一个点“.”来代替,如 “. test.sh”

    相关文章

      网友评论

        本文标题:iOS 底层原理 day02 SSH Cycript

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