Cycript的介绍和使用

来源:互联网 时间:2017-01-21


简介

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]
#"<UIAlertView: 0x156f9f0a0; frame = (0 0; 0 0); layer = <CALayer: 0x156f96fc0>>"
cy# [alertView show]

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


cy# [#0x156f9f0a0 show]

一样可以弹出提示框.


问题

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



Snip20160816_11.png


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


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




相关阅读:
Top