评论

收藏

[iOS开发] 逆向工程二之Cycript

移动开发 移动开发 发布于:2021-06-25 09:06 | 阅读数:341 | 评论:0

一、摘要
  本文主要介绍:Cycript使用,及其库的封装
二、安装使用
1)环境搭建

  • Cydia上搜索”Cycript”,并安装
  • 进入Cycript环境

  • 报错:“killed:9”,原因是没有相关权限;
         DSC0000.png
        2.  找到cycript文件;
         DSC0001.png
         3.  依次执行以下步骤:直接拖拽到Mac即可完成复制操作;
         DSC0002.png
           DSC0003.png
         DSC0004.png
        4.  重新进入;
         DSC0005.png
2)调试目标应用(以下以“网易云音乐”为例,先点开)

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

  • 查看所有进程信息;
         DSC0006.png
        2.  过滤进程;
         DSC0007.png
        3.  进入应用Cycript环境;
         DSC0008.png

  • cycript语法

  • 该语言糅合了C++\OC\JS\JAVA等语言;
  • 基本语法(简单列举);
         DSC0009.png
        说明:

      1>  var定义变量,UIApp <=> [UIApplication sharedApplication];
      2>  #内存地址 <=> 该变量名
      3>  recursiveDescription():递归遍历视图层次结构;
      4>  toString():按字符顺序显示;
      5>  choose(UIViewController):筛选当前页面所有的UIViewController;
      6>  ObjectiveC.classes:查看所有的类;

  • 使用mjcript.cy库调试

  • 下载地址,具体应用请参考里面说明;
  • 追加到iOS端:直接拖拽;
         DSC00010.png
       3.  导入头文件;
         DSC00011.png
       4.  指令演示:MJFrontVc()获取当前页面VC;MJInstanceMethodNames()获取该页面所有的对象方法名;
         DSC00012.png
二、库封装

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

  • 设置高亮,编写代码
         DSC00014.png
         DSC00015.png

  • 追加到iOS端
         DSC00016.png

  • 使用
         DSC00017.png
三、小结

  • 以上cycript的使用,只是针对app在内存中的数据的修改;若要永久修改,则需要打包deb插件实现(这个后面会讲到)

关注下面的标签,发现更多相似文章