From cdadea5c37acf04cb637fae4f31236091c85edac Mon Sep 17 00:00:00 2001 From: Glenn Smith Date: Thu, 23 Jun 2022 14:44:13 -0400 Subject: Add struct pointer array test --- suite/binaries | 2 +- suite/testcommon.py | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/suite/binaries b/suite/binaries index 08becde0..93c0d264 160000 --- a/suite/binaries +++ b/suite/binaries @@ -1 +1 @@ -Subproject commit 08becde098fdcb4801824f4c771c664429e4b41f +Subproject commit 93c0d2647f32bbc42d8f23088f91a44bd305412b diff --git a/suite/testcommon.py b/suite/testcommon.py index db0c79de..33c7091d 100644 --- a/suite/testcommon.py +++ b/suite/testcommon.py @@ -1368,6 +1368,25 @@ class TestBuilder(Builder): retinfo.append(f"Function: {func.start:x} Instruction: {hlilins.address:x} HLIL->MLILS instruction: {sorted(list(map(str, hlilins.mlils)))}") self.delete_package("array_test.bndb") + + retinfo = [] + file_name = self.unpackage_file("struct_array8.bndb") + if not os.path.exists(file_name): + return retinfo + + with BinaryViewType.get_view_of_file(file_name) as bv: + if bv is None: + return retinfo + + for func in bv.functions: + for line in func.hlil.root.lines: + retinfo.append(f"Function: {func.start:x} HLIL line: {line}") + for hlilins in func.hlil.instructions: + retinfo.append(f"Function: {func.start:x} Instruction: {hlilins.address:x} HLIL->LLIL instruction: {hlilins.llil}") + retinfo.append(f"Function: {func.start:x} Instruction: {hlilins.address:x} HLIL->MLIL instruction: {hlilins.mlil}") + retinfo.append(f"Function: {func.start:x} Instruction: {hlilins.address:x} HLIL->MLILS instruction: {sorted(list(map(str, hlilins.mlils)))}") + + self.delete_package("struct_array8.bndb") return sorted(retinfo) def test_x87_uniqueness(self): -- cgit v1.3.1