Cycript的介绍和使用

简介

Cycript是由saurik推出的一款脚本语言,是混合了objective-cjavascript语法的一个工具,让开发者在命令行下和应用交互,在运行时查看和修改应用。

基本使用

安装:可以在Cydia里搜索cycript来下载安装,可以配合MTerminal使用。
使用:可以通过MTerminal,后者sshiOS中执行。
ssh到笔者的iPad:

Snip20160816_8.png

输入 cycript,出现 cy#提示符,说明已经成功启动 Cycript
Snip20160816_6.png

control+D,来退出 Cydia.

下面以SpringBoard为例
找到SpringBoard进程

Snip20160816_9.png

获取到进程的id是 1181 ,然后用 cycript - pcycript -p 命令注入这个进程
Snip20160816_10.png

想要在SpringBoard界面弹出一个提示框,用cycript的话,只要两句代码就可以了,而且是实时注入的。

cy# alertView = [[UIAlertView alloc] initWithTitle:@"test" message:@"Cyrill" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]
#">"
cy# [alertView show]

知道内存地址,获取对象,比如刚刚生成的UIAlertView对象的内存地址是 0x156f9f0a0

cy# [#0x156f9f0a0 show]

一样可以弹出提示框.

问题

笔者在使用Cycript的过程中发现了个问题,似乎是在iOS9.3.3以后才存在。下面是问题:

Snip20160816_11.png

从AppStore中下载的App,无法被注入,进入 cy#,从越狱市场下载的App和系统自带的都可以被注入。

最近这个问题又不见了,原因还不清楚

你可能感兴趣的:(Cycript的介绍和使用)