首先要在越狱手机上安装 Cycript 插件
用电脑链接越狱手机后可以直接使用
ps -A 查看可以依附的进程
以爱奇艺为例
1538 ?? 0:18.91 /var/mobile/Containers/Bundle/Application/EC6A9BCD-1EA6-4BB9-8044-769FB2927020/iQiYiPhoneVideo.app/iQiYiPhoneVideo
可以直接调用
cycript -p 1538
或者
cycript -p iQiYiPhoneVideo
就可以 依附进程了
那么如何在越狱手机中添加自己的cy文件呢
将自己写cy文件 拷贝到 /usr/lib/cycript0.9 目录下
scp -P 12345 evolcy.cy root@127.0.0.1:/usr/lib/cycript0.9
我这里以依附微信为例
cycript -p WeChat
然后 声明我们自己的文件
@import evolcy
就可以直接使用了
我这里简单写了几个
elapppath = [NSBundle mainBundle].bundlePath;
elwindow = function(){
return [UIApplication sharedApplication].keyWindow;
};
elcurrentvc = function(){
var topViewController = [UIApplication sharedApplication].keyWindow.rootViewController;
while (true) {
if (topViewController.presentedViewController) {
topViewController = topViewController.presentedViewController;
} else if ([topViewController isKindOfClass:[UINavigationController class]] && [topViewController topViewController]) {
topViewController = [topViewController topViewController];
}else if ([topViewController isKindOfClass:[UITabBarController class]]) {
topViewController = topViewController.selectedViewController;
} else {
break;
}
}
return topViewController;
};
当执行 elcurrentvc()的时候
因为以后可能会有更多的cy文件 我们不建议直接把cy放到/usr/lib/cycript0.9
我们把cy 放到 cycript0.9/com/evol
然后我们声明的时候 就得这么写
@import com.evol.evolcy
用法还跟之前一样