1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
|
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)
- 11 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
|