################ ELFsh TODO phile ################ IMPORTANT NOTE: --------------- Put your name on the feature you are implementing, so that we avoid 2 coders to do the same thing . [0.51b3] . 'Flush' command => flush the mods from a bin . Be sure that LKM infection technique works with ELFsh . implement elfsh_strip() . elfsh_save_obj() need file duplication . Faults when 1/ changing sh_size and printing sect OR 2/ launching invalid script . Clean disasm code and modflow code . More tests on modremap . 'stealth mode' (do not insert symbols and obfuscate SHT) . Unified relocation engine and automatic relocation for ET_EXEC/ET_DYN . Update libelfsh REF and do manpages . Integrate autoconf (skyper proposed to do it) [0.51b4] [SHT rebuilding : use ELFsh 0.43b for a better implem of this feature] . Bad .dynamic insertion => .shstrtab sh_offset += 9 (why ?) . fix bug in mapped_offset (offset not updated) . Bad sh_off in elfsh_rebuild_sht() => bad output file (why ?) . rebuild .text and .data using PHT (warn: size unknown!) . rebuilt .init and .fini using .dynamic (warn: size unknown!) . consider the padding (max 3 bytes) in SHT reconstruct . . correct the '|' thing in PHT linking perspective . . Reconstruct .shstrtab if missing but SHT is present . SHT reconstruction paper [0.51] . PHT, PLT, DYNAMIC, GOT, CTORS, DTORS entry insertion API . Hash insertion API (synchronized with .dynsym/.dynstr modifs) . INSERT VM commands for sections, symbols, dynsyms, got, ctors, dtors, dynamic, rel*, plt . Variable automatic creation (UINT / STR) . Special variable $_ (like in perl) . Variable Destructions, Bean Cleaning . Loop and Condition capability (cmp, jmp, jz, jnz) . Support file building from scratch and support ET_REL injection on those [0.52] . Version section rw API . Improve completion (do better tables in tables.c) . Miss a last_errfile pointer in the world and arrange whole error system . Support 'addr' L2 field for got, ctors, dtors, rel, dynsym, sym (return the object address) . Advanced relocation entries lookup in grammar.c . Support SET/GET byte/word/dword on RAW objects (address, foffset, and using symtab !) . Section, Section data, got, ctors, dtors, dynamic, rel*, plt removing ELF API . REMOVE VM commands for section data, sections, symbols, dynsyms, got, ctors, dtors, dynamic, rel*, plt [0.53] . Eliminates more FP in the relocator . Libasm handlers scripting . ET_EXEC 2 ET_DYN [with relink command] . ET_REL extraction from ET_EXEC [with reldel command] . SUN/x86 objets translation into GNU/x86 . ET_REL insertion with additional PLT/GOT/REL/DYNSYM/DYNSTR entries . ET_REL insertion into ET_DYN [0.6] . ET_DYN 2 multiple ET_DYN (one per segment) . vmlinuz format support with ET_REL insertion/extraction . md5 known blocks to rebuild true symbol names in static binaries . ET_CORE 2 ET_EXEC . elfsh_export_symbol() (copy .symtab entry as a .dynsym entry) . Support NULL section raw modifs (need sync with ELFhdr and SHT) . Obfuscation module . Advanced stabs API for local variable resolving . IA32, sparc32, sparc64, mips, alpha, pa-risc, PPC static function hooking . IA32, sparc32, sparc64, mips, alpha, pa-risc basic virus checking engine (entry point, got/plt check, xrefs checks) . ELF64 support [0.7] . RISC meta assembly . DFG graphs (Add .elfsh.dflow.xrefs section (filled by Elfsh32_Xrefs_ent)) . PORT/DOC again