![]() |
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") |