diff options
| author | KyleMiles <krm504@nyu.edu> | 2022-01-27 22:43:28 -0500 |
|---|---|---|
| committer | KyleMiles <krm504@nyu.edu> | 2022-01-28 00:24:06 -0500 |
| commit | 6812c973c9fa9b4ad642ab81856c05f87bd6fcc4 (patch) | |
| tree | dace4156d03148bcaf02df138ab4e0d93e61bc6f /examples/mlil_parser/src | |
| parent | 519c9db22367f2659d1a54599fab47e6313be06e (diff) | |
Format All Files
Diffstat (limited to 'examples/mlil_parser/src')
| -rw-r--r-- | examples/mlil_parser/src/mlil_parser.cpp | 222 |
1 files changed, 111 insertions, 111 deletions
diff --git a/examples/mlil_parser/src/mlil_parser.cpp b/examples/mlil_parser/src/mlil_parser.cpp index e14c9317..c31ec035 100644 --- a/examples/mlil_parser/src/mlil_parser.cpp +++ b/examples/mlil_parser/src/mlil_parser.cpp @@ -9,16 +9,16 @@ using namespace std; #ifndef _WIN32 -#include <libgen.h> -#include <dlfcn.h> + #include <libgen.h> + #include <dlfcn.h> static string GetPluginsDirectory() { Dl_info info; - if (!dladdr((void *)BNGetBundledPluginDirectory, &info)) + if (!dladdr((void*)BNGetBundledPluginDirectory, &info)) return NULL; stringstream ss; - ss << dirname((char *)info.dli_fname) << "/plugins/"; + ss << dirname((char*)info.dli_fname) << "/plugins/"; return ss.str(); } #else @@ -45,106 +45,106 @@ static void PrintOperation(BNMediumLevelILOperation operation) switch (operation) { - ENUM_PRINTER(MLIL_NOP) - ENUM_PRINTER(MLIL_SET_VAR) - ENUM_PRINTER(MLIL_SET_VAR_FIELD) - ENUM_PRINTER(MLIL_SET_VAR_SPLIT) - ENUM_PRINTER(MLIL_LOAD) - ENUM_PRINTER(MLIL_LOAD_STRUCT) - ENUM_PRINTER(MLIL_STORE) - ENUM_PRINTER(MLIL_STORE_STRUCT) - ENUM_PRINTER(MLIL_VAR) - ENUM_PRINTER(MLIL_VAR_FIELD) - ENUM_PRINTER(MLIL_ADDRESS_OF) - ENUM_PRINTER(MLIL_ADDRESS_OF_FIELD) - ENUM_PRINTER(MLIL_CONST) - ENUM_PRINTER(MLIL_CONST_PTR) - ENUM_PRINTER(MLIL_EXTERN_PTR) - ENUM_PRINTER(MLIL_ADD) - ENUM_PRINTER(MLIL_ADC) - ENUM_PRINTER(MLIL_SUB) - ENUM_PRINTER(MLIL_SBB) - ENUM_PRINTER(MLIL_AND) - ENUM_PRINTER(MLIL_OR) - ENUM_PRINTER(MLIL_XOR) - ENUM_PRINTER(MLIL_LSL) - ENUM_PRINTER(MLIL_LSR) - ENUM_PRINTER(MLIL_ASR) - ENUM_PRINTER(MLIL_ROL) - ENUM_PRINTER(MLIL_RLC) - ENUM_PRINTER(MLIL_ROR) - ENUM_PRINTER(MLIL_RRC) - ENUM_PRINTER(MLIL_MUL) - ENUM_PRINTER(MLIL_MULU_DP) - ENUM_PRINTER(MLIL_MULS_DP) - ENUM_PRINTER(MLIL_DIVU) - ENUM_PRINTER(MLIL_DIVU_DP) - ENUM_PRINTER(MLIL_DIVS) - ENUM_PRINTER(MLIL_DIVS_DP) - ENUM_PRINTER(MLIL_MODU) - ENUM_PRINTER(MLIL_MODU_DP) - ENUM_PRINTER(MLIL_MODS) - ENUM_PRINTER(MLIL_MODS_DP) - ENUM_PRINTER(MLIL_NEG) - ENUM_PRINTER(MLIL_NOT) - ENUM_PRINTER(MLIL_SX) - ENUM_PRINTER(MLIL_ZX) - ENUM_PRINTER(MLIL_LOW_PART) - ENUM_PRINTER(MLIL_JUMP) - ENUM_PRINTER(MLIL_JUMP_TO) - ENUM_PRINTER(MLIL_CALL) - ENUM_PRINTER(MLIL_CALL_UNTYPED) - ENUM_PRINTER(MLIL_CALL_OUTPUT) - ENUM_PRINTER(MLIL_CALL_PARAM) - ENUM_PRINTER(MLIL_RET) - ENUM_PRINTER(MLIL_NORET) - ENUM_PRINTER(MLIL_IF) - ENUM_PRINTER(MLIL_GOTO) - ENUM_PRINTER(MLIL_CMP_E) - ENUM_PRINTER(MLIL_CMP_NE) - ENUM_PRINTER(MLIL_CMP_SLT) - ENUM_PRINTER(MLIL_CMP_ULT) - ENUM_PRINTER(MLIL_CMP_SLE) - ENUM_PRINTER(MLIL_CMP_ULE) - ENUM_PRINTER(MLIL_CMP_SGE) - ENUM_PRINTER(MLIL_CMP_UGE) - ENUM_PRINTER(MLIL_CMP_SGT) - ENUM_PRINTER(MLIL_CMP_UGT) - ENUM_PRINTER(MLIL_TEST_BIT) - ENUM_PRINTER(MLIL_BOOL_TO_INT) - ENUM_PRINTER(MLIL_ADD_OVERFLOW) - ENUM_PRINTER(MLIL_SYSCALL) - ENUM_PRINTER(MLIL_SYSCALL_UNTYPED) - ENUM_PRINTER(MLIL_TAILCALL) - ENUM_PRINTER(MLIL_TAILCALL_UNTYPED) - ENUM_PRINTER(MLIL_BP) - ENUM_PRINTER(MLIL_TRAP) - ENUM_PRINTER(MLIL_UNDEF) - ENUM_PRINTER(MLIL_UNIMPL) - ENUM_PRINTER(MLIL_UNIMPL_MEM) - ENUM_PRINTER(MLIL_SET_VAR_SSA) - ENUM_PRINTER(MLIL_SET_VAR_SSA_FIELD) - ENUM_PRINTER(MLIL_SET_VAR_SPLIT_SSA) - ENUM_PRINTER(MLIL_SET_VAR_ALIASED) - ENUM_PRINTER(MLIL_SET_VAR_ALIASED_FIELD) - ENUM_PRINTER(MLIL_VAR_SSA) - ENUM_PRINTER(MLIL_VAR_SSA_FIELD) - ENUM_PRINTER(MLIL_VAR_ALIASED) - ENUM_PRINTER(MLIL_VAR_ALIASED_FIELD) - ENUM_PRINTER(MLIL_CALL_SSA) - ENUM_PRINTER(MLIL_CALL_UNTYPED_SSA) - ENUM_PRINTER(MLIL_SYSCALL_SSA) - ENUM_PRINTER(MLIL_SYSCALL_UNTYPED_SSA) - ENUM_PRINTER(MLIL_TAILCALL_SSA) - ENUM_PRINTER(MLIL_TAILCALL_UNTYPED_SSA) - ENUM_PRINTER(MLIL_CALL_PARAM_SSA) - ENUM_PRINTER(MLIL_CALL_OUTPUT_SSA) - ENUM_PRINTER(MLIL_LOAD_SSA) - ENUM_PRINTER(MLIL_LOAD_STRUCT_SSA) - ENUM_PRINTER(MLIL_STORE_SSA) - ENUM_PRINTER(MLIL_STORE_STRUCT_SSA) - ENUM_PRINTER(MLIL_VAR_PHI) - ENUM_PRINTER(MLIL_MEM_PHI) + ENUM_PRINTER(MLIL_NOP) + ENUM_PRINTER(MLIL_SET_VAR) + ENUM_PRINTER(MLIL_SET_VAR_FIELD) + ENUM_PRINTER(MLIL_SET_VAR_SPLIT) + ENUM_PRINTER(MLIL_LOAD) + ENUM_PRINTER(MLIL_LOAD_STRUCT) + ENUM_PRINTER(MLIL_STORE) + ENUM_PRINTER(MLIL_STORE_STRUCT) + ENUM_PRINTER(MLIL_VAR) + ENUM_PRINTER(MLIL_VAR_FIELD) + ENUM_PRINTER(MLIL_ADDRESS_OF) + ENUM_PRINTER(MLIL_ADDRESS_OF_FIELD) + ENUM_PRINTER(MLIL_CONST) + ENUM_PRINTER(MLIL_CONST_PTR) + ENUM_PRINTER(MLIL_EXTERN_PTR) + ENUM_PRINTER(MLIL_ADD) + ENUM_PRINTER(MLIL_ADC) + ENUM_PRINTER(MLIL_SUB) + ENUM_PRINTER(MLIL_SBB) + ENUM_PRINTER(MLIL_AND) + ENUM_PRINTER(MLIL_OR) + ENUM_PRINTER(MLIL_XOR) + ENUM_PRINTER(MLIL_LSL) + ENUM_PRINTER(MLIL_LSR) + ENUM_PRINTER(MLIL_ASR) + ENUM_PRINTER(MLIL_ROL) + ENUM_PRINTER(MLIL_RLC) + ENUM_PRINTER(MLIL_ROR) + ENUM_PRINTER(MLIL_RRC) + ENUM_PRINTER(MLIL_MUL) + ENUM_PRINTER(MLIL_MULU_DP) + ENUM_PRINTER(MLIL_MULS_DP) + ENUM_PRINTER(MLIL_DIVU) + ENUM_PRINTER(MLIL_DIVU_DP) + ENUM_PRINTER(MLIL_DIVS) + ENUM_PRINTER(MLIL_DIVS_DP) + ENUM_PRINTER(MLIL_MODU) + ENUM_PRINTER(MLIL_MODU_DP) + ENUM_PRINTER(MLIL_MODS) + ENUM_PRINTER(MLIL_MODS_DP) + ENUM_PRINTER(MLIL_NEG) + ENUM_PRINTER(MLIL_NOT) + ENUM_PRINTER(MLIL_SX) + ENUM_PRINTER(MLIL_ZX) + ENUM_PRINTER(MLIL_LOW_PART) + ENUM_PRINTER(MLIL_JUMP) + ENUM_PRINTER(MLIL_JUMP_TO) + ENUM_PRINTER(MLIL_CALL) + ENUM_PRINTER(MLIL_CALL_UNTYPED) + ENUM_PRINTER(MLIL_CALL_OUTPUT) + ENUM_PRINTER(MLIL_CALL_PARAM) + ENUM_PRINTER(MLIL_RET) + ENUM_PRINTER(MLIL_NORET) + ENUM_PRINTER(MLIL_IF) + ENUM_PRINTER(MLIL_GOTO) + ENUM_PRINTER(MLIL_CMP_E) + ENUM_PRINTER(MLIL_CMP_NE) + ENUM_PRINTER(MLIL_CMP_SLT) + ENUM_PRINTER(MLIL_CMP_ULT) + ENUM_PRINTER(MLIL_CMP_SLE) + ENUM_PRINTER(MLIL_CMP_ULE) + ENUM_PRINTER(MLIL_CMP_SGE) + ENUM_PRINTER(MLIL_CMP_UGE) + ENUM_PRINTER(MLIL_CMP_SGT) + ENUM_PRINTER(MLIL_CMP_UGT) + ENUM_PRINTER(MLIL_TEST_BIT) + ENUM_PRINTER(MLIL_BOOL_TO_INT) + ENUM_PRINTER(MLIL_ADD_OVERFLOW) + ENUM_PRINTER(MLIL_SYSCALL) + ENUM_PRINTER(MLIL_SYSCALL_UNTYPED) + ENUM_PRINTER(MLIL_TAILCALL) + ENUM_PRINTER(MLIL_TAILCALL_UNTYPED) + ENUM_PRINTER(MLIL_BP) + ENUM_PRINTER(MLIL_TRAP) + ENUM_PRINTER(MLIL_UNDEF) + ENUM_PRINTER(MLIL_UNIMPL) + ENUM_PRINTER(MLIL_UNIMPL_MEM) + ENUM_PRINTER(MLIL_SET_VAR_SSA) + ENUM_PRINTER(MLIL_SET_VAR_SSA_FIELD) + ENUM_PRINTER(MLIL_SET_VAR_SPLIT_SSA) + ENUM_PRINTER(MLIL_SET_VAR_ALIASED) + ENUM_PRINTER(MLIL_SET_VAR_ALIASED_FIELD) + ENUM_PRINTER(MLIL_VAR_SSA) + ENUM_PRINTER(MLIL_VAR_SSA_FIELD) + ENUM_PRINTER(MLIL_VAR_ALIASED) + ENUM_PRINTER(MLIL_VAR_ALIASED_FIELD) + ENUM_PRINTER(MLIL_CALL_SSA) + ENUM_PRINTER(MLIL_CALL_UNTYPED_SSA) + ENUM_PRINTER(MLIL_SYSCALL_SSA) + ENUM_PRINTER(MLIL_SYSCALL_UNTYPED_SSA) + ENUM_PRINTER(MLIL_TAILCALL_SSA) + ENUM_PRINTER(MLIL_TAILCALL_UNTYPED_SSA) + ENUM_PRINTER(MLIL_CALL_PARAM_SSA) + ENUM_PRINTER(MLIL_CALL_OUTPUT_SSA) + ENUM_PRINTER(MLIL_LOAD_SSA) + ENUM_PRINTER(MLIL_LOAD_STRUCT_SSA) + ENUM_PRINTER(MLIL_STORE_SSA) + ENUM_PRINTER(MLIL_STORE_STRUCT_SSA) + ENUM_PRINTER(MLIL_VAR_PHI) + ENUM_PRINTER(MLIL_MEM_PHI) default: printf("<invalid operation %" PRId32 ">", operation); break; @@ -248,7 +248,7 @@ static void PrintILExpr(const MediumLevelILInstruction& instr, size_t indent) } -int main(int argc, char *argv[]) +int main(int argc, char* argv[]) { if (argc != 2) { @@ -313,7 +313,7 @@ int main(int argc, char *argv[]) vector<InstructionTextToken> tokens; il->GetInstructionText(func, func->GetArchitecture(), instrIndex, tokens); printf(" %" PRIdPTR " @ 0x%" PRIx64 " ", instrIndex, instr.address); - for (auto& token: tokens) + for (auto& token : tokens) printf("%s", token.text.c_str()); printf("\n"); @@ -336,20 +336,20 @@ int main(int argc, char *argv[]) if (expr.GetSourceExpr<MLIL_LOAD>().operation == MLIL_CONST_PTR) { printf(" Loading from address 0x%" PRIx64 "\n", - expr.GetSourceExpr<MLIL_LOAD>().GetConstant<MLIL_CONST_PTR>()); - return false; // Done parsing this + expr.GetSourceExpr<MLIL_LOAD>().GetConstant<MLIL_CONST_PTR>()); + return false; // Done parsing this } else if (expr.GetSourceExpr<MLIL_LOAD>().operation == MLIL_EXTERN_PTR) { printf(" Loading from address 0x%" PRIx64 "\n", - expr.GetSourceExpr<MLIL_LOAD>().GetConstant<MLIL_EXTERN_PTR>()); - return false; // Done parsing this + expr.GetSourceExpr<MLIL_LOAD>().GetConstant<MLIL_EXTERN_PTR>()); + return false; // Done parsing this } break; default: break; } - return true; // Parse any subexpressions + return true; // Parse any subexpressions }); } } |
