iOS逆向之旅3--Cycript

Cycript简介

Cycript是Objective-C++、ES6(JavaScript)、Java等语法的混合物。
可以用来探索、修改、调试正在运行的Mac\iOS APP。
官网: http://www.cycript.org/
文档: http://www.cycript.org/manual/

Cycript的开启和关闭

  • 开启:
    • cycript
    • cycript -p 进程ID
    • cycript -p 进程名称
  • 退出:Ctrl + D
  • 取消输入:Ctrl + C
  • 清屏:Command + R

查看系统当前的进程

在cydia里安装adv-cmds
使用ps命令,ps命令是process status的缩写

  • 列出所有的进程
    • ps –A
    • ps aux
  • 搜索关键词、过滤
    • ps –A | grep 关键词

Cycript常用语法

  • [UIApplication sharedApplication],简写UIApp
获取keyWindow的对象
cy# UIApp.keyWindow
#"; layer = >"
//获取APP所有的类
cy# ObjectiveC.classes
//获取对象的所有成员变量: *对象
//比如查看UIApp
cy# *UIApp

  • 递归==打印==view的所有子控件。
//比如打印keyWindon 的所有子控件
UIApp.keyWindow.recursiveDescription()
//增加排版
UIApp.keyWindow.recursiveDescription().toString()
  • ==筛选==当前界面的对象
//比如筛选出UIViewController
choose(UIViewController)

//比如筛选出UIView
choose(UIView)

Cycript的封装、存放、使用

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

存放

将.cy文件存放到手机的 /usr/lib/cycript0.9目录下

使用

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


image.png

内容有点少,需要在深度挖掘。

你可能感兴趣的:(iOS逆向之旅3--Cycript)