All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.owasp.jbrofuzz.JBroFuzz Maven / Gradle / Ivy

/**
 * JbroFuzz 2.5
 *
 * JBroFuzz - A stateless network protocol fuzzer for web applications.
 * 
 * Copyright (C) 2007 - 2010 [email protected]
 *
 * This file is part of JBroFuzz.
 * 
 * JBroFuzz is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * JBroFuzz is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with JBroFuzz.  If not, see .
 * Alternatively, write to the Free Software Foundation, Inc., 51 
 * Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 * 
 * Verbatim copying and distribution of this entire program file is 
 * permitted in any medium without royalty provided this notice 
 * is preserved. 
 * 
 */
package org.owasp.jbrofuzz;

import java.util.prefs.Preferences;

import org.owasp.jbrofuzz.core.Database;
import org.owasp.jbrofuzz.io.CommandLineInterpreter;
import org.owasp.jbrofuzz.io.StorageHandler;
import org.owasp.jbrofuzz.io.StorageInterface;
import org.owasp.jbrofuzz.ui.JBroFuzzWindow;
import org.owasp.jbrofuzz.version.JBroFuzzFormat;

/**
 * 

* Filename: JBroFuzz.java *

* *

* Description: This class launches JBroFuzz. It instantiates a database of * fuzzers, a format object, the main frame window and a file IO handler. *

* *

* The order in which the last four are instantiated should not be altered. *

* * @author [email protected] * @version 2.3 * @since 0.1 */ public class JBroFuzz { private final StorageHandler mHandler; private final JBroFuzzFormat mFormat; private final JBroFuzzWindow mWindow; private Database mDatabase; public static final Preferences PREFS = Preferences.userRoot().node("owasp/jbrofuzz"); /** *

* The main method launching the constructor of JBroFuzz. *

* * @param args * String[] */ public static void main(final String[] args) { CommandLineInterpreter cli = new CommandLineInterpreter(); try{ if (cli.process(args) <= 0 ){ javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { new JBroFuzz(); } }); } } catch (Exception e){ e.printStackTrace(); } } /** *

* The main creation object, instantiating a Database, a Format Object, a * Window, and a File Hander *

* *

* The order in which construction takes place is rather important and * should not be altered. *

*/ public JBroFuzz() { mDatabase = new Database(); mHandler = new StorageHandler(); mFormat = new JBroFuzzFormat(); mWindow = new JBroFuzzWindow(this); // JBroFuzzWindow.createAndShowGUI(mWindow); } /** *

* Return the main database of exploits loaded, thus giving access to * fuzzers and the payloads. *

* * @return The Database of Fuzzers */ public Database getDatabase() { return mDatabase; } /** *

Set the database to the database specified.

* * @param db The input Database of fuzzers. * * @author [email protected] * @version 2.1 * @since 2.1 */ public void setDatabase(final Database db) { mDatabase = db; } /** *

* Return the main format object, thus allowing on top of static, also * dynamic access to various constant variables, methods, etc. *

* * @return The Format Object of JBroFuzz */ public JBroFuzzFormat getFormat() { return mFormat; } /** *

* Return the main file handler, thus allowing access to the various * read/write IO methods and functions used at runtime. *

* * @return The file IO Object of JBroFuzz */ public StorageInterface getStorageHandler() { return mHandler; } /** *

* Return the main window, thus allowing access to various GUI components. *

* * @return The main frame window displayed */ public JBroFuzzWindow getWindow() { return mWindow; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy