Cycript简单介绍
Cycript是Objective-C++、ES6(JavaScript)、Java等语法的混合物,可以用来探索、修改、调试正在运行的Mac\iOS APP。
- 通过Cydia安装Cycript,即可在iPhone上调试运行中的APP
WechatIMG64.jpeg
Cycript使用
- 开启
cycriptcycript -p 进程IDcycript -p 进程名称
WeChatfa455eae7ad45ee0e4f9e800e7f21c66.png
- 退出
Ctrl + D - 清屏
Command + R
ps 命令
ps命令是process status的缩写,使用ps命令可以列出系统当前的进程
在越狱手机上安卓安装 adv-cmds
WechatIMG65.jpeg
- 列出所有进程
ps –Aps 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实现的一些实用函数
- 下载
mjcript库 - 将
mjcript.cy文件拖到/usr/lib/cycript0.9 - SSH连接iOS设备
- 使用
Cycript监听APP,通过@import导入mjcript
mjcript常用命令
- 拿到显示在最前面的控制器
MJFrontVc() - 根控制器
MJRootVc() - app id
MJAppId - document path
MJDocPath - caches path
MJCachesPath - key window
MJKeyWin() - 更多命令参考源码














网友评论