HT TODO ========= +sepps - implement ht_static_treeview::goto_node() at all - exports/dimports in PE32+ broken - ht_listbox should have column align (left, right, center) - strz escape problems e.g. ffffffff -> " " - segments - multiple disassemblers - address: different display types (ie rva) - next unexplored - out_addr *analyser_output::get_addr(ADDR Addr) no cur_out_addr==NULL test - htanaly.cc: menu ifs not used properly (for keys...) - analy_x86: AnalyX86Disassembler::createAddress() fix it. - analy.cc: pushAddress(x,y) leaks x if !isValidCodeAddr(x) - analy.cc: analyser file storage: thresholds are stored after data structures which they are used for. > 80c20 dd 0x4c000024 ;; 00080c20 rfid > 823e4 dd 0x7d708120 ;; 000823e4 mtcrf 0x08,r11 +dunno - update help - listbox-search - qword *, /, %: better impl... - FILEOFS 64+ bits - (HT_1_0) freeze/stabilize config file formats / APIs - int ht_ne_entrypoint_viewer::ref_sel(LINE_ID *id) - 1Â1 will eval to 1 - [x86 asm] 'jmp 1+2' doenst work but 'mov [1+2], ax' ?? - store.cc:60: getObject quits with invalid config file - disasm (esp. x86) switch 16/32 correctly - classread/view.cc - rename to match PE/ELF/LE,etc.'s structure - shared data not freed - segmented addresses + eval() - [start, end) or [start, end] in - Areas - ht_analy::lowest/highest address - document commandline options in help +steves - get rid of bnstr()!!! - ./configure should not fail if it can't find lex/flex (and probably other including but not limited to yacc) - eval: no signed division (there should be an operator s/ with "-7 s/ 7 == -1") - x86asm: "test eax, [2342343]" should yield "test [2342343], eax" ("test" ist symmetric) same with "xchg" - eval: "-2+1.0" vs. "2+1.0" (difficult) - option to open a file without attempting to parse 'special information' - i.e. to edit it as pure hex. - mov eax, [eax+ebp] vs. mov eax, [ebp+eax] - blockop should support multiple endianesses (currently only big-endian) - eval: int(-1.0) results in 0xffffffff instead of 0xffffffffffffffff - eval: int("-1") does not work - eval should warn if number too big/cannot parse - eval whatis(whatis("whatis")), what is? - create ht.cfg in "home dir", implementation+interface sys_get_home_dir() - disabling "-pipe" on generic-POSIX systems doesn't seem to work - input_date_time() - open... new option: preserve mtime - htsys.h move to .., implement sys_pstat_fd(pstat_t *s, int fd) - eval text_viewer - LE binary search does not work - Resources in VxDs (like in PE) - IPC-djgpp: recognize gui progs and close window !? - httext line wrapping, ctrl+page_down ?! - new instead of malloc - terminal.cc: terminal line buffering ?! - textviewer: vi-mania: '/' searches, 'n' continues - vfsview: xtime tag modified to display seconds. keep this ? - LE: fix file offset chaos (but howto ?) - "class Process" in process.cc: replacing/improving *_process see messy code htsearch: replace_bin_process (c->'s) - (HT_0_9) features configurable - (HT_0_9) directory structure - move source files (especially object system) into separate directories, solve name problems - (HT_0_9) data2/string2/stream2/store2/debug2 - homogenous/heterogenous lists - save on readonly/locked file - stream::set_layered suspicious - use exceptions - (HT_0_9) the next big changes (htvision rewrites) - rewrite menus, disable menu-entries (and multiple context menus ?) - handlemsg should not have to handle keypressed. new concepts needed - texteditor as dialog-widget should have attachable scrollbar - menus should save last cursor position - use exceptions and get rid of globalerror (cause its ugly) - cleanup msg interface - auto-documentation (e.g. keys) - syntax.cc:bool match_sorted_stringtable(char *s, UINT slen, char **strings, UINT strings_count): better use bsearch() (ANSI, POSIX) - texteditor as dialog-widget should have attachable scrollbar - open file: wildcards - search - search should prefill start/end ofs from selection (if applicable) - search with invalid start/end offset - menus should save last cursor position - int ht_disasm_sub::prev_line_id(LINE_ID *line_id, int n), bah - getbounds rel coords - disable buttons (disable menu-entries, disable messages) - file manager - file browser - vfs based on ht_listbox - copy, etc. ?! - vfs ..._viewer to get config_changed - elf/pe/etc.-section ref tree optimizationdfgjl - KEY_RESIZE - textedit/file - +get_size,extend,truncate +overwrite -use_getline - highlighter speed !! - bug with getline's pofs ?! - long lines - unindent() - match pair highlight - undo::gettext() should (be able to) use text_editor::snprint_ppos(...) - input separators configurable (right now only creates UNIX-style files) - search backwards - more history entries: replace e.g. - improve edit_time/dialog ?! - auto-documentation (e.g. keys) - portability - compile on sun solaris (curses problems (only?) on cf.sf.net) - compile on MacOS X (curses.h, but no ACS_*) - detect format length (ne,le,elf) - LE: use byte/word order (no examples) - pe/elf relocations ? - make ht_group_sub work correctly - color invert & underlined attribute and transparent chars, codepages ? && abstract (e.g. transparent) chars (io/*) - x86 (dis)assembler - options (ambigous & + floats) + beautify (enums) - "short"/"large" branches - OBJECT_ID vs HT_ATOM ? - object notification (e.g. insertion into groups (c overview), dialog-elements content modified ) - file structure overview - uformat+k_shift_*: use select_mode_* - *::duplicate(); --> *::clone(); - use better c/c++ (s/most dwords/UINT/, s/int/bool/where needed, more enums, templates, exceptions) - better coff-detection - multiple bit tag (extend bit tag ?) - execute_dialog_modal + window move/resize - taginfo-window - clipboard: limit size somehow - smart window positioning (don't hide cursor) - split up htobj.cc and htdialog.cc into smaller files - extended search (continue as idle w/result window) - CHAR-TAGs must also be editable as hex - full support of: pe, le, lx, mz, ne, elf, a archives, pure/dj coff, m$ object files, etc.. - exe-packer support (at least notification) - fix FIXMEs - remove memory leaks +discussion - queuemsg in ht_view ?! - searchmode bin/regex: rewrite regex ? - "Ctrl-X" vs. "Ctrl+X" - only frames have desc, rest view_debug_name