feature: datareuse initial commit

This commit is contained in:
Dobin
2024-02-24 08:51:58 +00:00
parent b032c3f9db
commit 334b17e7a5
3 changed files with 141 additions and 2 deletions
+45
View File
@@ -0,0 +1,45 @@
import shutil
from typing import List
import unittest
import logging
from model import ExeInfo
from defs import *
from helper import hexdump
from observer import observer
from phases.datareuse import *
class DataReuseTest(unittest.TestCase):
def test_relocation_list(self):
data_reuser = DataReuser("exes/7z.exe")
data_reuser.init()
relocs = data_reuser.get_relocations_for_section(".rdata")
self.assertEqual(30, len(relocs))
reloc = relocs[0]
self.assertEqual(393216, reloc.base_rva)
self.assertEqual(394296, reloc.rva)
self.assertEqual(1080, reloc.offset)
self.assertEqual("I", reloc.type)
def test_largestgap(self):
data_reuser = DataReuser("exes/7z.exe")
data_reuser.init()
size, start, stop = data_reuser.get_reloc_largest_gap(".rdata")
self.assertEqual(129395, size)
self.assertEqual(3807, start)
self.assertEqual(133203, stop)
def test_rdata_overwrite(self):
pass
def test_asm_lea_create(self):
pass