Commit Graph
151 Commits
Author SHA1 Message Date
Mike Auty e3057e305d Support parallelism on CLI. 2019-08-07 11:44:29 +01:00
Mike Auty 272224a1b0 Refactor all references to Context.memory to Context.layers. 2019-07-07 17:42:51 +01:00
Mike Auty e468ab7f74 Setting loglevel to 0 doesn't work properly. 2019-04-21 13:22:22 +01:00
Mike Auty 772a30403f Add in renderer selection and a CSV renderer. 2019-04-07 19:07:32 +01:00
Mike Auty f24fbe6f0f Fix up alignment issue. 2019-04-05 12:43:13 +01:00
Mike Auty 223ad230cf Fix up typing issues. 2019-04-05 12:37:57 +01:00
Mike Auty 301fac91ac Add in initial renderer code for CLI table formatting. 2019-04-01 00:07:50 +01:00
Mike Auty f898dca296 Refactor SymbolRequirement to SymbolTableRequirement for clarity. 2019-02-06 21:26:32 +00:00
Mike Auty 6baf21486b Ensure the failures are sorted for volshell as they are in the CLI. 2019-01-18 12:38:12 +00:00
Mike Auty ed795f7e33 Provide better failure responses for TranslationLayerRequirements and SymbolRequirements.
Improves issue #59.
2019-01-18 12:19:31 +00:00
Mike Auty 040da46deb Fix up the descriptions for non-simple requirements. 2019-01-03 00:39:53 +00:00
Mike Auty bb872863f9 Try to slightly clean up table rendering in the CLI. 2018-12-30 17:17:15 +00:00
Mike Auty ac57e62807 Output the requirement description when it can't be fulfilled. 2018-12-29 00:41:20 +00:00
Mike Auty fdc6efc4ad Add in the LICENSE and the README. 2018-12-19 23:55:03 +00:00
Mike Auty e65a00894a Minor style tweaks and mass changes across the codebase because of it. 2018-12-17 12:46:14 +00:00
Mike Auty b61ac3bd47 Many more typing fixes. 2018-12-17 01:17:06 +00:00
Mike Auty 91f6e32cf7 Minor typing addition. 2018-12-16 22:59:19 +00:00
Mike Auty 19572b6e1e Reformat all python files using yapf with custom volatility style. 2018-12-16 16:50:17 +00:00
Mike Auty 29d41470a4 Mass reformat of typing imports
Relented on the strict import of direct objects/classes for the typing
module only.  Typing module components can be directly imported because
it makes the code really painful to read and write otherwise.

This is still in-line with the python style guide adopted from Google at
http://google.github.io/styleguide/pyguide.html section 2.2.
2018-12-16 13:04:22 +00:00
Mike Auty 67f5230d77 Ensure the plugins are appropriately sorted when listing them. 2018-12-09 13:32:51 +00:00
Mike Auty f3fce720b1 Don't show errors if there are none. 2018-10-31 17:03:43 +00:00
Mike Auty dd33333d89 Make sure volshell is in sync. 2018-10-31 00:03:27 +00:00
Mike Auty e3e1c4e00b Initial commit of pyinstaller spec. Some changes to path handling to help. 2018-10-30 23:56:34 +00:00
Mike Auty c8dd50dacb Improve help message to list unloadable plugins. 2018-10-03 21:32:03 +01:00
Mike Auty 99ba8bfb3f Change plugin runner to use a base_config_path. 2018-09-24 00:45:36 +01:00
Mike Auty e5024420c8 Refactor plugin running to ensure automagics and reconstruction occur properly. 2018-09-24 00:36:40 +01:00
Mike Auty 821841e7ee Refactor wher ethe UnsatisfiedException lives. 2018-09-23 22:56:24 +01:00
Mike Auty 8d5a6ffdd4 Refactor InstanceRequirement into SimpleTypeRequirement. 2018-09-20 14:56:16 +01:00
Mike Auty e665ec7505 Minor fix in Volshell. 2018-09-02 16:59:03 +01:00
Mike Auty 2d2b3c27dc Fix up the symbols import in volshell. 2018-09-02 00:58:27 +01:00
Mike Auty 1299fa4a36 Fix up volshell failing on missing modules (eg, yara) and tart up the setup file. 2018-09-02 00:52:17 +01:00
Mike Auty dff7e6d6df Add in support for specific symbol directories. 2018-09-01 21:57:49 +01:00
Dave Lassalleandikelos 823cbddef5 fix an off by one error in printing hex 2018-08-29 21:51:52 +01:00
Mike Auty d08c29ffab Improve style to use default iterators rather than explicit ones. 2018-08-05 16:18:53 +01:00
Mike Auty b1d46f843b Convert documentation to napoleon/Google format docstrings. 2018-08-05 15:52:12 +01:00
Mike Auty 70abef1f46 Rework how we handle import errors. 2018-06-19 09:58:09 +01:00
Mike Auty 7a52ac9deb Fix a large number of typing issues.
There are several instances where mypy didn't detect

if blah is not None:
    blah = thing

and so were rewritten as:

blah = blah or thing
2018-06-04 01:25:02 +01:00
Mike Auty 213c70527f Change the plugins option to plugin_dirs to avoid conflict with timeliner. 2018-05-31 11:48:12 +01:00
Mike Auty b647c3a089 Refactor volshell with inheritance and add dt.
It makes enourmous sense to inherit the windows volshell plugin from the
volshell one.  I also added the generic dt function.
2018-05-30 22:36:42 +01:00
Mike Auty 1aa980169c Fix up the -f help message and tidy the code. 2018-05-23 22:12:47 +01:00
Mike Auty d6b7415bab Revert "Remove the -f flag before it gains too much use."
As @npetroni quite rightly pointed out, the purpose of the CLI is to
make it easy for people to use on the commandline, so at the expense of
some dynamic ability, -f is returning for convenience purposes.

This reverts commit 4450766d50.
2018-05-23 22:08:52 +01:00
Mike Auty 4450766d50 Remove the -f flag before it gains too much use.
Given the single-location parameter is now a URIRequirement, and
can accept normal files (rather than a full URL), but is far more
accurate (it matches exactly what the automagic requests).  If there's
much uproar we can revert this one commit.
2018-05-15 00:54:13 +01:00
Mike Auty f8b592c236 Make the config path for plugins dynamic. 2018-05-15 00:11:31 +01:00
Mike Auty b9fbf272d1 Add support for filename requirements
At the moment these are no different than strings, but they allow us to
do things like add URI handlers to file names if no scheme is provided,
and eventually do file existence testing.  This also allows the web URI
to allow uploads as a means of passing a file in.

The configuration will only store the filename, because otherwise
someone could add a huge file which would need to be carried around in
the config forever after.  Handling file existence errors is up to the
UI after the volatility library returns a "file not found" type
exception.
2018-05-08 23:54:08 +01:00
Mike Auty a3eaef7696 Remove debugging statement. 2018-05-06 18:12:53 +01:00
Mike Auty 035bada7b7 Refactor volshell from a plugin to a standalone program. 2018-05-06 18:11:15 +01:00
Mike Auty 66306dad2a Change Hex byte rendering so it's always on a new line. 2018-05-06 15:34:24 +01:00
Mike Auty 3f1a3e34c6 Add in the oft-requested -f flag.
I'm not entirely happy with this, it's an overly specific hard coded
change, but luckily it's only for this CLI, it has no impact on other
UIs, either text based on web based.

I really don't want people to become reliant on this, but also I don't
want to be that guy that stops people being able to do their work
quickly for reasons of correctness.  May future volatility devs forgive
me...
2018-05-06 15:22:39 +01:00
Mike Auty 0c28717322 Add disassembly support to the text renderer. 2018-04-15 15:41:41 +01:00
Mike Auty fbc8a9ce12 Move the text renderer to cli directory. 2018-04-15 00:15:50 +01:00