iOS 逆向编程(十二)Cycript 安装与使用

1,525 阅读1分钟
  • Cycript 是由 Cydia 创始人 saurik 推出的一款脚本语言,混合了 Objective-CC++JavaScript 等语法的一个工具。

  • 让开发者在 命令行 下和应用交互,在运行时查看和修改应用,可以用来探索、修改、调试正在运行的 Mac 或 iOS APP

一、安装 Cycript

  • 通过 Cydia 安装 Cycript

  • 进程ID 与 进程名称 如何获取?

  • Cycript 常用命令(需要在手机终端执行命令,可以看之前的文章如何连接手机终端)

    • 开启

      // 方式一
      $ cycript
      
      // 方式一 (进程ID 重新启动APP什么的会导致变换,需要注意更换)
      $ cycript -p 进程ID
      
      // 方式一 (推荐,因为 【进程ID】 会变,但是 【进程名称】 不会,不需要经常更换)
      $ cycript -p 进程名称
      

      输入启动命令之后,如果带上 进程ID或名称,就会进入这个 进程ID或名称 软件的调解环境

    • 取消输入:control + C

    • 退出:control + D

二、使用 Cycript

  • 下载了一个 网易云音乐 进行测试(由于之前没有下载,我是 关机放弃越狱环境 之后,通过 AppStore 进行安装的,然后在通过 CheckRa1n 重新回到越狱环境)。

  • 安装 APP 之后,需要打开 APP,然后进入手机终端环境,通过 ps命令 获取到 程序名称

    $ ps -A
    
    iPhone:~ root# ps -A                                                                                                                      
    PID TTY           TIME CMD
    ......
    515 ??         0:00.43 /private/var/containers/Bundle/Application/C32DF80E-733A-4426-B915-FD05A426E319/neteasemusic.app/PlugIns/music Notificat
    528 ??         0:15.75 /var/containers/Bundle/Application/C32DF80E-733A-4426-B915-FD05A426E319/neteasemusic.app/neteasemusic
    ......
    

    然后就能找到我们需要的 进程ID与进程名称neteasemusic,上面那条一看就是 APP辅助插件 了,下面这条才是 软件的真正进程

  • 找到了 进程名称,那就可以通过 Cycript 监控这个进程进行调试了。

    $ cycript -p neteasemusic
    
  • 注意:在调试阶段,输入 有些命令的时候 会导致 APP 闪退,如果 闪退则会退出调试环境,需要重新 启动APP 输入 上面命令调试

三、Cycript 语法入门