Cycript入门

Cycript简单介绍

Cycript是Objective-C++、ES6(JavaScript)、Java等语法的混合物,可以用来探索、修改、调试正在运行的Mac\iOS APP。

  • 通过Cydia安装Cycript,即可在iPhone上调试运行中的APP
WechatIMG64.jpeg

Cycript使用

  • 开启
    cycript cycript -p 进程ID cycript -p 进程名称
WeChatfa455eae7ad45ee0e4f9e800e7f21c66.png
  • 退出 Ctrl + D
  • 清屏 Command + R

ps 命令

ps命令是process status的缩写,使用ps命令可以列出系统当前的进程

在越狱手机上安卓安装 adv-cmds

WechatIMG65.jpeg
  • 列出所有进程 ps –A ps aux
  • 搜索关键词 ps –A | grep 关键词

常用语法

  • UIApp : [UIApplication sharedApplication]

  • 定义变量名 var 变量名 = 变量值

  • 用内存地址获取对象 #内存地址

  • 已加载的所有OC类 ObjectiveC.classes

  • 查看对象的所有成员变量 *对象

  • 递归打印view的所有子控件(跟LLDB一样的函数) view.recursiveDescription().toString()

  • 筛选出某种类型的对象 choose(UIViewController) choose(UITableViewCell)

封装Cycript

我们可以将常用的Cycript代码封装在一个.cy文件中

  • .cy文件存放到/usr/lib/cycript0.9目录下

  • Cycript中引用.cy文件,并使用它提供的接口

  • Cycript 库 https://github.com/CoderMJLee/mjcript里面有常使用的方法

mjcript使用介绍

mjcript是基于Cycript实现的一些实用函数

  1. 下载mjcript
  2. mjcript.cy文件拖到/usr/lib/cycript0.9
  3. SSH连接iOS设备
  4. 使用Cycript监听APP,通过@import导入mjcript

mjcript常用命令

  • 拿到显示在最前面的控制器MJFrontVc()
  • 根控制器MJRootVc()
  • app id MJAppId
  • document path MJDocPath
  • caches pathMJCachesPath
  • key window MJKeyWin()
  • 更多命令参考源码

你可能感兴趣的:(Cycript入门)