aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
blob: 935fc24d146a5cdbe7b7fb7de4604f26f8ec5ee4 (plain) (blame)
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
## INCOMPLETE LIST OF TODO's
## ----------------------------------------------------------------------------

bugs:

current:
[x] RPC endpoint for robot-spectator-ida
    -> progressssss

ez:
[x] opcodes (toggle) in disas view

doable:
[ ] stress test: big fucking binaries (canon rtos blob)

hard:
[ ] deal with PLT stubs and such (oh god here we go)
[~] how to deal with non-function-body regions?
    -> we want to be able to do data/type definitions in .data etc.
    -> M0 done: navigating to a non-function EA opens a flat listing instead of
       refusing; c/p/u edit verbs (define code/function/undefine) with
       bump_items() cache invalidation + region->func upgrade.
    -> M1 done: server `heads` walker (walks item-ends so undefined bytes show
       as `db ?` and arbitrary addresses land exactly) + ListingModel.
    -> M2 done: ListingView — virtualized flat listing (code+data+undefined,
       kind-styled), wired into nav/follow/xrefs/hex/edit-verbs. region views
       now use it (not the DisasmModel stopgap).
    -> M3 done: `d` = typed make_data prompt in the listing (define data in
       .data with any C type: int, char[16], my_struct, ...); undefined byte
       runs coalesce into `db N dup(?)` rows so big .bss doesn't explode.
    -> next (optional): M4 unify the function disasm view as a filtered listing;
       struct-typed data expansion / string auto-detection; back-paging in the
       ListingModel (currently loads a segment forward via load_all).

crazy:
[ ] multi/split view ala ghidra?
    -> would be interesting to make arbitrary compositions of disas/decomp/hex 
        views and keep them all in sync cursor wise etc.

done-ish:
[x] if `drive pc` hits a decompilation error it somehow causes a long timeout on client side
[x] remove stupid textual chrome/scaffolding
[~] hex editor? (viewer at least)
[x] make unit tests not suck (why unittest? because we're reward hackers!)
[x] (re-)typing
[x] struct editor
[ ] cant rename local label
    -> api limitations, might fix (not super important)
[x] rename -> history stack pop -> old name
[x] page up/down cursor x/y preserve
[x] hlsearch should jump cursor
[x] makes names pane sortable (addr/name columns)