summaryrefslogtreecommitdiff
path: root/examples/llil_parser/src/llil_parser.cpp
diff options
context:
space:
mode:
authorKyleMiles <krm504@nyu.edu>2022-01-27 22:43:28 -0500
committerKyleMiles <krm504@nyu.edu>2022-01-28 00:24:06 -0500
commit6812c973c9fa9b4ad642ab81856c05f87bd6fcc4 (patch)
treedace4156d03148bcaf02df138ab4e0d93e61bc6f /examples/llil_parser/src/llil_parser.cpp
parent519c9db22367f2659d1a54599fab47e6313be06e (diff)
Format All Files
Diffstat (limited to 'examples/llil_parser/src/llil_parser.cpp')
-rw-r--r--examples/llil_parser/src/llil_parser.cpp240
1 files changed, 120 insertions, 120 deletions
diff --git a/examples/llil_parser/src/llil_parser.cpp b/examples/llil_parser/src/llil_parser.cpp
index b7c96c22..d700e7ce 100644
--- a/examples/llil_parser/src/llil_parser.cpp
+++ b/examples/llil_parser/src/llil_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,99 +45,99 @@ static void PrintOperation(BNLowLevelILOperation operation)
switch (operation)
{
- ENUM_PRINTER(LLIL_NOP)
- ENUM_PRINTER(LLIL_SET_REG)
- ENUM_PRINTER(LLIL_SET_REG_SPLIT)
- ENUM_PRINTER(LLIL_SET_FLAG)
- ENUM_PRINTER(LLIL_LOAD)
- ENUM_PRINTER(LLIL_STORE)
- ENUM_PRINTER(LLIL_PUSH)
- ENUM_PRINTER(LLIL_POP)
- ENUM_PRINTER(LLIL_REG)
- ENUM_PRINTER(LLIL_CONST)
- ENUM_PRINTER(LLIL_CONST_PTR)
- ENUM_PRINTER(LLIL_EXTERN_PTR)
- ENUM_PRINTER(LLIL_FLAG)
- ENUM_PRINTER(LLIL_FLAG_BIT)
- ENUM_PRINTER(LLIL_ADD)
- ENUM_PRINTER(LLIL_ADC)
- ENUM_PRINTER(LLIL_SUB)
- ENUM_PRINTER(LLIL_SBB)
- ENUM_PRINTER(LLIL_AND)
- ENUM_PRINTER(LLIL_OR)
- ENUM_PRINTER(LLIL_XOR)
- ENUM_PRINTER(LLIL_LSL)
- ENUM_PRINTER(LLIL_LSR)
- ENUM_PRINTER(LLIL_ASR)
- ENUM_PRINTER(LLIL_ROL)
- ENUM_PRINTER(LLIL_RLC)
- ENUM_PRINTER(LLIL_ROR)
- ENUM_PRINTER(LLIL_RRC)
- ENUM_PRINTER(LLIL_MUL)
- ENUM_PRINTER(LLIL_MULU_DP)
- ENUM_PRINTER(LLIL_MULS_DP)
- ENUM_PRINTER(LLIL_DIVU)
- ENUM_PRINTER(LLIL_DIVU_DP)
- ENUM_PRINTER(LLIL_DIVS)
- ENUM_PRINTER(LLIL_DIVS_DP)
- ENUM_PRINTER(LLIL_MODU)
- ENUM_PRINTER(LLIL_MODU_DP)
- ENUM_PRINTER(LLIL_MODS)
- ENUM_PRINTER(LLIL_MODS_DP)
- ENUM_PRINTER(LLIL_NEG)
- ENUM_PRINTER(LLIL_NOT)
- ENUM_PRINTER(LLIL_SX)
- ENUM_PRINTER(LLIL_ZX)
- ENUM_PRINTER(LLIL_LOW_PART)
- ENUM_PRINTER(LLIL_JUMP)
- ENUM_PRINTER(LLIL_JUMP_TO)
- ENUM_PRINTER(LLIL_CALL)
- ENUM_PRINTER(LLIL_CALL_STACK_ADJUST)
- ENUM_PRINTER(LLIL_TAILCALL)
- ENUM_PRINTER(LLIL_RET)
- ENUM_PRINTER(LLIL_NORET)
- ENUM_PRINTER(LLIL_IF)
- ENUM_PRINTER(LLIL_GOTO)
- ENUM_PRINTER(LLIL_FLAG_COND)
- ENUM_PRINTER(LLIL_CMP_E)
- ENUM_PRINTER(LLIL_CMP_NE)
- ENUM_PRINTER(LLIL_CMP_SLT)
- ENUM_PRINTER(LLIL_CMP_ULT)
- ENUM_PRINTER(LLIL_CMP_SLE)
- ENUM_PRINTER(LLIL_CMP_ULE)
- ENUM_PRINTER(LLIL_CMP_SGE)
- ENUM_PRINTER(LLIL_CMP_UGE)
- ENUM_PRINTER(LLIL_CMP_SGT)
- ENUM_PRINTER(LLIL_CMP_UGT)
- ENUM_PRINTER(LLIL_TEST_BIT)
- ENUM_PRINTER(LLIL_BOOL_TO_INT)
- ENUM_PRINTER(LLIL_ADD_OVERFLOW)
- ENUM_PRINTER(LLIL_SYSCALL)
- ENUM_PRINTER(LLIL_BP)
- ENUM_PRINTER(LLIL_TRAP)
- ENUM_PRINTER(LLIL_UNDEF)
- ENUM_PRINTER(LLIL_UNIMPL)
- ENUM_PRINTER(LLIL_UNIMPL_MEM)
- ENUM_PRINTER(LLIL_SET_REG_SSA)
- ENUM_PRINTER(LLIL_SET_REG_SSA_PARTIAL)
- ENUM_PRINTER(LLIL_SET_REG_SPLIT_SSA)
- ENUM_PRINTER(LLIL_REG_SPLIT_DEST_SSA)
- ENUM_PRINTER(LLIL_REG_SSA)
- ENUM_PRINTER(LLIL_REG_SSA_PARTIAL)
- ENUM_PRINTER(LLIL_SET_FLAG_SSA)
- ENUM_PRINTER(LLIL_FLAG_SSA)
- ENUM_PRINTER(LLIL_FLAG_BIT_SSA)
- ENUM_PRINTER(LLIL_CALL_SSA)
- ENUM_PRINTER(LLIL_SYSCALL_SSA)
- ENUM_PRINTER(LLIL_TAILCALL_SSA)
- ENUM_PRINTER(LLIL_CALL_PARAM)
- ENUM_PRINTER(LLIL_CALL_STACK_SSA)
- ENUM_PRINTER(LLIL_CALL_OUTPUT_SSA)
- ENUM_PRINTER(LLIL_LOAD_SSA)
- ENUM_PRINTER(LLIL_STORE_SSA)
- ENUM_PRINTER(LLIL_REG_PHI)
- ENUM_PRINTER(LLIL_FLAG_PHI)
- ENUM_PRINTER(LLIL_MEM_PHI)
+ ENUM_PRINTER(LLIL_NOP)
+ ENUM_PRINTER(LLIL_SET_REG)
+ ENUM_PRINTER(LLIL_SET_REG_SPLIT)
+ ENUM_PRINTER(LLIL_SET_FLAG)
+ ENUM_PRINTER(LLIL_LOAD)
+ ENUM_PRINTER(LLIL_STORE)
+ ENUM_PRINTER(LLIL_PUSH)
+ ENUM_PRINTER(LLIL_POP)
+ ENUM_PRINTER(LLIL_REG)
+ ENUM_PRINTER(LLIL_CONST)
+ ENUM_PRINTER(LLIL_CONST_PTR)
+ ENUM_PRINTER(LLIL_EXTERN_PTR)
+ ENUM_PRINTER(LLIL_FLAG)
+ ENUM_PRINTER(LLIL_FLAG_BIT)
+ ENUM_PRINTER(LLIL_ADD)
+ ENUM_PRINTER(LLIL_ADC)
+ ENUM_PRINTER(LLIL_SUB)
+ ENUM_PRINTER(LLIL_SBB)
+ ENUM_PRINTER(LLIL_AND)
+ ENUM_PRINTER(LLIL_OR)
+ ENUM_PRINTER(LLIL_XOR)
+ ENUM_PRINTER(LLIL_LSL)
+ ENUM_PRINTER(LLIL_LSR)
+ ENUM_PRINTER(LLIL_ASR)
+ ENUM_PRINTER(LLIL_ROL)
+ ENUM_PRINTER(LLIL_RLC)
+ ENUM_PRINTER(LLIL_ROR)
+ ENUM_PRINTER(LLIL_RRC)
+ ENUM_PRINTER(LLIL_MUL)
+ ENUM_PRINTER(LLIL_MULU_DP)
+ ENUM_PRINTER(LLIL_MULS_DP)
+ ENUM_PRINTER(LLIL_DIVU)
+ ENUM_PRINTER(LLIL_DIVU_DP)
+ ENUM_PRINTER(LLIL_DIVS)
+ ENUM_PRINTER(LLIL_DIVS_DP)
+ ENUM_PRINTER(LLIL_MODU)
+ ENUM_PRINTER(LLIL_MODU_DP)
+ ENUM_PRINTER(LLIL_MODS)
+ ENUM_PRINTER(LLIL_MODS_DP)
+ ENUM_PRINTER(LLIL_NEG)
+ ENUM_PRINTER(LLIL_NOT)
+ ENUM_PRINTER(LLIL_SX)
+ ENUM_PRINTER(LLIL_ZX)
+ ENUM_PRINTER(LLIL_LOW_PART)
+ ENUM_PRINTER(LLIL_JUMP)
+ ENUM_PRINTER(LLIL_JUMP_TO)
+ ENUM_PRINTER(LLIL_CALL)
+ ENUM_PRINTER(LLIL_CALL_STACK_ADJUST)
+ ENUM_PRINTER(LLIL_TAILCALL)
+ ENUM_PRINTER(LLIL_RET)
+ ENUM_PRINTER(LLIL_NORET)
+ ENUM_PRINTER(LLIL_IF)
+ ENUM_PRINTER(LLIL_GOTO)
+ ENUM_PRINTER(LLIL_FLAG_COND)
+ ENUM_PRINTER(LLIL_CMP_E)
+ ENUM_PRINTER(LLIL_CMP_NE)
+ ENUM_PRINTER(LLIL_CMP_SLT)
+ ENUM_PRINTER(LLIL_CMP_ULT)
+ ENUM_PRINTER(LLIL_CMP_SLE)
+ ENUM_PRINTER(LLIL_CMP_ULE)
+ ENUM_PRINTER(LLIL_CMP_SGE)
+ ENUM_PRINTER(LLIL_CMP_UGE)
+ ENUM_PRINTER(LLIL_CMP_SGT)
+ ENUM_PRINTER(LLIL_CMP_UGT)
+ ENUM_PRINTER(LLIL_TEST_BIT)
+ ENUM_PRINTER(LLIL_BOOL_TO_INT)
+ ENUM_PRINTER(LLIL_ADD_OVERFLOW)
+ ENUM_PRINTER(LLIL_SYSCALL)
+ ENUM_PRINTER(LLIL_BP)
+ ENUM_PRINTER(LLIL_TRAP)
+ ENUM_PRINTER(LLIL_UNDEF)
+ ENUM_PRINTER(LLIL_UNIMPL)
+ ENUM_PRINTER(LLIL_UNIMPL_MEM)
+ ENUM_PRINTER(LLIL_SET_REG_SSA)
+ ENUM_PRINTER(LLIL_SET_REG_SSA_PARTIAL)
+ ENUM_PRINTER(LLIL_SET_REG_SPLIT_SSA)
+ ENUM_PRINTER(LLIL_REG_SPLIT_DEST_SSA)
+ ENUM_PRINTER(LLIL_REG_SSA)
+ ENUM_PRINTER(LLIL_REG_SSA_PARTIAL)
+ ENUM_PRINTER(LLIL_SET_FLAG_SSA)
+ ENUM_PRINTER(LLIL_FLAG_SSA)
+ ENUM_PRINTER(LLIL_FLAG_BIT_SSA)
+ ENUM_PRINTER(LLIL_CALL_SSA)
+ ENUM_PRINTER(LLIL_SYSCALL_SSA)
+ ENUM_PRINTER(LLIL_TAILCALL_SSA)
+ ENUM_PRINTER(LLIL_CALL_PARAM)
+ ENUM_PRINTER(LLIL_CALL_STACK_SSA)
+ ENUM_PRINTER(LLIL_CALL_OUTPUT_SSA)
+ ENUM_PRINTER(LLIL_LOAD_SSA)
+ ENUM_PRINTER(LLIL_STORE_SSA)
+ ENUM_PRINTER(LLIL_REG_PHI)
+ ENUM_PRINTER(LLIL_FLAG_PHI)
+ ENUM_PRINTER(LLIL_MEM_PHI)
default:
printf("<invalid operation %" PRId32 ">", operation);
break;
@@ -149,20 +149,20 @@ static void PrintFlagCondition(BNLowLevelILFlagCondition cond)
{
switch (cond)
{
- ENUM_PRINTER(LLFC_E)
- ENUM_PRINTER(LLFC_NE)
- ENUM_PRINTER(LLFC_SLT)
- ENUM_PRINTER(LLFC_ULT)
- ENUM_PRINTER(LLFC_SLE)
- ENUM_PRINTER(LLFC_ULE)
- ENUM_PRINTER(LLFC_SGE)
- ENUM_PRINTER(LLFC_UGE)
- ENUM_PRINTER(LLFC_SGT)
- ENUM_PRINTER(LLFC_UGT)
- ENUM_PRINTER(LLFC_NEG)
- ENUM_PRINTER(LLFC_POS)
- ENUM_PRINTER(LLFC_O)
- ENUM_PRINTER(LLFC_NO)
+ ENUM_PRINTER(LLFC_E)
+ ENUM_PRINTER(LLFC_NE)
+ ENUM_PRINTER(LLFC_SLT)
+ ENUM_PRINTER(LLFC_ULT)
+ ENUM_PRINTER(LLFC_SLE)
+ ENUM_PRINTER(LLFC_ULE)
+ ENUM_PRINTER(LLFC_SGE)
+ ENUM_PRINTER(LLFC_UGE)
+ ENUM_PRINTER(LLFC_SGT)
+ ENUM_PRINTER(LLFC_UGT)
+ ENUM_PRINTER(LLFC_NEG)
+ ENUM_PRINTER(LLFC_POS)
+ ENUM_PRINTER(LLFC_O)
+ ENUM_PRINTER(LLFC_NO)
default:
printf("<invalid condition>");
break;
@@ -300,7 +300,7 @@ static void PrintILExpr(const LowLevelILInstruction& instr, size_t indent)
}
-int main(int argc, char *argv[])
+int main(int argc, char* argv[])
{
if (argc != 2)
{
@@ -365,7 +365,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");
@@ -380,11 +380,11 @@ int main(int argc, char *argv[])
case LLIL_CONST_PTR:
case LLIL_EXTERN_PTR:
printf(" Found constant 0x%" PRIx64 "\n", expr.GetConstant());
- return false; // Done parsing this
+ return false; // Done parsing this
default:
break;
}
- return true; // Parse any subexpressions
+ return true; // Parse any subexpressions
});
// Example of using the templated accessors for efficiently parsing load instructions
@@ -395,20 +395,20 @@ int main(int argc, char *argv[])
if (expr.GetSourceExpr<LLIL_LOAD>().operation == LLIL_CONST_PTR)
{
printf(" Loading from address 0x%" PRIx64 "\n",
- expr.GetSourceExpr<LLIL_LOAD>().GetConstant<LLIL_CONST_PTR>());
- return false; // Done parsing this
+ expr.GetSourceExpr<LLIL_LOAD>().GetConstant<LLIL_CONST_PTR>());
+ return false; // Done parsing this
}
else if (expr.GetSourceExpr<LLIL_LOAD>().operation == LLIL_EXTERN_PTR)
{
printf(" Loading from address 0x%" PRIx64 "\n",
- expr.GetSourceExpr<LLIL_LOAD>().GetConstant<LLIL_EXTERN_PTR>());
- return false; // Done parsing this
+ expr.GetSourceExpr<LLIL_LOAD>().GetConstant<LLIL_EXTERN_PTR>());
+ return false; // Done parsing this
}
break;
default:
break;
}
- return true; // Parse any subexpressions
+ return true; // Parse any subexpressions
});
}
}