reverse-skills-max: initial public release (restored, redacted, hardened)
This commit is contained in:
94
reverse-skill-repo/burp-mcp-full/build.bat
Normal file
94
reverse-skill-repo/burp-mcp-full/build.bat
Normal file
@@ -0,0 +1,94 @@
|
||||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
:: BurpSuite MCP Full Control - Windows Build Script
|
||||
:: Produces: build\libs\burp-mcp-full.jar (fat jar, Burp-loadable)
|
||||
|
||||
:: ===== Detect JDK (JAVA_HOME -> PATH -> common install dirs) =====
|
||||
set "JAVAC="
|
||||
set "JAR_CMD="
|
||||
|
||||
if defined JAVA_HOME (
|
||||
if exist "%JAVA_HOME%\bin\javac.exe" (
|
||||
set "JAVAC=%JAVA_HOME%\bin\javac.exe"
|
||||
set "JAR_CMD=%JAVA_HOME%\bin\jar.exe"
|
||||
)
|
||||
)
|
||||
|
||||
if not defined JAVAC (
|
||||
where javac >nul 2>nul
|
||||
if not errorlevel 1 (
|
||||
for /f "delims=" %%i in ('where javac') do (
|
||||
set "JAVAC=%%i"
|
||||
goto :javac_found
|
||||
)
|
||||
)
|
||||
)
|
||||
:javac_found
|
||||
|
||||
if not defined JAVAC (
|
||||
for %%P in (
|
||||
"C:\Program Files\Java"
|
||||
"C:\Program Files\Eclipse Adoptium"
|
||||
"C:\Program Files\Microsoft\jdk-21.0.5.11-hotspot"
|
||||
) do (
|
||||
if exist %%P (
|
||||
for /d %%D in (%%P\jdk-2*) do (
|
||||
if exist "%%D\bin\javac.exe" (
|
||||
set "JAVAC=%%D\bin\javac.exe"
|
||||
set "JAR_CMD=%%D\bin\jar.exe"
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
if not defined JAVAC (
|
||||
echo ERROR: javac not found in JAVA_HOME, PATH, or common install dirs.
|
||||
echo Set JAVA_HOME to your JDK 21+ install directory, e.g.:
|
||||
echo set JAVA_HOME=C:\Program Files\Java\jdk-21
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
set "SRC=src\main\java\com\burpmcp"
|
||||
set "RES=src\main\resources"
|
||||
set "LIB=lib"
|
||||
set "OUT=build\classes"
|
||||
set "DIST=build\libs"
|
||||
|
||||
echo [1/4] Downloading dependencies...
|
||||
if not exist %LIB% mkdir %LIB%
|
||||
if not exist %LIB%\montoya-api.jar curl -sL -o %LIB%\montoya-api.jar "https://repo1.maven.org/maven2/net/portswigger/burp/extensions/montoya-api/2025.5/montoya-api-2025.5.jar"
|
||||
if not exist %LIB%\gson.jar curl -sL -o %LIB%\gson.jar "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.11.0/gson-2.11.0.jar"
|
||||
if not exist %LIB%\nanohttpd.jar curl -sL -o %LIB%\nanohttpd.jar "https://repo1.maven.org/maven2/org/nanohttpd/nanohttpd/2.3.1/nanohttpd-2.3.1.jar"
|
||||
|
||||
echo [2/4] Compiling...
|
||||
if not exist %OUT% mkdir %OUT%
|
||||
"%JAVAC%" --release 21 -encoding UTF-8 -cp "%LIB%\montoya-api.jar;%LIB%\gson.jar;%LIB%\nanohttpd.jar" -d %OUT% %SRC%\*.java
|
||||
if errorlevel 1 (
|
||||
echo COMPILE FAILED
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
:: Copy resources (extension descriptor) so the jar is loadable by Burp
|
||||
xcopy /e /i /y "%RES%\META-INF" "%OUT%\META-INF" >nul
|
||||
|
||||
echo [3/4] Packaging fat jar...
|
||||
if not exist %DIST% mkdir %DIST%
|
||||
|
||||
:: Extract dependencies into classes dir
|
||||
cd %OUT%
|
||||
"%JAR_CMD%" xf ..\..\%LIB%\gson.jar com
|
||||
"%JAR_CMD%" xf ..\..\%LIB%\nanohttpd.jar fi
|
||||
cd ..\..
|
||||
|
||||
:: Create jar
|
||||
"%JAR_CMD%" cf %DIST%\burp-mcp-full.jar -C %OUT% .
|
||||
|
||||
echo [4/4] Done!
|
||||
echo Output: %DIST%\burp-mcp-full.jar
|
||||
echo.
|
||||
echo Install: Burp Suite -^> Extensions -^> Add -^> Java -^> Select %DIST%\burp-mcp-full.jar
|
||||
echo.
|
||||
echo MCP config (any client):
|
||||
echo { "command": "node", "args": ["%~dp0mcp-bridge.js"] }
|
||||
Reference in New Issue
Block a user