iOS逆向实操笔记2-Cycript的使用
2020-12-24 本文已影响0人
水煮杰尼龟
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
使用如下图
image.png
image.png
image.png
还有很多实用的,自己去看mj的文件使用就行了
choose(UILabel) 找出所有的UILabel
简单实操一下
image.png
比如我要改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