use of com.google.security.zynamics.zylib.disassembly.CAddress in project binnavi by google.
the class TraceLoggerTest method setUp.
@Before
public void setUp() throws CouldntLoadDataException, InvalidDatabaseVersionException {
final SQLProvider mockProvider = new MockSqlProvider();
// CDatabase("", "", "", "", "", false,
final IDatabase internalDatabase = new MockDatabase();
// false);
final Database database = new Database(internalDatabase);
database.load();
final MockProject mockProject = new MockProject();
final ITreeNode<CTag> nodeRootNode = new TreeNode<CTag>(new CTag(0, "", "", TagType.NODE_TAG, mockProvider));
final Tree<CTag> nodeTagTree = new Tree<CTag>(nodeRootNode);
final TagManager nodeTagManager = new TagManager(new CTagManager(nodeTagTree, TagType.NODE_TAG, mockProvider));
final ITreeNode<CTag> viewRootNode = new TreeNode<CTag>(new CTag(0, "", "", TagType.VIEW_TAG, mockProvider));
final Tree<CTag> viewTagTree = new Tree<CTag>(viewRootNode);
final TagManager viewTagManager = new TagManager(new CTagManager(viewTagTree, TagType.VIEW_TAG, mockProvider));
final Module module = new Module(database, mockModule, nodeTagManager, viewTagManager);
final Project project = new Project(database, mockProject, nodeTagManager, viewTagManager);
m_mockModule = new Module(database, mockModule, viewTagManager, nodeTagManager);
m_debugSettings = new ModuleTargetSettings(m_mockModule.getNative());
m_mockDebugger = new MockDebugger(m_debugSettings);
m_mockDebugger.setAddressTranslator(mockModule, new CAddress(0), new CAddress(0x1000));
final Debugger debugger = new Debugger(m_mockDebugger);
m_logger = new TraceLogger(debugger, module);
m_projectLogger = new TraceLogger(debugger, project);
}
use of com.google.security.zynamics.zylib.disassembly.CAddress in project binnavi by google.
the class BasicBlockTest method testConstructor.
@Test
public void testConstructor() throws InternalTranslationException {
final MockSqlProvider provider = new MockSqlProvider();
final CModule internalModule = new CModule(1, "", "", new Date(), new Date(), "00000000000000000000000000000000", "0000000000000000000000000000000000000000", 0, 0, new CAddress(0), new CAddress(0), null, null, Integer.MAX_VALUE, false, provider);
final CFunction internalFunction = new CFunction(internalModule, new MockView(), new CAddress(0x123), "Mock Function", "Mock Function", "Mock Description", 0, 0, 0, 0, FunctionType.NORMAL, "", 0, null, null, null, provider);
final List<INaviInstruction> instructions = new ArrayList<INaviInstruction>();
instructions.add(new MockInstruction(0x123));
final INaviBasicBlock bblock = new CBasicBlock(1, "Hannes", instructions);
final IBlockNode node = new CBlockNode(bblock);
final Function pFunction = new Function(ModuleFactory.get(), internalFunction);
final BasicBlock block = new BasicBlock(node, pFunction);
assertEquals(0x123, block.getAddress().toLong());
assertEquals(pFunction, block.getParentFunction());
assertEquals("Hannes", block.getComment());
assertEquals(0x123, block.getInstructions().get(0).getAddress().toLong());
assertNotNull(block.getReilCode());
assertTrue(block.getChildren().isEmpty());
assertTrue(block.getParents().isEmpty());
assertEquals("123 nop \n", block.toString());
}
use of com.google.security.zynamics.zylib.disassembly.CAddress in project binnavi by google.
the class BreakpointManagerTest method testPreinitialized.
@Test
public void testPreinitialized() {
final com.google.security.zynamics.binnavi.debug.models.breakpoints.BreakpointManager internalManager = new com.google.security.zynamics.binnavi.debug.models.breakpoints.BreakpointManager();
internalManager.addBreakpoints(BreakpointType.REGULAR, CommonTestObjects.BP_ADDRESS_0_SET);
internalManager.addBreakpoints(BreakpointType.ECHO, Sets.newHashSet(new BreakpointAddress(CommonTestObjects.MODULE, new UnrelocatedAddress(new CAddress(1)))));
final BreakpointManager apiManager = new BreakpointManager(internalManager);
assertEquals(0, apiManager.getBreakpoints().get(0).getAddress().toLong());
assertEquals(1, apiManager.getEchoBreakpoints().get(0).getAddress().toLong());
}
use of com.google.security.zynamics.zylib.disassembly.CAddress in project binnavi by google.
the class MemoryMapTest method testGetSections.
@Test
public void testGetSections() {
final com.google.security.zynamics.binnavi.debug.models.processmanager.MemoryMap m_internalMap = new com.google.security.zynamics.binnavi.debug.models.processmanager.MemoryMap(Lists.newArrayList(new com.google.security.zynamics.binnavi.debug.models.processmanager.MemorySection(new CAddress(0), new CAddress(0x100)), new com.google.security.zynamics.binnavi.debug.models.processmanager.MemorySection(new CAddress(0x200), new CAddress(0x400))));
final MemoryMap map = new MemoryMap(m_internalMap);
final List<MemorySection> sections = map.getSections();
assertEquals(2, sections.size());
assertEquals(0, sections.get(0).getStart().toLong());
assertEquals(0x100, sections.get(0).getEnd().toLong());
assertEquals(0x200, sections.get(1).getStart().toLong());
assertEquals(0x400, sections.get(1).getEnd().toLong());
assertEquals("Memory Map (2 sections)", map.toString());
}
use of com.google.security.zynamics.zylib.disassembly.CAddress in project binnavi by google.
the class BlockEdgeTest method testConstructor.
@Test
public void testConstructor() {
final MockSqlProvider provider = new MockSqlProvider();
final CModule internalModule = new CModule(1, "", "", new Date(), new Date(), "00000000000000000000000000000000", "0000000000000000000000000000000000000000", 0, 0, new CAddress(0), new CAddress(0), null, null, Integer.MAX_VALUE, false, provider);
final CFunction parentFunction = new CFunction(internalModule, new MockView(), new CAddress(0x123), "Mock Function", "Mock Function", "Mock Description", 0, 0, 0, 0, FunctionType.NORMAL, "", 0, null, null, null, provider);
final List<INaviInstruction> instructions = new ArrayList<INaviInstruction>();
instructions.add(new MockInstruction(0x123));
final INaviBasicBlock bblock = new CBasicBlock(1, "Hannes", instructions);
final IBlockNode node = new CBlockNode(bblock);
final Function pFunction = new Function(ModuleFactory.get(), parentFunction);
final BasicBlock block1 = new BasicBlock(node, pFunction);
final BasicBlock block2 = new BasicBlock(node, pFunction);
final IBlockEdge mockEdge = new CFunctionEdge(node, node, com.google.security.zynamics.zylib.gui.zygraph.edges.EdgeType.JUMP_UNCONDITIONAL);
final BlockEdge edge = new BlockEdge(mockEdge, block1, block2);
assertEquals(block1, edge.getSource());
assertEquals(block2, edge.getTarget());
assertEquals(block1, block2.getParents().get(0));
assertEquals(block2, block1.getChildren().get(0));
assertEquals(EdgeType.JumpUnconditional, edge.getType());
assertEquals("Block Edge [123 -> 123]", edge.toString());
}
Aggregations