homebrew 安装jtool/jtool2 报错

jtool/jtool2(下面简称jtool) 是一个功能强大的分析二进制的工具,用它可以替代系统自带的 otool 命令。因为 jtoo2 版本更加新一些,所以下面我都以 jtool2 为例展开说明。

安装方式:

  • 我们可以在它的官网直接下载,将文件放到 /user/local/bin/目录下。
  • 也可以通过 homebrew 下载安装 jtool,和其他工具不同,jtool 需要通过 brew cask 安装。

关于 brew 和 brew cask 有什么区别,可以参考这里

出于用 homebrew 统一管理的角度考虑,我更推荐采用 homebrew 来安装 jtool。

homebrew官网推荐我们使用 brew install --cask jtool2 命令来安装 jtool,但我在执行的过程中发现多次报错,信息如下:

~ % brew install --cask jtool2
==> Tapping homebrew/cask
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask'...
fatal: unable to access 'https://github.com/Homebrew/homebrew-cask/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443 
Error: Failure while executing; `git clone https://github.com/Homebrew/homebrew-cask /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask --origin=origin --template=` exited with 128.

一开始我并没有发现安装脚本有什么不同,直到看到这篇文章中提到,需要先安装 brew cask,再执行 brew install --cask jtool2 命令。

再回到上面的报错信息,因为之前本地没有 brew cask,因此需要去远程获取,但可能是因为 brew cask 关联的其他三方工具比较多,再加上国内访问 Github 的不稳定,报错就不足为奇了。

那么接下来的问题自然就变成了本地安装 brew cask:执行 brew install cask,安装过程持续了好几分钟。

在安装的过程中我发现它一共关联了很多其他三方库,也难怪远程拉取会报错了。

Installing dependencies for cask: gmp, bdw-gc, libffi, m4, libtool, libunistring, pkg-config, readline, guile, gettext, libidn2, libtasn1, nettle, p11-kit, openssl@1.1, libevent, c-ares, jemalloc, libev, nghttp2, unbound, gnutls, jansson and emacs

接下来再执行 brew install --cask jtool2 很快就安装成功了。

因为 jtool 实际上是一个执行文件,而且作者貌似没有通过苹果提供的方式为它签名,因此在首次安装执行时,系统(我的系统版本是MacOS 11.4)会提示未验证的开发者,需要在系统设置的安全性与隐私里开一下权限。

App 的越狱检测

银行、支付类的 app 都有检测,例如 支付宝、云闪付(银联)、买单吧(交行)、掌上生活(招行)、中国建设银行、邮储银行等

  • AppSync Unified:卸载后,云闪付、买单吧无越狱提示
  • afc2add:卸载后,掌上生活无越狱提示
  • Cydia:卸载后,邮储银行无越狱提示
  • 移除越狱环境:支付宝可正常登录
  • 建行一直提示越狱环境,重装也一样(像是bug)