逆向工程二之Cycript

2022-07-22,

一、摘要

本文主要介绍: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++\oc\js\java等语言;
  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插件实现(这个后面会讲到)

《逆向工程二之Cycript.doc》

下载本文的Word格式文档,以方便收藏与打印。