miasm
Reverse engineering framework
|
Functions | |
def | kernel32_GetProcAddress (jitter) |
def | stop (jitter) |
Variables | |
parser = Sandbox_Win_x86_32.parser(description="Generic UPX unpacker") | |
help | |
action | |
options = parser.parse_args() | |
load_hdr | |
loc_db = LocationDB() | |
sb | |
level | |
mdis = sb.machine.dis_engine(sb.jitter.bs, loc_db=loc_db) | |
dont_dis_nulstart_bloc | |
asmcfg = mdis.dis_multiblock(sb.entry_point) | |
leaves = list(asmcfg.get_bad_blocks()) | |
l = leaves.pop() | |
end_offset = mdis.loc_db.get_location_offset(l.loc_key) | |
fname = os.path.join(bname, fname.replace('.', '_')) | |
string | out_fname = fname + '_unupx.bin' |
jitter | |
libs | |
e_orig | |
def unpack_upx.kernel32_GetProcAddress | ( | jitter | ) |
Hook on GetProcAddress to note where UPX stores import pointers
def unpack_upx.stop | ( | jitter | ) |
unpack_upx.action |
unpack_upx.asmcfg = mdis.dis_multiblock(sb.entry_point) |
unpack_upx.dont_dis_nulstart_bloc |
unpack_upx.e_orig |
unpack_upx.end_offset = mdis.loc_db.get_location_offset(l.loc_key) |
unpack_upx.fname = os.path.join(bname, fname.replace('.', '_')) |
unpack_upx.help |
unpack_upx.jitter |
unpack_upx.l = leaves.pop() |
unpack_upx.leaves = list(asmcfg.get_bad_blocks()) |
unpack_upx.level |
unpack_upx.libs |
unpack_upx.load_hdr |
unpack_upx.loc_db = LocationDB() |
unpack_upx.options = parser.parse_args() |
unpack_upx.out_fname = fname + '_unupx.bin' |
unpack_upx.parser = Sandbox_Win_x86_32.parser(description="Generic UPX unpacker") |