Commit Graph

91 Commits

Author SHA1 Message Date
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
Lephenixnoir 707c154f00 Merge pull request 'Throw error when e vspace does not exist' (#5) from Dr-Carlos/fxos:master into master
Reviewed-on: https://gitea.planet-casio.com/Lephenixnoir/fxos/pulls/5
2022-04-18 12:07:25 +02: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
Lephenixnoir a6b66f380d Merge pull request 'Improve command classification' (#4) from Dr-Carlos/fxos:classification into master
Reviewed-on: https://gitea.planet-casio.com/Lephenixnoir/fxos/pulls/4
2022-04-15 22:57:40 +02:00
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 d943ba12c3 Merge branch 'master' into classification 2022-04-15 07:00:48 +09:30
Dr-Carlos 12845a1675 Improve command classification 2022-04-15 06:09:18 +09:30
Lephenixnoir e8616c4dcc
meta: ignore previous commit in git blame 2022-04-14 15:31:54 +01:00
Lephenixnoir cf2bc1870c
meta: provide automatic formatting with clang-format 2022-04-14 15:28:20 +01:00
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
Lephenixnoir 4ab1df810b
fix mismatch of new[] and delete in Buffer 2022-04-06 09:36:29 +01:00
Lephenixnoir 9e37c2685c Merge pull request 'Enable -l for log option' (#2) from Dr-Carlos/fxos:master into master
Reviewed-on: https://gitea.planet-casio.com/Lephenixnoir/fxos/pulls/2
2022-04-06 10:36:19 +02: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 0028a3ad45
meta: enable reasonable optimisation by default 2022-04-04 22:52:33 +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
Lephenixnoir ae1db62314 Merge pull request 'Add --norc, --help, -e, and FILE options' (#1) from Dr-Carlos/fxos:master into master
Reviewed-on: https://gitea.planet-casio.com/Lephenixnoir/fxos/pulls/1
2022-03-31 22:11:49 +02: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 e90ef447fc
more refactoring, still less exceptions: os 2022-03-27 17:39:42 +01:00
Lephenixnoir da69725697
more refactoring and minor style updates 2022-03-27 16:10:13 +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 b37a056c2e
clean up indent for utils 2022-03-27 12:16:58 +01:00
Lephenixnoir 36fe7fcff4
refactor library utils 2022-03-27 12:12:53 +01:00
Lephenixnoir 36fc94bf16
README update (fxdoc now up-to-date) 2022-03-07 21:04:25 +00: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