Cycript容许开发人员经过交互式控制台,使用Objective-C ++和JavaScript语法的混合,在iOS或Mac OS X上检测和修改正在运行的应用程序。ios
Cycript 目前的主要用途是在 iOS 上进行逆向工做,使用 Cydia Substrate 能够注入正在运行的进程(相似于调试器),这使它成为“探险”的理想工具。c++
Cycript还经过静态库的方式集成到本身的应用,这样作不要求越狱,固然也仅仅能在本身的应用内使用了。git
dyld: Library not loaded: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib
Referenced from: /Users/hejunbin/software/cycript_0.9.594/Cycript.lib/cycript-apl
Reason: image not found
[1] 41778 abort cycript
复制代码
解决方式一:github
brew install ruby@2.0
把/usr/local/Cellar/ruby@2.0/2.0.0-p648_2/lib/libruby.2.0.0.dylib拷贝到Cycript.lib目录下
复制代码
解决方式二:sql
关闭SIP
当你在系统文件、文件夹下,建立新的文件添加新的文件夹时,有的时候会提示安全缘由没法修改系统文件SO
电脑重启按住command+R,进入恢复模式
打开终端,输入csrutil disable,重启
想再次打开csrutil enable
微软不高兴了就打着安全的晃子搞了个SB,苹果不高兴了就打着安全的晃子搞了这个SIP,真会玩。
执行以下命令:
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
复制代码
cy#
复制代码
由于Cycript须要用到libstdc++.6.0.9.tbd,因此最好Xcode使用10之前的版本,iOS系统使用12之前的版本。安全
#import <Cycript/Cycript.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
CYListenServer(8888);
return YES;
}
复制代码
libc++abi.dylib: terminating with uncaught exception of type CYPoolError
复制代码
解决方式,使用老版本的Cycript.framework代替。ruby
笔者使用 github.com/Naituw/IPAP… 中的Cycript.framework代替运行成功。bash
cycript -r 127.0.0.1:8888
复制代码