美文网首页ios 开发
iOS逆向_cycript调试

iOS逆向_cycript调试

作者: iOS小洁 | 来源:发表于2023-01-14 11:25 被阅读0次

    Cycript

    由Jay Freeman(saurik)开发的脚本语言。开发者可以用Cycript来探索和调试iOS或者MacOS 上运行的程序

    Cycript使用准备

    1、手机Cydia安装Cycript。

    2、手机Cydia安装adv-cmds。可以用ps命令列出当前系统中的进程。获取需要调试的进程号进程名字

    列出所有进程
    ps -A
    ps aux
    
    可以搜索关键词,如:wechat
    ps -A | grep wechat
    

    3、Cycript开启和关闭

    开启
    cycript 
    cycript -p 进程ID
    cycript -p 进程名称
    
    取消输入  ctrl+C
    退出  Ctrl+D
    清屏  Command+ R
    

    Cycript常用语法

    UIApp
    [UIApplication sharedApplication]
    
    定义变量
    var 变量名 = 变量值
    
    用内存地址获取对象
    #内存地址
    
    ObjectiveC.classes
    已加载的所有OC类
    
    查看对象的所有成员变量
    *对象
    
    递归打印view的所有子控件(跟LLDB一样的函数)
    view.recursiveDescription().toString()
    
    筛选出某种类型的对象
    choose(UIViewController)
    choose(UITableViewCell)
    
    

    Cycript 文件封装

    可以将常用的Cycript代码封装在一个.cy文件中。exports参数名固定,用于向外提供接口

    (function(exports) {
        exports.rootVC = function() {
            return UIApp.keyWindow.rootViewController;
        };
    
            // app id
            exports.XZAppId = [NSBundle mainBundle].bundleIdentifier;
    
            // mainBundlePath
            XZAppPath = [NSBundle mainBundle].bundlePath;
      
        keyWinow = function() {
            return UIApp.keyWindow;
        };
    })(exports);
    

    其中exports.rootVC的调用需要通过文件名.rootVC()的方式

    keyWinow的调用可以通过 keyWinow的方式

    .cy文件的使用

    1、首先将文件放入手机 /usr/lib/cycript0.9 目录下。

    2、打开cycript调试

    3、@import 文件 导入文件。

    4、使用.cy文件中的代码

    相关文章

      网友评论

        本文标题:iOS逆向_cycript调试

        本文链接:https://www.haomeiwen.com/subject/vbnncdtx.html