John the Ripper 安装

本文介绍了 Windows、MacOS、Linux 如何安装 John the Ripper 最新版本。

Windows 安装 John the Ripper

使用 John the Ripper v1.9.1-ce 包

下载 2025 年官方发布的 John the Ripper v1.9.1-ce Windows 64 位版本 :winX64_1_JtR.zip

解压到例如:D:\Tools\bin\john 目录中

设置全局可用

以 Window11 为例,点击最下面 Windows 开始图标或点击键盘 Start 键 -> 设置 -> 系统 -> 关于 -> 高级系统设置 -> 环境变量 -> 系统变量一栏里双击 Path -> 新增-> 输入 D:\Tools\bin\john\run -> 确认。

新开一个终端,测试

PowerShell
john --list=build-info

Mac 安装 John the Ripper

卸载老版本 john-1.9.0-Jumbo-1

不建议以下安装,安装的还是 2019 年的老版本 john-1.9.0-Jumbo-1,其中 office2john.py 有兼容 bug 一直没有修复。

Zsh
brew install john-jumbo

如果已经安装老版本,先卸载老版本

Zsh
brew uninstall john-jumbo

安装依赖

安装 john 所需的一些 Homebrew 依赖:

Zsh
brew install libomp openssl gmp

方案一:使用 John the Ripper v1.9.1-ce 包

下载 2025 年官方发布的 John the Ripper v1.9.1-ce MacOS ARM64 版本 :macOS-ARM_1_JtR.zip

目前只有支持苹果芯片的版本,intel 芯片未知

解压 zip 包到临时目录,然后移动到第三方软件专属目录 /opt

Zsh
mkdir -p ~/tmp/john
unzip macOS-ARM_1_JtR.zip -d ~/tmp/john

sudo mv ~/tmp/john /opt/john

配置全局 PATH,设置全局可用

Zsh
echo 'export PATH="/opt/john/run:$PATH"' >> ~/.zshrc

立即生效

Zsh
source ~/.zshrc

测试 PATH

Zsh
which john

测试 john,查看编译信息

Zsh
john --list=build-info

方案二:编译最新源码 bleeding-jumbo

如果想体验最新版本 bleeding-jumbo(不一定稳定),下载源码自己编译

Zsh
git clone https://github.com/openwall/john.git
cd john/src

编译

Zsh
./configure
make -s clean
make -sj$(sysctl -n hw.ncpu)

测试效果

Zsh
cd ../run
./john --list=build-info

Linux 安装 John the Ripper

卸载老版本 john-1.9.0-Jumbo-1

默认 apt 安装的是老旧版本 john-1.9.0-Jumbo-1,目前最新版本是 bleeding-jumbo,推荐自己拉取仓库编译。

Bash
# 不建议,安装的估计是 john-1.9.0-Jumbo-1 老版本
sudo apt install john

john # version 1.9.0

如果已通过 apt 安装,先卸载

Bash
sudo apt remove john

编译 bleeding-jumbo 最新源码

安装编译依赖

Bash
sudo apt update

sudo apt install -y \
git \
build-essential \
libssl-dev \
zlib1g-dev \
libgmp-dev \
libpcap-dev \
libbz2-dev \
pkg-config

下载 bleeding-jumbo 分支最新代码,建议放在 ~/src 目录下面

Bash
mkdir -p ~/src

cd ~/src

git john 仓库的 bleeding-jumbo 分支

Bash
git clone https://github.com/openwall/john -b bleeding-jumbo john

开始编译,进入

Bash
cd ~/src/john/src

执行

Bash
./configure

然后

Bash
make -sj$(nproc)

编译完成,~/src/john/run/ 目录下就是编译的二进制 john,查看编译信息

Bash
~/src/john/run/john --list=build-info

运行 john 测试

Bash
~/src/john/run/john --test

设置全局可用

添加到全局命令

Bash
sudo mkdir -p /opt

sudo mv ~/src/john /opt/john

john 比较对路径敏感,需要切换设置 alias

Bash
echo 'alias john=/opt/john/run/john' >> ~/.bashrc # 避免路径问题
echo 'export PATH="/opt/john/run:$PATH"' >> ~/.bashrc # 方面使用 run/ 中的提取器

. ~/.bashrc

测试

Bash
john --list=build-info

后续升级

Bash
cd /opt/john
git pull

如果没有权限,先把 John 目录的所有权交给当前用户

Bash
sudo chown -R $USER:$USER /opt/john

之后就可以正常 git pull 了

然后重新编译即可

Bash
cd /opt/john/src
make clean
./configure
make -sj$(nproc)

John 使用 GPU

顺便说一下,如果是英伟达的显卡,想让 John 使用 GPU,需要 OpenCL

Bash
sudo apt install -y nvidia-opencl-dev

nvidia-smi # 可以看到你的显卡信息