Dr-Carlos
08c000539c
_isc: use os->syscall_at instead of remove_if
2022-04-19 07:32:09 +09:30
Dr-Carlos
e037d5889c
_isc: print instead of throwing error
2022-04-19 07:13:07 +09:30
Dr-Carlos
86300fc1c7
_isc: add positional arg to specify printed info
2022-04-19 07:13:07 +09:30
Dr-Carlos
631482e4f5
_isc: add vspace as an option and fix it
2022-04-19 07:13:07 +09:30
Lephenixnoir
0f5c1c2eba
shell: improve error behavior of parser and autocompletion
...
* Example on _e, but other commands are probably affected
* When completing, throw CompletionRequest("_error", <message>) to have
a reasonable output and not mess up readline
* Avoid early returns (or if a command really cannot be completed,
adjust the ShellCommand declaration to not run the command)
* Less CommandError in the parser, these would throw during
autocompletion and annoy everyone
* Allow options with empty value so that we don't throw when
autocompleting after typing eg. 'vspace='
2022-04-18 11:55:25 +01:00
Lephenixnoir
e0783c2348
shell: exhaust parser after parsing error
2022-04-18 11:30:49 +01:00
Dr-Carlos
789fc3325c
_e: print instead of throwing error
2022-04-18 07:23:02 +09:30
Dr-Carlos
9b334d0ee0
_e: throw error when vspace does not exist
2022-04-16 07:53:27 +09:30
Dr-Carlos
b7d9d82482
_ms: evaluate expressions
2022-04-16 06:13:34 +09:30
Lephenixnoir
358ce38db5
rename _ma to _ms (metadata symbol)
2022-04-15 11:19:32 +01:00
Dr-Carlos
12845a1675
Improve command classification
2022-04-15 06:09:18 +09:30
Lephenixnoir
3a9a622ee3
_ic: new command to show claims on addresses
2022-04-06 18:41:41 +01:00
Lephenixnoir
ee1c36db4e
_ads: functions now claim the instructions they explore
2022-04-06 12:15:34 +01:00
Lephenixnoir
8a2c67d83f
fix token memory leaks in lexer
2022-04-06 12:02:53 +01:00
Dr-Carlos
5f82ad29e7
Enable -l for log option
2022-04-06 07:28:28 +09:30
Lephenixnoir
23275d99c7
add infrastructure for function claiming parts of the binary
...
The CFG pass will soon be extended to actually emit the claims.
2022-04-05 19:35:52 +01:00
Lephenixnoir
8b1105fb03
shell: add --log CLI parameter
2022-04-05 15:36:24 +01:00
Lephenixnoir
6ae1a88bf7
_ads: register functions during discovery
2022-04-05 14:02:06 +01:00
Lephenixnoir
613e5b07f4
remove explicit \e coloring
2022-04-05 12:23:39 +01:00
Lephenixnoir
d7b3fd0de8
add infrastructure for function passes
...
Ported existing passes to the new pass interface, now working properly.
2022-04-05 11:11:19 +01:00
Lephenixnoir
d61f4e0a2f
meta: fix uninitialized command-line argument logic
2022-04-05 11:11:19 +01:00
Lephenixnoir
45888eb01c
add infrastructure for function passes (WIP)
2022-04-04 22:53:05 +01:00
Lephenixnoir
f7f5fbf884
shell: fix uninitialized CLI parameters
...
Could start with show_help = true at higher optimization levels.
2022-04-04 10:51:31 +01:00
Lephenixnoir
11ca1cc2fc
ads: actually analyze *all* syscalls
2022-04-03 21:36:59 +01:00
Dr-Carlos
ef40cb3469
Add comments and allow multiple -e options
2022-04-01 06:24:48 +10:30
Dr-Carlos
446590448b
Change debugger to disassembler in --help
2022-03-31 20:04:04 +10:30
Dr-Carlos
b6fbc352e0
Add --norc, --help, -e, and FILE options
2022-03-31 19:54:44 +10:30
Lephenixnoir
59ed0c8621
add main disassembly, ad and ads commands
2022-03-28 22:42:53 +01:00
Lephenixnoir
29cd2815ec
refactor disassembly infrastructure and passes
2022-03-28 20:59:30 +01:00
Lephenixnoir
1f475b0863
refactor vspace - remove most memory simulation
...
All of it can be derived from translate_dynamic().
2022-03-27 18:32:28 +01:00
Lephenixnoir
a9660da767
get rid of exceptions in the library, use explicit errors
2022-03-27 13:59:49 +01:00
Lephenixnoir
50963d7c20
refactor logging utility
2022-03-27 12:57:36 +01:00
Lephenixnoir
36fe7fcff4
refactor library utils
2022-03-27 12:12:53 +01:00
Lephenixnoir
54721cac93
README for the shell interface
2022-03-06 23:39:44 +00:00
Lephenixnoir
2394725074
add OS checksum computations
2022-03-06 22:50:48 +00:00
Lephenixnoir
4e76ff3a24
add command help messages
2022-03-06 16:15:19 +00:00
Lephenixnoir
bd5e1f918c
change option syntax; less exceptions; better autocompletion
...
* Change option syntax to <name>=<value>, with mandatory "=". This is
still not great, but manageable.
* Remove the Session::require_vspace() function, whose named overload
was misused (to check for the existence of a named space), and the
associated exceptions. Explicit error flow is better error flow.
* Change the autocompletion system to generate all options in a vector
of strings and then iterate, rather than using generators.
* Add completion for symbols.
2022-03-04 22:54:45 +00:00
Lephenixnoir
3b684389e9
replace CLI with WIP shell (huge commit)
2022-03-04 11:29:33 +00:00