metasploit-framework/lib/metasm/TODO

17 lines
1021 B
Plaintext

disasm:
handle delay slot
data xref: trackback memory write/read (read is when you read a value and modify it/its derivates, (!= push eax ; trash ; pop eax)) - detect self-modifying code
remove maxdepth param? + detect loops
path-specific backtracking ( foo: call a ; a: jmp retloc ; bar: call b ; b: jmp retloc ; retloc: ret ; call foo ; ret : last ret trackback should only reach a:)
disasm some code sequences to C
externs / C header parser (prototypes, + OS abi ?)
somehow handle unknown external calls (fake func body with special 'trashed' backtrack instruction to allow abi like 'ebp is kept, eax is mutable' ? could need something like stack not accessed below [esp+12])
gui
allow program-wide label renaming
ia32: emu fpu
mips: cpu emu for trackback
encode: SplitReloc for pseudo-instrs (mips li => reloc high :a16 + reloc low :a16), use Reloc.encode(edata, off) or sumthin for edata.fixup (allows ducktyping)
asm: asmpp.pp (instead of asm < pp)
optimizer/deoptimizer (asm/dasm): reorder instructions