逆向工程二之Cycript

Posted 春天里的花骨朵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了逆向工程二之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++\\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的思路

MonkeyDev安装--逆向开发

iOS逆向系列-逆向APP

iOS逆向之分析工具的安装和使用

不越狱修改钉钉位置打卡(实现除了砸壳,都可以在不越狱的前提下进行逆向工程)

团队作业二之需求调研