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]
#"<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和系统自带的都可以被注入。

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容