iOS逆向 -- cycript 依附进程

首先要在越狱手机上安装 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 [email protected]:/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()的时候

iOS逆向 -- cycript 依附进程_第1张图片

因为以后可能会有更多的cy文件 我们不建议直接把cy放到/usr/lib/cycript0.9

我们把cy 放到 cycript0.9/com/evol

然后我们声明的时候 就得这么写 

 @import com.evol.evolcy

用法还跟之前一样

你可能感兴趣的:(iOS逆向 -- cycript 依附进程)