项目地址:https://github.com/xiv3r/Burpsuite-Professional
背景
Burp Suite 2026.4.3 DMG 自带 JDK 25 ,而 loader.jar(来自 BurpLoaderKeygen)依赖 jdk.internal.org.objectweb.asm 内部包,该包在 JDK 25 中已移除。同时 Burp 以 class file 65.0 编译(≥ JDK 21),JDK 17 无法运行。
JDK 21 是唯一同时满足两边的版本。
前提
- macOS 10.15+
- Homebrew
- 已通过 DMG 安装 Burp Suite Professional(路径
/Applications/Burp Suite.app)
第一步:安装 JDK 21
bash
brew install openjdk@21
第二步:克隆仓库
bash
git clone https://github.com/xiv3r/Burpsuite-Professional.git ~/Downloads/Burpsuite-Professional
第三步:一键激活 + 修补
setup.sh 分两个阶段自动完成所有事情:
- Phase 1(激活) --- 弹出 keygen 和 Burp Suite,完成手动激活
- Phase 2(修补) --- 替换
JavaApplicationStub,之后点 App 图标直接启动激活版
bash
bash ~/Downloads/Burpsuite-Professional/setup.sh
脚本代码如下:
bash
#!/bin/bash
set -e
BURP_APP="/Applications/Burp Suite.app"
JAVA="/opt/homebrew/opt/openjdk@21/bin/java"
LOADER="$(cd "$(dirname "$0")" && pwd)/loader.jar"
BURP_JAR="$BURP_APP/Contents/Resources/app/burpsuite.jar"
# ---- Phase 1: activate ----
echo "==> Phase 1: Activation"
echo " Launching keygen + Burp Suite..."
"$JAVA" -jar "$LOADER" &
sleep 2
"$JAVA" \
--add-opens=java.desktop/javax.swing=ALL-UNNAMED \
--add-opens=java.base/java.lang=ALL-UNNAMED \
--add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
--add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED \
-javaagent:"$LOADER" \
-noverify \
-jar "$BURP_JAR" &
echo " 1. Burp Suite -> Help -> License -> Manual Activation"
echo " 2. Copy Activation Request -> paste into keygen Request"
echo " 3. Copy Activation Response from keygen -> paste back to Burp"
echo " 4. Click Activate"
read -p "Press Enter after activation is complete..."
# ---- Phase 2: patch ----
STUB="$BURP_APP/Contents/MacOS/JavaApplicationStub"
BACKUP="$BURP_APP/Contents/MacOS/JavaApplicationStub.bak"
ICON="$BURP_APP/Contents/Resources/app.icns"
sudo bash << 'PATCH'
set -e
if [ ! -f "$BACKUP" ]; then
cp "$STUB" "$BACKUP"
fi
cat > "$STUB" << 'LAUNCHER'
#!/bin/bash
exec $JAVA \
--add-opens=java.desktop/javax.swing=ALL-UNNAMED \
--add-opens=java.base/java.lang=ALL-UNNAMED \
--add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
--add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED \
-javaagent:$LOADER \
-noverify \
-Dinstall4j.launcherId=70 \
-Dinstall4j.swt=false \
-Dfile.encoding=UTF-8 \
-Xdock:name="Burp Suite Professional" \
-Xdock:icon="$ICON" \
-jar "$BURP_JAR"
LAUNCHER
chmod +x "$STUB"
touch "$BURP_APP"
PATCH
echo "Done. Click Burp Suite.app to launch."
Phase 2 所做之事:
- 备份
JavaApplicationStub→JavaApplicationStub.bak(原版 install4j 启动器) - 写入新启动脚本:改用 JDK 21 +
-javaagent:loader.jar+-noverify,exec接管 App 生命周期 touchApp bundle 让 Launch Services 刷新
日常使用
点 /Applications/Burp Suite.app(Dock、Spotlight、Launchpad 均可)直接启动。
恢复原版
bash
sudo cp /Applications/Burp\ Suite.app/Contents/MacOS/JavaApplicationStub{.bak,}
更新 Burp Suite 后
DMG 更新会覆盖 JavaApplicationStub,重新执行 setup.sh 即可(已激活过的话可以跳过 Phase 1 直接 Ctrl+C 进 Phase 2)。
兼容性速查
| 组件 | JDK 要求 |
|---|---|
| Burp Suite 2026.4.3 | ≥21(class file 65.0) |
| loader.jar | ≤21(依赖 ASM 内部包) |
| 唯一可行 | JDK 21 |