29 lines
891 B
Java
29 lines
891 B
Java
|
package burp_clj_montoya;
|
||
|
|
||
|
import clojure.java.api.Clojure;
|
||
|
import clojure.lang.IFn;
|
||
|
|
||
|
import burp.api.montoya.BurpExtension;
|
||
|
import burp.api.montoya.MontoyaApi;
|
||
|
import burp.api.montoya.logging.Logging;
|
||
|
|
||
|
public class BurpExtender implements BurpExtension
|
||
|
{
|
||
|
@Override
|
||
|
public void initialize(MontoyaApi api)
|
||
|
{
|
||
|
|
||
|
Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
|
||
|
IFn require = Clojure.var("clojure.core", "require");
|
||
|
|
||
|
// API hook is stored globally in a state atom for later use
|
||
|
require.invoke(Clojure.read("burp-clj-montoya.extender"));
|
||
|
IFn set_api = Clojure.var("burp-clj-montoya.extender", "set!");
|
||
|
set_api.invoke(api);
|
||
|
|
||
|
require.invoke(Clojure.read("burp-clj-montoya.core"));
|
||
|
IFn register = Clojure.var("burp-clj-montoya.core", "register");
|
||
|
register.invoke(api);
|
||
|
}
|
||
|
}
|