extern char * TEST_DATA_DIRECTORY;
static void testMainFunction(Function* main) {
- SCOPED_TRACE("main");
ASSERT_NE(nullptr, main);
EXPECT_STREQ("_main", main->getName().c_str());
}
static void testCheckFunction(Function* check) {
- SCOPED_TRACE("check");
ASSERT_NE(nullptr, check);
EXPECT_STREQ("_check", check->getName().c_str());
}
TEST(llvmDisassemblerTest, amd64MachOOpenBinaryBasicStructure) {
- SCOPED_TRACE("opening cryptsample.clang.amd64.macho");
+ SCOPED_TRACE("opening cryptsample amd64MachO");
InformationManager manager;
llvm::InitializeAllTargetInfos();
+ "/disassembler/binaries/crypt.clang.O2.amd64.macho");
ASSERT_NE(nullptr, manager.getDisassembler());
+ EXPECT_EQ(0x0, manager.getDisassembler()->entryAddress());
testCheckFunction(manager.getFunction(0x100000db0));
testMainFunction(manager.getFunction(0x100000e30));
}
TEST(llvmDisassemblerTest, amd64MachOLoadBinaryBasicStructure) {
- SCOPED_TRACE("loading cryptsample.clang.amd64.macho");
+ SCOPED_TRACE("loading cryptsample amd64MachO");
InformationManager manager;
llvm::InitializeAllTargetInfos();
+ "/disassembler/binaries/crypt.clang.O2.amd64.macho.frida");
ASSERT_NE(nullptr, manager.getDisassembler());
+ EXPECT_EQ(0x0, manager.getDisassembler()->entryAddress());
testCheckFunction(manager.getFunction(0x100000db0));
testMainFunction(manager.getFunction(0x100000e30));
}