This section is a boiled down version of everything above. It should serve as an easy reference. These steps assume you've identified and installed the correct JDK.
- Locate the jar file: Extender > Extensions > Select extension > Details.
bapps\
directory is located atC:\Users\yourusername\AppData\Roaming\BurpSuite\bapps
- Backup the original jar file to a different folder, outside of bapps.
- Change extension from .jar to .zip, extract contents, delete .zip file
- Make your modifications
- Re-jar:
jar cvf yourJarName.jar -C extractedContentsDirectory/ .
- Reload extension in Burp: Extender > Extensions, uncheck Load and check it again
- Clone or download extension source code
- Make your modifications, and create build location
- Compile source code:
javac -cp "C:\Program Files\BurpSuitePro\burpsuite_pro.jar" -d buildLocation sourceCodeLocation\*.java
- Create Jar:
jar cvf yourJarName.jar buildLocation/*.class anyOtherDependencies1 anyOtherDependencies2
- Load Jar into Burp: Extender > Extensions, Add, Extension type Java and locate built jar, Next, Close
- Disable original version of extension from BApp store
podman container run --rm -v "${PWD}":/app --workdir=/app -v ~/BurpSuitePro/burpsuite_pro.jar:/burpsuite_pro.jar docker.io/java javac -cp /burpsuite_pro.jar -d . src/burp/*.java
podman container run --rm -v "${PWD}":/app --workdir=/app -v ~/BurpSuitePro/burpsuite_pro.jar:/burpsuite_pro.jar java jar cvf personalizedCollaboratorEverywhere.jar ./burp/*.class
for building Collaborator Everywhere ( last built commit ):
Recently had to rebuild the Collaborator Everywhere plugin, because I was getting a 406 when the plugin would add the collaborator string to the User-Agent header.
So, I downloaded the source, commented out that one line and then rebuilt the project. Once rebuilt I loaded the extension manually ( after disabling the original collaborator everywhere ), and I no longer received the 406.
Also, the build would fail with the
grandle:latest
tag for the docker image, so that is why I bumped it down to 6.9 instead. I would get this error: