diff options
| author | Peter LaFosse <peter@vector35.com> | 2018-08-16 22:30:15 -0400 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2018-08-16 22:30:15 -0400 |
| commit | 00fc6c96d415bd31ee5ecbec70a8e4de141674cd (patch) | |
| tree | 0a6ed958eb313fa54727fb8bc0d3afdcef4d83cd /examples/mlil_parser | |
| parent | 1ce780cd6a66a289b0422298871d61392ad3ec2a (diff) | |
Adding EXTERN_PTR type
Diffstat (limited to 'examples/mlil_parser')
| -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; |
