Cycript
- 通过
Cydia
已经安装了Cycript
-
通过usb登录手机,如下图
usb.sh
login.sh
- 终端输入
cycript
,即可进入cycript
环境 -
Control + d
退出环境 - 调试某个app命令`cycript -p 进程id/进程名
- 手机打开某个app。
- 通过
ps -A
查看运行的所有进程,找到你要调试的app即可,一般/var/containers/Bundle/Application/D9C56E61-0356-468A-9206-9D697F311CED/xxx.app/xxx
-
比如我打开pp虾,会找到如下图
image.png
-
cycript -p 77755
或者cycript -p Super
,即可开始调试app
image.png
常用语法
-
UIApp
,即[UIApplication sharedApplication]
image.png
-
var app = UIApp.keyWindow
,app.rootViewController
image.png
image.png
可以看到pp虾的rootViewController
是BDSNavigationController
-
#内存地址
获取对象
image.png
可以去下载MJ封装的cycript工具类
- 将MJ封装的工具类
mjcript
这个文件拖到手机/usr/lib/cycript0.9
就可以了,你可以改个前缀换成你自己。下载地址
image.png
-
import 一下 就可以开始使用了
image.png
使用如下图



还有很多实用的,自己去看mj的文件使用就行了
choose(UILabel)
找出所有的UILabel
简单实操一下

比如我要改pp虾登录界面,把帮助改为不帮,并点击无效,隐藏抖y,微x登录
- 去在线数据解析的网站,把
帮助
转Unicode
- 打印界面层级,搜索
\u5e2e\u52a9
image.png
- 可以看到
帮助label
其实是在BDSNavigationBarItem
这个里,所以直接禁用它的交互,并改变帮助label
的text为不帮
,拿到地址用#号获取对象修改
image.png
image.png
这时候字改了,也点不了。
接下来隐藏另外2个登录 - 我们可以看看输入手机号这个
TextField
的frame
。 - 搜索一下
输入手机号
这几个字的Unicode
image.png
- 可以看到
frame (26,113.803,205,34)
,那么分析一下,2个登录的控件,大概也就在它下面一点点,差不多20左右,猜测160多的样子,而且是imageView
,搜索一下。
搜到一个如下层级,以开发经验,很明显就是2个登录按钮,自定义的view
,那就简单了。
image.png
直接把最外层的view
给隐藏掉
image.png
image.png
网友评论