 
					################
					ELFsh TODO phile
					################



0.44 release TODO : First writable version, basic information reconstruction
----------------------------------------------------------------------------

SHT reconstruct advances:
 - fix Elfsh32_Section based bug in sht_rebuild.c
 - rebuild .dynstr / .rel.got, .rel.plt / .init / .fini / .hash / .dynsym / using .dynamic .
 - rebuild .got using .rel .
 - rebuild .plt using .got .
 - rebuild .ctors/.dtors avec match de l'array de functions dans unknown writable mapped zone
 - rebuild .eh_frame .
 - ascii frequency engine .
 - rebuild .rodata, .shstrtab, .strtab and .stabstrtab

 - PaX undetectable section injection method (thanks silvio ;)

 - hexdump per vaddr/foffset .
 - tiny screen support .
 - Advanced core format support .

 - solaris raw stabs support
 - elf64 support
 - libelfsh and elfsh man page .




0.X release TODO : Missing stuffs, hooks, and interactivity
-----------------------------------------------------------

 - Advanced stabs API .
 - Version section read/write .
 - Dynsymbol table rw API including .hash modifs .
 - advanced function hooking implementation (.elfsh.hooks)
 - dynamic section API .
 - vmlinuz reversing .
 - static library interpreting .
 - comment section support .

 - bindiff and output format for diffs or working files (zorgon code ?)
 - elfsh actions log when mapping an object .
 - undo capability
 - fichier de conf avec preferences (ex: conf strict mode, etc)

 - interactive commands and script parser (flex/bison or perl ?)
 - function import/export and bean system .

 - Mass port again .
 - Documentation update .





0.X release TODO : full relinking engine
-----------------------------------------

 - Dynamic ET_EXEC to ET_DYN translation facility 

IF THIS IS OK :

 - Executable sections scanning modularization .
 - Rescan executable sections when we add a function symbol .
 - Relocation information reconstruction .
 - Relocation API .
 - Test for complete relinking into a shared library .

ELSE

 - .elfsh.data, .elfsh.got, .elfsh.plt, .elfsh.rel, .elfsh.dynsym, .elfsh.dynstr, .elfsh.hash .
 - Testsuite for section insertion with external references + relocation .
 - Move the program header table .
 - Program header create/destroy/insert/remove
 - Insert a new module per new segment .
 - Remove a module/segment from the executable .

ENDIF

 - ET_CORE to Static ET_EXEC translation facility .
 - Static ET_EXEC to Dynamic ET_EXEC translation facility
 




0.X release TODO : x86 disassembling + heuristics
-------------------------------------------------

 - section and functions disasm viewer .
 - range scanning and padding .
 - add regx in disassembling command line option .
 - functions hijacking API using references .
 - inverse symbol lookup using homemade pre-compiler .
 - rebuild the symtab .
 - scan functions in the code using patterns coupled to symtab/dynsymtab .
 - md5 known code function to rebuild true symbol names in static binaries .
 - unmapped symtab, comment, note, stab fingerprints .




0.X release TODO : sparc support
--------------------------------

 - sparc full disassembly .
 - sparc symtab reconstruction .
 - functions hijacking API using references for sparc .











