Commit Graph
51 Commits
Author SHA1 Message Date
Mike Auty db21d4628c Rework importing of interfaces, a little more verbose in the code, but a little less complex to import and name. 2016-08-16 10:54:57 +01:00
Mike Auty b92ccd771f Fix up the DTB finder code and stick it all together. 2016-07-30 02:35:40 +01:00
Mike Auty 710214fffd Refactor automagics so that the UI can control which ones run. 2016-07-30 01:53:29 +01:00
Mike Auty 14c0cc262c Significantly rework the configuration system.
So this is where I ripped out the guts of the dependency tree
and made it a little better defined in some ways, and delayed
populating it in others.  The validate function signature has
changed and I'm still up in the air whether to validate with
True/False or throw/catch exceptions.

So now, configurables have a list of requirements, these are
then bundled into a single requirement and can be passed to
automagic.  Automagic runs a set of things over the deptree
to help build/manage it.  These run in order of priority.

The tree is still built from the top down, but now automagic
can build branch from the bottom up and try and splice them
into the tree where appropriate.  Hopefully this will make it
easier to see follow.
2016-07-29 03:24:52 +01:00
Mike Auty 2ae251b803 Remove argparse attempt until we're ready to bring it back. 2016-07-29 02:58:01 +01:00
Mike Auty 4f17143fd3 Add in proper logging statements. 2016-07-29 02:35:07 +01:00
Mike Auty 25bbbe0937 Refactor the way that plugins are imported for use on other modules (such as the upcoming automagic). 2016-07-28 21:29:53 +01:00
Mike Auty 9dbae9b84a Update for PAE image, rather than a second intel image. This one's private though. 2016-02-22 09:18:03 +00:00
Mike Auty 61d45c2c36 Add another demonstration image with handily the same system process offset, to demonstrate selecting PAE or 32bit. 2016-02-22 01:54:53 +00:00
Mike Auty 0298df3569 Convert visitors to HierarchicalVisitors, keeping a stack of children's results for the dependency resolver. 2016-02-22 01:05:16 +00:00
Mike Auty c6a3c2d6b1 Add in the automagic and allow mid-deptree resolution (without trying to re-fulfill already populated requirements). 2016-02-21 00:42:04 +00:00
Mike Auty 71b540f6db Draft up a system to tag the configuration tree with useful information based on the context so far. 2016-02-20 21:36:12 +00:00
Mike Auty ba2083fc7c Refactor the RequirementTreeNode to put it in the interfaces file. 2016-02-20 21:35:05 +00:00
Mike Auty 370a49a267 Add in a trivial renderer for testing the output system. 2016-02-09 10:14:53 +00:00
Mike Auty 78cd3c84c0 Add in a NativeSymbolTable validator. 2016-01-16 21:38:00 +00:00
Mike Auty 00660f2a2b Refactor requirements to their own file. 2016-01-16 21:04:41 +00:00
Mike Auty 1c2cb77ea3 Refactor the DataLayerDepResolver into just a generic DepResolver. 2016-01-15 01:47:58 +00:00
Mike Auty ade1e9057f Update documentation slightly. 2016-01-15 01:46:45 +00:00
Mike Auty 63fcb397e1 Refactor path variable to make it clearer. 2016-01-13 00:59:18 +00:00
Mike Auty 5697428770 Move accessing the configuration to an attribute of the configurable itself. 2016-01-13 00:41:17 +00:00
Mike Auty 415a0948a0 Rename the SCHEMA_NAME_DIVIDER, and ensure all paths are flat strings. 2016-01-12 23:44:55 +00:00
Mike Auty cb3f42f0e9 Rework the CLI a little to actually call the plugin, but the config system needs improving/fixing/rewriting. 5:S 2016-01-11 00:18:16 +00:00
Mike Auty 62eff8242d Include an initial version of the dependency resolver. 2016-01-11 00:03:54 +00:00
Mike Auty 3bf336df41 Rework the dependency section and contemplate how to thread it all together a little more. 2016-01-10 16:29:47 +00:00
Mike Auty 82a145200f Add in the next tasks for the dep resolver. 2016-01-10 12:36:28 +00:00
Mike Auty f49f047e55 Clear up the dependency resolver. 2016-01-05 23:26:20 +00:00
Mike Auty b2be217a13 Add in an initial draft of the dependency resolver
Some gotchas:

* Classes can't update attributes that they inherit, because the
  inheritance happens after class construction
* The dep resolver can go in circle if the constraints in a layer are
  too permissive
2016-01-04 01:17:51 +00:00
Mike Auty ff1e326a9c Rip out layer factories, and replace them with a single dependency resolver. 2015-12-30 21:58:41 +00:00
Mike Auty ede77815b1 Commit additional notes. 2015-12-02 02:18:41 +00:00
Mike Auty 58582715db Rework configuration classes to move towards a schema system. 2015-11-30 21:21:15 +00:00
Mike Auty d258c56991 Rerun pylint with pycharm-5 and fix pep8 issues as well. 2015-11-21 13:12:00 +00:00
Mike Auty 8ddf5c5b45 Remove the plugin __call__ method for properly named run method.
Calls methods are handy, but ugly if you create and then call the object
immediately ( for example, thing()() ).
2015-10-11 18:12:19 +01:00
Mike Auty 97ff228e76 Replace layer name requirements with more descriptive translationlayerrequirements. 2015-10-11 18:02:27 +01:00
Mike Auty 64168e793c Start adding the capability for LayerFactories to generate layers based on the requirements from the individual elements. 2015-10-05 01:48:43 +01:00
Mike Auty 3c5cb64915 Correct issues with imports and pylint a little. 2015-10-05 01:47:31 +01:00
Mike Auty c3a52118e5 Minor tidying. 2015-09-28 09:27:54 +01:00
Mike Auty e817b48083 Save the translationlayer requirement, so we can populate it based on the modifier requirements. 2015-09-28 01:34:42 +01:00
Mike Auty 0ff820667f Refactor config to configuration so we can have variables called config. 2015-09-28 01:31:22 +01:00
Mike Auty 897d8bd574 Initial imlementation of a mapping from volatility config trees to Argparse arguments. 2015-09-28 00:57:06 +01:00
Mike Auty 813750c81e Add validation and basic lint on the CLI. 2015-09-24 15:06:04 +01:00
Mike Auty 5d182066fb Add validate and optional to the interface for config items. 2015-04-13 14:29:17 -05:00
Mike Auty ddef7e76b3 Add a todo to validate factory requirements as well as just plugin requirements. 2015-04-13 14:18:33 -05:00
Mike Auty f4d07c01b7 Getting the feeling changes are getting out of hand. More config and layering code. 2015-04-10 18:14:28 -05:00
Mike Auty 4157c1c493 Refine the config system, realize that ContextFactories are in fact LayerFactories? 2015-04-10 17:38:56 -05:00
Mike Auty 827d85c1e0 Convert namespace_divider to a global and add a join function.
Also alter ContextFactories so that they take a list of classes rather
than objects.
2015-04-10 16:42:24 -05:00
Mike Auty c01711ba45 Avoid being lazy. 2015-04-10 14:08:25 -05:00
Mike Auty 35506bb7d3 Allow SymbolSpaces to be uninitialized, and move context from framework to framework.contexts. 2015-04-09 16:22:25 -05:00
Mike Auty a85bcb9e58 Rework config system yet again, and start filling in some of the requirements. 2015-04-09 15:56:57 -05:00
Mike Auty 3d00956951 Refactor some names and consider reworking the config system *again*. 2015-04-08 18:13:06 -05:00
Mike Auty e013455f40 Fix up input validation and start the CLI code. 2015-04-07 17:27:57 -05:00