Part II: Setting Up Extension Development Tools

July 30, 2018 Prakhar Prasad 2 minutes

    We will need a proper development environment to enable ourselves to efficiently program extensions. We need the following things ready before jumping into the actual development:

    NetBeans 8.2 IDE

    NetBeans is a open-source IDE which is massively popular in the Java community. We’ll use NetBeans 8.2 for rest of the tutorials. You are free to choose other IDEs as well and figure out the settings.

    Installation of NetBeans on all platforms are straight-forward and doesn’t warrant a special section. Once installed the Auto Popup on Typing Any Java Identifier Part feature needs to be enabled. It is present under Options > Editor > Code Completion > Language > Java menu; as shown:

    This feature helps a lot in auto-completion which is helpful while developing extensions.

    Please note that I’m aware of Apache NetBeans 9.0 but for Java 8 we’ll stick with the proven Oracle NetBeans.

    Installation of Java JDK

    Installation of JDK differs on every platform; but here are ways to install on each:

    Windows: Installer

    Linux (Ubuntu):

    sudo apt install openjdk-8-jdk
    

    macOS (via Homebrew):

    brew update
    brew tap caskroom/versions
    brew cask install java8
    

    After the installation, the setup can be verified by running the following in terminal:

    Prakhars-MBP% java -version
    
    java version "1.8.0_101"
    Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
    

    Burp Suite & Extender APIs

    Once Burp Suite Community (or Pro) Edition is installed; we have to fire-up and reach out to the Extender tab, then from there APIs tab, and finally Save interface files to a folder.

    This will extract and save all the Java interface files to a folder called burp inside the chosen folder; which we will use with NetBeans to enable code-completion and compilation in the next part.