一、越狱环境下启动cycript
1.解决不能输入中文路径的问题(拷贝.inputrc隐藏文件到服务端端用户根目录)
$scp -P 12345 .inputrc root@localhost:~/
2.终端中如果要使用vim命令,需要在越狱设备上安装Vi IMproved插件
3.越狱设备安装cycript插件
4.查看Mac上所有进程 (??之前是ID,之后是可执行文件的路径)
$ps -A
5.连接上手机后,查看手机上微信的进程(查看所有进程iPhone:~ root# ps -A)
iPhone:~ root# ps -A | grep WeChat
6.连接cycript (先连接手机启动应用后再连接cycript)
7.使用cycript定义函数
8.拷贝.cy文件到手机(使用cy要导入,比如#import test)
注意:拷贝新的.cy文件替换旧的.cy文件后,要先退出cy环境,再杀掉进程,再次启动进程,然后连接cycript,重新导入@import xxx 才能使用新的.cy文件中的内容
9.导入cy文件的另一种方式
连接时导入,更换新(拷贝)的cy后,使用该方法不用杀掉进程直接再次连接就行
10.非越狱环境载入cy文件
注意:
*越狱手机:要先登录手机->启动应用->cycript连接
*非越狱手机:使用monkeydev加载砸壳后的应用到手机->cycript连接
越狱手机和非越狱手机添加cy文件的方式不同,可参照上文,根据不同的手机采用不同的方式载入
cy文件(demo)
APPID = [NSBundle mainBundle].bundleIdentifier;
APPPATH = [NSBundle mainBundle].bundlePath;
//如果有变化,就用function去定义!!
HKRootvc = function(){
return UIApp.keyWindow.rootViewController;
};
HKKeyWindow = function(){
return UIApp.keyWindow;
};
HKGetCurrentVCFromRootVc = function(rootVC){
var currentVC;
if([rootVC presentedViewController]){
rootVC = [rootVC presentedViewController];
}
if([rootVC isKindOfClass:[UITabBarController class]]){
currentVC = HKGetCurrentVCFromRootVc(rootVC.selectedViewController);
}else if([rootVC isKindOfClass:[UINavigationController class]]){
currentVC = HKGetCurrentVCFromRootVc(rootVC.visibleViewController);
}else{
currentVC = rootVC;
}
return currentVC;
};
HKCurrentVC = function(){
return HKGetCurrentVCFromRootVc(HKRootvc());
};
cycript
网友评论