iOS逆向之Cycript(一)
引言
Cycript allows developers to explore and modify running applications on either iOS or Mac OS X using a hybrid of Objective-C++ and JavaScript syntax through an interactive console that features syntax highlighting and tab completion.
(It also runs standalone on Android and Linux and provides access to Java, but without injection.)
Cycript允许开发人员使用Objective-C ++和JavaScript语法的混合,通过具有语法突出显示和制表符完成功能的交互式控制台,在iOS或Mac OS X上探索和修改正在运行的应用程序。
(它也可以在Android和Linux上独立运行,并提供对Java的访问,但不需要注入。)
Cycript是一个可以调试App的一个工具,目前只是了解到实时的去调试App、以及修改App内存数据;
支持语言配置环境
一 下载SDK 解压到本地
首先需要安装Cycript, 点击Cycript官网下载最新的SDK包。
Cycript官网直接解压到本地,放到自己指定的目录,我在这里放到了 /opt 下面
二 配置Cycript的链接
呼出 Cycript
环境
export CYPATHDIR=/opt/cycript
PATH = CYPATHDIR:原有内容
至此完成
遇到问题
问题一
错误提示第一种方法:
不用重启电脑并关闭SIP(这一系列操作又耗时有繁琐。。建议不要使用),所以最好用我这种方法,
brew install ruby@2.0
将这个路径下的 /usr/local/Cellar/ruby@2.0/2.0.0-p648_6/lib/libruby.2.0.0.dylib
文件拷贝一份, 粘贴到这个路径下 /opt/cycript_0.9.594/Cycript.lib
(一般默认把cycript的包放到/opt/)。 之后重新输入cycript,一切就很美好了。(到这里,问题二你可以不用看了,如果有时间可以了解下。)
第二种方法:
ruby版本过高,需要下载旧版本的ruby,因为cycript中的配置的ruby是2.0中的文件,需要修改的内容比较繁琐,以及不确定性,直接🔗一个当前版本的librubyXX.dylib
,🔗之前需要创建cycript
中用到的目录文件
sudo mkdir -p
#创建目标目录
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/
#🔗源文件
sudo ln -s /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/libruby.2.3.0.dylib /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib
问题二(这一步实在没必要,但还是放出来,也是一种方法)
关闭SIP
当你在系统文件、文件夹下,创建新的文件添加新的文件夹时,有的时候会提示安全原因无法修改系统文件SO
- 电脑重启按住command+R,进入恢复模式
- 打开终端,输入
csrutil disable
,重启 - 想再次打开
csrutil enable