逆向工程二之Cycript
程序员文章站
2022-03-12 20:18:28
一、摘要 本文主要介绍:Cycript使用,及其库的封装 二、安装使用 1)环境搭建 Cydia上搜索”Cycript”,并安装 进入Cycript环境 报错:“killed:9”,原因是没有相关权限; 2. 找到cycript文件; 3. 依次执行以下步骤:直接拖拽到Mac即可完成复制操作; 4. ......
一、摘要
本文主要介绍:cycript使用,及其库的封装
二、安装使用
1)环境搭建
- cydia上搜索”cycript”,并安装
- 进入cycript环境
- 报错:“killed:9”,原因是没有相关权限;
2. 找到cycript文件;
3. 依次执行以下步骤:直接拖拽到mac即可完成复制操作;
4. 重新进入;
2)调试目标应用(以下以“网易云音乐”为例,先点开)
- adv-cmds(用来查看ios端运行的进程信息):cydia搜索并安装
- 查看所有进程信息;
2. 过滤进程;
3. 进入应用cycript环境;
- cycript语法
- 该语言糅合了c++\oc\js\java等语言;
- 基本语法(简单列举);
说明:
1> var定义变量,uiapp <=> [uiapplication sharedapplication];
2> #内存地址 <=> 该变量名
3> recursivedescription():递归遍历视图层次结构;
4> tostring():按字符顺序显示;
5> choose(uiviewcontroller):筛选当前页面所有的uiviewcontroller;
6> objectivec.classes:查看所有的类;
- 使用mjcript.cy库调试
- 下载地址,具体应用请参考里面说明;
- 追加到ios端:直接拖拽;
3. 导入头文件;
4. 指令演示:mjfrontvc()获取当前页面vc;mjinstancemethodnames()获取该页面所有的对象方法名;
二、库封装
- 下载并用“sublime text”新建.cy文件
- 设置高亮,编写代码
- 追加到ios端
- 使用
三、小结
- 以上cycript的使用,只是针对app在内存中的数据的修改;若要永久修改,则需要打包deb插件实现(这个后面会讲到)