Search in sources :

Example 21 with DebuggerTemplate

use of com.google.security.zynamics.binnavi.debug.debugger.DebuggerTemplate in project binnavi by google.

the class CProjectNodeComponent method getSelectedDebuggers.

/**
   * Returns the currently selected debuggers.
   *
   * @return The currently selected debuggers.
   */
private Set<DebuggerTemplate> getSelectedDebuggers() {
    final Set<DebuggerTemplate> selectedTemplates = new HashSet<>();
    final ListModel<DebuggerTemplate> model = m_checkedList.getModel();
    for (int i = 0; i < model.getSize(); ++i) {
        final DebuggerTemplate debugger = model.getElementAt(i);
        if (m_checkedList.isChecked(i)) {
            selectedTemplates.add(debugger);
        }
    }
    return selectedTemplates;
}
Also used : DebuggerTemplate(com.google.security.zynamics.binnavi.debug.debugger.DebuggerTemplate) HashSet(java.util.HashSet)

Example 22 with DebuggerTemplate

use of com.google.security.zynamics.binnavi.debug.debugger.DebuggerTemplate in project binnavi by google.

the class CProjectModulesModelTest method testSimple.

@Test
public void testSimple() throws CouldntLoadDataException, CouldntSaveDataException, LoadCancelledException {
    m_database = new MockDatabase(m_provider);
    m_project = new CProject(1, "Mock Project", "Mock Project Description", new Date(), new Date(), 0, new ArrayList<DebuggerTemplate>(), m_provider);
    m_project.load();
    m_addressSpace = m_project.getContent().createAddressSpace("Address Space");
    m_addressSpace.load();
    final CModule module1 = new CModule(1, "Name 1", "Comment", new Date(), new Date(), "12345678123456781234567812345678", "1234567812345678123456781234567812345678", 55, 66, new CAddress(0x555), new CAddress(0x666), new DebuggerTemplate(1, "Mock Debugger", "localhaus", 88, m_provider), null, Integer.MAX_VALUE, false, m_provider);
    m_addressSpace.getContent().addModule(module1);
    final CModule module2 = new CModule(2, "Name 2", "Comment", new Date(), new Date(), "12345678123456781234567812345678", "1234567812345678123456781234567812345678", 55, 66, new CAddress(0x555), new CAddress(0x666), new DebuggerTemplate(1, "Mock Debugger", "localhaus", 88, m_provider), null, Integer.MAX_VALUE, false, m_provider);
    m_addressSpace.getContent().addModule(module2);
    final CProjectModulesModel model = new CProjectModulesModel(m_addressSpace);
    assertEquals(2, model.getRowCount());
    assertEquals("Name 1", model.getValueAt(0, 0));
    assertEquals("Name 2", model.getValueAt(1, 0));
}
Also used : CProject(com.google.security.zynamics.binnavi.disassembly.CProject) DebuggerTemplate(com.google.security.zynamics.binnavi.debug.debugger.DebuggerTemplate) ArrayList(java.util.ArrayList) MockDatabase(com.google.security.zynamics.binnavi.Database.MockClasses.MockDatabase) CProjectModulesModel(com.google.security.zynamics.binnavi.Gui.MainWindow.ProjectTree.Nodes.AddressSpace.Component.CProjectModulesModel) CModule(com.google.security.zynamics.binnavi.disassembly.Modules.CModule) Date(java.util.Date) CAddress(com.google.security.zynamics.zylib.disassembly.CAddress) Test(org.junit.Test)

Example 23 with DebuggerTemplate

use of com.google.security.zynamics.binnavi.debug.debugger.DebuggerTemplate in project binnavi by google.

the class CAddressSpaceNodeComponentTest method testChangingModules.

@Test
public void testChangingModules() throws CouldntSaveDataException, CouldntDeleteException, CouldntLoadDataException, LoadCancelledException, IllegalArgumentException, SecurityException, IllegalAccessException, NoSuchFieldException {
    m_addressSpace.load();
    final CModule module = new CModule(123, "Name", "Comment", new Date(), new Date(), "12345678123456781234567812345678", "1234567812345678123456781234567812345678", 55, 66, new CAddress(0x555), new CAddress(0x666), new DebuggerTemplate(1, "Mock Debugger", "localhaus", 88, m_provider), null, Integer.MAX_VALUE, false, m_provider);
    final String previousBorderTest = m_titledBorder.getTitle();
    assertSame(previousBorderTest, m_titledBorder.getTitle());
    m_addressSpace.getContent().addModule(module);
    assertNotSame(previousBorderTest, m_titledBorder.getTitle());
    m_addressSpace.getContent().removeModule(module);
    assertEquals(previousBorderTest, m_titledBorder.getTitle());
    testListenersRemoved();
}
Also used : DebuggerTemplate(com.google.security.zynamics.binnavi.debug.debugger.DebuggerTemplate) CModule(com.google.security.zynamics.binnavi.disassembly.Modules.CModule) Date(java.util.Date) CAddress(com.google.security.zynamics.zylib.disassembly.CAddress) Test(org.junit.Test)

Example 24 with DebuggerTemplate

use of com.google.security.zynamics.binnavi.debug.debugger.DebuggerTemplate in project binnavi by google.

the class CAddressSpaceNodeComponentTest method testChangingDebugger.

@Test
public void testChangingDebugger() throws CouldntSaveDataException, SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
    final DebuggerTemplate template1 = new DebuggerTemplate(1, "", "", 0, m_provider);
    final DebuggerTemplate template2 = new DebuggerTemplate(1, "", "", 0, m_provider);
    m_database.getContent().getDebuggerTemplateManager().addDebugger(template1);
    m_database.getContent().getDebuggerTemplateManager().addDebugger(template2);
    m_project.getConfiguration().addDebugger(template1);
    m_project.getConfiguration().addDebugger(template2);
    assertFalse(m_saveButton.isEnabled());
    m_debuggerCombo.setSelectedIndex(2);
    assertTrue(m_saveButton.isEnabled());
    m_addressSpace.getConfiguration().setDebuggerTemplate(template2);
    assertFalse(m_saveButton.isEnabled());
    m_addressSpace.getConfiguration().setDebuggerTemplate(template1);
    assertFalse(m_saveButton.isEnabled());
    testListenersRemoved();
}
Also used : DebuggerTemplate(com.google.security.zynamics.binnavi.debug.debugger.DebuggerTemplate) Test(org.junit.Test)

Example 25 with DebuggerTemplate

use of com.google.security.zynamics.binnavi.debug.debugger.DebuggerTemplate in project binnavi by google.

the class PostgresSQLDebuggerFunctions method loadDebuggers.

/**
   * Loads all debugger templates of a database.
   * 
   * The debugger template manager must belong to the database connected to by the provider
   * argument.
   * 
   * @param provider The connection to the database.
   * @param manager Debugger template manager where the loaded debuggers are added to.
   * 
   * @throws CouldntLoadDataException Thrown if the debugger templates could not be loaded.
   */
public static void loadDebuggers(final AbstractSQLProvider provider, final DebuggerTemplateManager manager) throws CouldntLoadDataException {
    final CConnection connection = provider.getConnection();
    final String query = "SELECT * FROM " + CTableNames.DEBUGGERS_TABLE;
    try (ResultSet resultSet = connection.executeQuery(query, true)) {
        while (resultSet.next()) {
            final DebuggerTemplate debugger = new DebuggerTemplate(resultSet.getInt("id"), PostgreSQLHelpers.readString(resultSet, "name"), PostgreSQLHelpers.readString(resultSet, "host"), resultSet.getInt("port"), provider);
            manager.addDebugger(debugger);
        }
    } catch (final SQLException e) {
        throw new CouldntLoadDataException(e);
    }
}
Also used : CConnection(com.google.security.zynamics.binnavi.Database.CConnection) DebuggerTemplate(com.google.security.zynamics.binnavi.debug.debugger.DebuggerTemplate) SQLException(java.sql.SQLException) CouldntLoadDataException(com.google.security.zynamics.binnavi.Database.Exceptions.CouldntLoadDataException) ResultSet(java.sql.ResultSet)

Aggregations

DebuggerTemplate (com.google.security.zynamics.binnavi.debug.debugger.DebuggerTemplate)55 Test (org.junit.Test)29 Date (java.util.Date)20 CModule (com.google.security.zynamics.binnavi.disassembly.Modules.CModule)16 CAddress (com.google.security.zynamics.zylib.disassembly.CAddress)16 MockSqlProvider (com.google.security.zynamics.binnavi.Database.MockClasses.MockSqlProvider)12 MockDatabase (com.google.security.zynamics.binnavi.Database.MockClasses.MockDatabase)11 ExpensiveBaseTest (com.google.security.zynamics.binnavi.disassembly.types.ExpensiveBaseTest)11 CProject (com.google.security.zynamics.binnavi.disassembly.CProject)8 ArrayList (java.util.ArrayList)8 Before (org.junit.Before)8 ResultSet (java.sql.ResultSet)7 SQLException (java.sql.SQLException)6 CConnection (com.google.security.zynamics.binnavi.Database.CConnection)5 CouldntLoadDataException (com.google.security.zynamics.binnavi.Database.Exceptions.CouldntLoadDataException)5 CTag (com.google.security.zynamics.binnavi.Tagging.CTag)5 CInstruction (com.google.security.zynamics.binnavi.disassembly.CInstruction)5 SQLProvider (com.google.security.zynamics.binnavi.Database.Interfaces.SQLProvider)4 CTagManager (com.google.security.zynamics.binnavi.Tagging.CTagManager)4 MockTagManager (com.google.security.zynamics.binnavi.Tagging.MockTagManager)4