Skip to content

Commit f3d2e9c

Browse files
committed
Fix using wrong dumper for YZPack
1 parent e6cbae6 commit f3d2e9c

2 files changed

Lines changed: 9 additions & 2 deletions

File tree

unipacker/imagedump.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,13 @@ def fix_imports(self, uc, hdr, virtualmemorysize, total_size, dllname_to_functio
510510
return super().fix_imports_by_rebuilding(uc, hdr, virtualmemorysize, total_size, dllname_to_functionlist)
511511

512512

513+
# YZPackDump can use fix_imports_by_rebuilding as well
514+
class YZPackDump(ImageDump):
515+
def fix_imports(self, uc, hdr, virtualmemorysize, total_size, dllname_to_functionlist, original_imp):
516+
return super().fix_imports_by_dllname(uc, hdr, total_size, dllname_to_functionlist)
517+
# return super().fix_imports_by_rebuilding(uc, hdr, virtualmemorysize, total_size, dllname_to_functionlist)
518+
519+
513520
class PEtiteDump(ImportRebuilderDump):
514521
def fix_section_mem_protections(self, hdr, ntp):
515522
for s in ntp.keys():

unipacker/unpackers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import yara
55

66
import unipacker
7-
from unipacker.imagedump import ImageDump, ImportRebuilderDump, PEtiteDump, MEWDump
7+
from unipacker.imagedump import ImageDump, ImportRebuilderDump, PEtiteDump, MEWDump, YZPackDump
88
from unipacker.utils import InvalidPEFile
99

1010

@@ -172,7 +172,7 @@ def __init__(self, sample):
172172
self.name = "YZPack"
173173
self.allowed_sections = ['.yzpack', '.yzpack2']
174174
self.allowed_addr_ranges = self.get_allowed_addr_ranges()
175-
self.dumper = ImportRebuilderDump()
175+
self.dumper = YZPackDump()
176176

177177

178178
class MEWUnpacker(AutomaticDefaultUnpacker):

0 commit comments

Comments
 (0)