美文网首页看场电影
IPhone一起玩越狱 -(七)- Cycript环境调试Ap

IPhone一起玩越狱 -(七)- Cycript环境调试Ap

作者: struggle3g | 来源:发表于2018-06-08 18:11 被阅读67次

引言

越狱准备了那么久,到底为了什么?
当然是越狱调试、开发一些新的东西,比如将正儿八经的App调试修改。。。。

配置Cycript环境

在你的cydia中搜索Cycript安装,也可以直接添加我给的添加源地址

用Cycript勾住IPhone打开的App直接调试

$ ps -A | grep WeChat
$ cycript -p 进程名称/进程的编号

然后就可以搞事情了

简单的命令操作

/**在cycript勾住你运行中的app的时候**/
xxx-iPhone:~ root# cycript -p XXX
cy# UIApp
#"<UIApplication: 0x13b32ec60>"

/**循环遍历打印所有使用的子控件**/
cy# UIApp.keyWindow.recursiveDescription()
/**添加层级关系**/
cy# UIApp.keyWindow.recursiveDescription().toString()

cycript中定义的方法、变量的生命周期

cycript中创建一些变量、方法方便我们使用,同时你要了解他们的生命周期,来确保不影响你的调试
1. 创建方法、变量,使用之

/**首先定义一个变量**/
cy# var NewName = "123"
cy# NewName
"123"
/**定义一个变量**/
cy# function add(a,b) {return a + b}
cy# add(1,2)
3

2. 退出勾住App进程的cycript、重新勾住

/**快捷键 control + d 退出**/
xxx-iPhone:~ root# cycript -p 进程名称/进程的编号
cy# NewName
"123"
cy# add(1,2)
3
/**证明这些方法、变量没有消失**/

3. 退出App、重新打开这个App,退出勾住App进程的cycript、重新勾住

cy# NewName
throw new ReferenceError("Can't find variable: NewName")
cy# add(1,2)
throw new ReferenceError("Can't find variable: add")
/**证明这些方法、变量消失**/

在Cycript中所有定义的变量、方法都是依附在进程当中,也就是这个App的内存,当这个进程被杀死的时候,这么函数、变量也机会被清除

cycript中定义的方法、变量不消失的方式

创建.cy文件,就好像是一些公用方法,公用类一样,每次勾住App只要import name.cy就能使用你以前封装的方法、变量

/**在IPhone的/usr/lib/cycript0.9/创建一个.cy文件**/
/**或者在Mac的桌面创建一个.cy文件,copy到IPhone的/usr/lib/cycript0.9/**/
/**tools.cy**/
rootvc = function(){
    return UIApp.keyWindow.rootViewController;
}

/**Mac  Copy 到IPhone  USB连接模式**/
$ scp -P 3456 tools.cy root@本机ip:/usr/lib/cycript0.9

/**第一种**/
cy# @import tools
{}
/**第二种加载方式**/
cycript -p 进程名称/进程的编号  路径/你的.cy文件
/**第三种加载方式**/
/**这种方式有种好处是可以在你勾住App的时候修改.cy文件,可以直接动态的去调试,就是不用kill 进程重启直接使用**/
cycript -p 进程名称/进程的编号  路径/你的.cy文件 ; cycript -p 进程名称/进程的编号


cy# rootvc()
#"<MMUINavigationController: 0x1068a7800>"

非越狱加载.cy文件

  • 向重签名后的包里面的Framworks注入一个Cycript0.9的时候在
    /opt/cycript_0.9.594/Cycript.lib/libcycript.cy文件中
require.resolve = function(name) {
    if (StartsWith(name, '/')) {
        let path = ResolveEither(name);
        if (path != null)
            return path;
    } else {
        let cwd = *new (typedef char[1024]);
        cwd = getcwd(cwd, cwd.length).toString();
        cwd = cwd.split('/');

        if (StartsWith(name, './') || StartsWith(name, '../')) {
            let path = ResolveEither(cwd + '/' + name);
            if (path != null)
                return path;
        } else {

            for (let i = cwd.length; i != 0; --i) {
                let modules = cwd.slice(0, i).concat("node_modules").join('/');
                let path = ResolveEither(modules + "/" + name);
                if (path != null)
                    return path;
            }

            let library = GetLibraryPath();
            let path = ResolveFile(true, library + "/" + name + ".cy");
            if (path != null)
                return path;

            //添加下面方法,在注入cyript的时候直接将Your.py文件也注入进去
            let document = GetDocumentPath();
            path = ResolveFile(true, document + "/cycript/" + name + ".cy");
            if (path != null)
                return path;
        }
    }

    throw new Error("Cannot find module '" + name + "'");
};

OK,这样在调试App或者注入功能的时候就直接用你自己定义的方式去调用,哇嗄嗄!

相关文章

  • IPhone一起玩越狱 -(七)- Cycript环境调试Ap

    引言 越狱准备了那么久,到底为了什么?当然是越狱调试、开发一些新的东西,比如将正儿八经的App调试修改。。。。 配...

  • iOS逆向1020-2-越狱Cycript

    001--越狱环境启动Cycript.wmv // 在手机敲终端指令,安装以下工具 // 在越狱手机上调试 // ...

  • Cycript 的使用

    Cycript 的使用 通过 ssh 链接到越狱 iPhone 通过 ps -e 来搜索 iPhone 上的进程 ...

  • <安全攻防之Cycript>

    一、 Cycript 越狱环境中使用Cycript 通过ssh登录手机 二、自定义Cycript文件 创建.cy后...

  • Mac上调用cycript出错:dyld: Library no

    在Mac使用cycript在非越狱手机上调试时,调用:./cycript报错: 错误原因:是因为电脑的ruby版本...

  • APP砸壳-iOS

    1. 准备一个越狱的iPhone手机(在越狱机上Cydia上安装 openSSH 和 Cycript) 2. du...

  • iOS砸壳(dumpdecrypted)

    1.环境准备 a.越狱设备一台,我这手上的是iPhone 5s,系统版本是8.4 b.Cycript Cycrip...

  • 越狱调试(23)

    越狱环境中Cycript的使用 手机安装Cycript USB链接手机clear -> 清理手机的终端 -> 需...

  • iOS 越狱环境debugserver

    一、概述 在越狱环境中我们可以很方便的使用cycript和reveal来调试应用,但是有个问题是他们都不影响进程,...

  • 逆向技能清单

    1. 逆向知识 通过usb或者wifi连接ssh通道、登录iPhone,通过Cycript命令行调试iPhone ...

网友评论

    本文标题:IPhone一起玩越狱 -(七)- Cycript环境调试Ap

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