逆向工程二之Cycript

一、摘要

本文主要介绍:Cycript使用,及其库的封装

二、安装使用

1)环境搭建

  • Cydia上搜索”Cycript”,并安装
  • 进入Cycript环境
  1. 报错:“killed:9”,原因是没有相关权限;

       

      2.  找到cycript文件;

       

       3.  依次执行以下步骤:直接拖拽到Mac即可完成复制操作;

       

        

       

      4.  重新进入;

      

2)调试目标应用(以下以“网易云音乐”为例,先点开)

  • adv-cmds(用来查看iOS端运行的进程信息):Cydia搜索并安装
  1. 查看所有进程信息;

      

      2.  过滤进程;

      

      3.  进入应用Cycript环境;

      

  • cycript语法
  1. 该语言糅合了C++OCJSJAVA等语言;
  2. 基本语法(简单列举);

       

      说明:

      1>  var定义变量,UIApp <=> [UIApplication sharedApplication];
      2>  #内存地址 <=> 该变量名
      3>  recursiveDescription():递归遍历视图层次结构;
      4>  toString():按字符顺序显示;
      5>  choose(UIViewController):筛选当前页面所有的UIViewController;
      6>  ObjectiveC.classes:查看所有的类;
  • 使用mjcript.cy库调试
  1. 下载地址,具体应用请参考里面说明;
  2. 追加到iOS端:直接拖拽;

      

     3.  导入头文件;

      

     4.  指令演示:MJFrontVc()获取当前页面VC;MJInstanceMethodNames()获取该页面所有的对象方法名;

      

二、库封装

  • 下载并用“Sublime Text”新建.cy文件

     

  • 设置高亮,编写代码

      

      

  • 追加到iOS端

      

  • 使用

      

三、小结

  • 以上cycript的使用,只是针对app在内存中的数据的修改;若要永久修改,则需要打包deb插件实现(这个后面会讲到)
原文地址:https://www.cnblogs.com/lybSkill/p/14923761.html