Burpの拡張機能 Extenderを作る。〜シンプルにtabを付ける〜


package burp;

import java.awt.Button;
import java.awt.Component;

public class BurpExtender implements IBurpExtender,ITab{

    private IBurpExtenderCallbacks callbacks;
    private Component comp;

 @Override
 public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) {
        this.callbacks = callbacks;
        comp = new Button();
        callbacks.setExtensionName("test");
        callbacks.addSuiteTab(BurpExtender.this);
    }


    @Override
    public String getTabCaption() {
       return "testTabCaption";
    }

    @Override
    public Component getUiComponent() {
        return comp;
    }

Extenderで読み込んだ時に最初に呼ばれるのがregisterExtenderCallbacksメソッドです。

BurpのExtenderはregisterExtenderCallbacksのメソッドを実装しないと、動かない。

引数で渡されたcallbacksをこのクラス(BurpExtender)の変数に格納する。

その後にjavaのコンポーネントであるjava.awt.ComponentのButtonクラスをComponentの変数に格納する。

そしてIBurpExtenderCallbacks内のメソッドsetExtensionNameで名前を書く。

で、callbacksのaddSuiteTabメソッドで、BurpExtender自身にタブを追加する。

Itabをimplementしたので、getTabCaptionメソッドでタブの表示名を付ける。

getUiComponentメソッドにComponent(ここではButton)を返す。

これで、タブの追加を行うことが出来る。