diff options
Diffstat (limited to 'examples/mlil_parser/src/mlil_parser.cpp')
| -rw-r--r-- | examples/mlil_parser/src/mlil_parser.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/examples/mlil_parser/src/mlil_parser.cpp b/examples/mlil_parser/src/mlil_parser.cpp index 0e621ead..a4c10f61 100644 --- a/examples/mlil_parser/src/mlil_parser.cpp +++ b/examples/mlil_parser/src/mlil_parser.cpp @@ -59,6 +59,7 @@ static void PrintOperation(BNMediumLevelILOperation operation) 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) @@ -326,6 +327,7 @@ int main(int argc, char *argv[]) { case MLIL_CONST: case MLIL_CONST_PTR: + case MLIL_EXTERN_PTR: printf(" Found constant 0x%" PRIx64 "\n", expr.GetConstant()); return false; // Done parsing this default: @@ -345,6 +347,12 @@ int main(int argc, char *argv[]) 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 + } break; default: break; |
