![]() |
miasm
Reverse engineering framework
|
Classes | |
| class | libimp_elf |
Functions | |
| def | get_import_address_elf (e) |
| def | preload_elf (vm, e, runtime_lib, patch_vm_imp=True, loc_db=None) |
| def | fill_loc_db_with_symbols (elf, loc_db, base_addr=0) |
| def | apply_reloc_x86 (elf, vm, section, base_addr, loc_db) |
| def | vm_load_elf (vm, fdata, name="", base_addr=0, loc_db=None, apply_reloc=False, **kargs) |
| def | guess_arch (elf) |
Variables | |
| log = logging.getLogger('loader_elf') | |
| hnd = logging.StreamHandler() | |
| dictionary | ELF_machine |
| def miasm.jitter.loader.elf.apply_reloc_x86 | ( | elf, | |
| vm, | |||
| section, | |||
| base_addr, | |||
| loc_db | |||
| ) |
Apply relocation for x86 ELF contained in the section @section @elf: miasm.loader's ELF instance @vm: VmMngr instance @section: elf's section containing relocation to perform @base_addr: addr to reloc to @loc_db: LocationDB used to retrieve symbols'offset

| def miasm.jitter.loader.elf.fill_loc_db_with_symbols | ( | elf, | |
| loc_db, | |||
base_addr = 0 |
|||
| ) |
Parse the miasm.loader's ELF @elf to extract symbols, and fill the LocationDB instance @loc_db with parsed symbols. The ELF is considered mapped at @base_addr @elf: miasm.loader's ELF instance @loc_db: LocationDB used to retrieve symbols'offset @base_addr: addr to reloc to (if any)

| def miasm.jitter.loader.elf.get_import_address_elf | ( | e | ) |


| def miasm.jitter.loader.elf.guess_arch | ( | elf | ) |
Return the architecture specified by the ELF container @elf. If unknown, return None

| def miasm.jitter.loader.elf.preload_elf | ( | vm, | |
| e, | |||
| runtime_lib, | |||
patch_vm_imp = True, |
|||
loc_db = None |
|||
| ) |

| def miasm.jitter.loader.elf.vm_load_elf | ( | vm, | |
| fdata, | |||
name = "", |
|||
base_addr = 0, |
|||
loc_db = None, |
|||
apply_reloc = False, |
|||
| ** | kargs | ||
| ) |
Very dirty elf loader TODO XXX: implement real loader


| dictionary miasm.jitter.loader.elf.ELF_machine |
| miasm.jitter.loader.elf.hnd = logging.StreamHandler() |
| miasm.jitter.loader.elf.log = logging.getLogger('loader_elf') |