fix: unittests

This commit is contained in:
Dobin Rutishauser
2024-06-23 07:25:57 +02:00
parent 634a6e7922
commit 29db10cbe6
3 changed files with 10 additions and 14 deletions
+4 -8
View File
@@ -42,10 +42,6 @@ class AsmTest(unittest.TestCase):
# lea r8, [shcstart]
#self.assertTrue("lea r8, [shcstart]" in asm_text_lines[198-1-1])
self.assertTrue("DB 0" in asm_text_lines[198-1-1])
self.assertTrue("supermega_payload" not in asm_text_lines[198-1-1])
# shcstart:
self.assertTrue("shcstart:" in asm_text_lines[213-1-1])
def test_asm_iat_request(self):
@@ -61,11 +57,11 @@ class AsmTest(unittest.TestCase):
req1 = carrier.iat_requests[0]
self.assertEqual(req1.name, "GetEnvironmentVariableW")
self.assertTrue(len(req1.placeholder), 6) # 6 random bytes
self.assertTrue(len(req1.references[0]), 6) # 6 random bytes
req2 = carrier.iat_requests[1]
self.assertEqual(req2.name, "VirtualAlloc")
self.assertTrue(len(req2.placeholder), 6) # 6 random bytes
self.assertTrue(len(req2.references[0]), 6) # 6 random bytes
# added ; at the beginning
#self.assertTrue(lines[13-1].startswith("; EXTRN __imp_GetEnvironmentVariableW:PROC"))
@@ -95,10 +91,10 @@ class AsmTest(unittest.TestCase):
entry = data_reuse_entries[0+1]
self.assertTrue('$SG72513' in entry.string_ref)
self.assertTrue('rcx' in entry.register)
self.assertTrue('rcx' in entry.references[0].register)
self.assertEqual(entry.data, b"U\x00S\x00E\x00R\x00P\x00R\x00O\x00F\x00I\x00L\x00E\x00\x00\x00")
self.assertEqual(entry.addr, 0)
self.assertEqual(7, len(entry.placeholder)) # needs to be 7!
self.assertEqual(7, len(entry.references[0].placeholder)) # needs to be 7!
entry = data_reuse_entries[1+1]
self.assertTrue('$SG72514' in entry.string_ref)
+5 -5
View File
@@ -38,7 +38,7 @@ class DataReuseTest(unittest.TestCase):
def test_relocation_list(self):
superpe = SuperPe(PATH_EXES + "7z.exe")
relocs = superpe.get_relocations_for_section(".rdata")
self.assertEqual(842, len(relocs))
self.assertEqual(836, len(relocs))
reloc = relocs[0]
self.assertEqual(393216, reloc.base_rva)
self.assertEqual(394296, reloc.rva)
@@ -50,18 +50,18 @@ class DataReuseTest(unittest.TestCase):
"""Test reference EXE reloc manager information"""
superpe = SuperPe(PATH_EXES + "procexp64.exe")
rm = superpe.get_rdata_relocmanager()
self.assertEqual(69, len(rm.intervals))
self.assertEqual(61, len(rm.intervals))
# 0x1ab0 is magic currently (should use find_first_utf16_string_offset()
hole = rm.find_hole(20)
self.assertEqual(hole, (1167361, 1173015))
self.assertEqual(hole, (1174185, 1174591))
def test_largestgap(self):
superpe = SuperPe(PATH_EXES + "7z.exe")
rm = superpe.get_rdata_relocmanager()
start, stop = rm.find_hole(100)
self.assertEqual(393233, start)
self.assertEqual(394295, stop)
self.assertEqual(394513, start)
self.assertEqual(396511, stop)
def test_rdata_overwrite(self):
+1 -1
View File
@@ -36,7 +36,7 @@ class SuperPeTest(unittest.TestCase):
# Relocations
base_relocs: List[PeRelocEntry] = superpe.get_base_relocs()
self.assertEqual(len(base_relocs), 2888)
self.assertEqual(len(base_relocs), 2864)
base_reloc = base_relocs[0]
self.assertEqual(base_reloc.rva, 0x11E618)
self.assertEqual(base_reloc.base_rva, 0x11E000)