Commit Graph
123 Commits
Author SHA1 Message Date
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
Mike Auty 8e5291ecb4 Make sure we write out bytes, not memory. 2018-04-14 23:52:59 +01:00
Mike Auty f25d059d49 Add in file producer/consumer API. 2018-04-14 19:51:49 +01:00
Mike Auty 288d866dd3 Fix the incorrect type definition. 2018-03-25 18:24:11 +01:00
Mike Auty eaadd53951 Allow the optional setting of requirements to be changed (for sub-plugins). 2018-03-25 18:16:34 +01:00
Mike Auty 154732126d Refactor the automagic choosing code. 2018-03-25 18:15:43 +01:00
Mike Auty 19c3536afc Refactor the plugin listing code. 2018-03-25 18:15:22 +01:00
Mike Auty 396dc8f8e4 Add in the ability for plugins to report their progress if applicable. 2018-03-23 15:41:55 +00:00
Mike Auty db6e32bba3 Expose config writing as a specific user-visible flag. 2018-03-08 01:25:18 +00:00
Mike Auty e8212df604 Improve ListRequirement handling (default values, etc). 2018-02-11 02:16:53 +00:00
Mike Auty 7cb0330d04 Fix and correctly type ListRequirements. 2018-02-10 22:41:39 +00:00
Mike Auty c203663f0b Refactor requirements to support a list of swap layers. 2018-01-28 14:48:50 +00:00
Mike Auty 51f508e602 Allow for substring matching on plugin names. 2017-11-14 11:04:47 +00:00
Mike Auty f3f68e34cf Change exception output to not have so many spaces. 2017-11-06 10:35:08 +00:00
Mike Auty 585ec3f72d Change the way plugin failures are reported. 2017-11-04 18:54:23 +00:00
Mike Auty a4b4a8eed3 Improve the error handling with automagics. 2017-11-04 18:45:08 +00:00
Mike Auty c1f16c412f Add in boolean option fix. 2017-10-23 17:11:36 +01:00
Mike Auty ae9e33292f Add in restrictions on automagics should be used for each type of plugin. 2017-10-08 20:22:10 +01:00
Mike Auty 74c2a47d7f Support reading strings to determine the base automatically (such as 0x### for hex). 2017-10-08 16:52:23 +01:00
Mike Auty ab5f4fa3ab Refactor the List and Choice Requirements
These are required by the Automagic interface, and so to prevent
importing from outside the interfaces namespace, these two classes
were moved into interfaces.
2017-08-09 22:44:06 +01:00
Mike Auty d32fc223e2 Fix up additional imports inconsistent with the coding style.
Note: also remove interfaces_configuration where ever possible
(this is not possible in the interfaces directory itself
because it would cause an import loop).
2017-08-09 22:32:44 +01:00
Mike Auty 4b0515aa65 Fix up the logging so there are five standard levels, and list the cache location. 2017-07-24 01:39:29 +01:00
Mike Auty 14ae9db745 Improve the progress output. 2017-07-20 11:40:30 +01:00
Mike Auty 03cdd91fbf Add in the capability to merge two config dicts (so that manually set settings aren't overwritten). 2017-07-20 00:49:36 +01:00
Mike Auty a4c6c8bf55 Add in logging option to prevent creating example.log all the time. 2017-06-29 00:08:55 +01:00
Mike Auty ea8a721882 Add in ability to quieten the progress output (-q or --quiet). 2017-06-28 23:26:14 +01:00
Mike Auty e1c1981ed7 Fix up plugin argument help messages. 2017-06-20 17:44:59 +01:00
Mike Auty cb2430f661 Reshuffle the command line parameters in the help. 2017-06-01 01:01:39 +01:00
Mike Auty dd7ea07228 Rejig plugins and partially parse the command-line options to set a plugin path early. 2017-06-01 00:54:07 +01:00