Commit Graph
290 Commits
Author SHA1 Message Date
Mike Auty 2bd12b834f Fix minor breakage from the previous reordering of parameters. 2016-08-17 23:25:08 +01:00
Mike Auty 6712d5dee1 Update the automagic uses to ensure a consistent ordering of the arguments. 2016-08-17 20:38:18 +01:00
Mike Auty 0fd0fa0d55 Fix up the comment to match the acceptance of returning objects other than just offsets. 2016-08-17 20:05:23 +01:00
Mike Auty 462295fc4b Ensure lime is properly imported, so that its classes get picked up by the plugin system. 2016-08-16 10:55:27 +01:00
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 ca61cf10b9 Refactor the context back into the ConfigurableInterface.
This also adds support for manually constructed configurables to
populate the config tree in the current context.

I'm still toying around with this though, I need to figure out
what to do with optional values and think the whole thing through
to make sure it's worthwhile.
2016-08-14 21:28:43 +01:00
Mike Auty ce16d60eaf Add a warning about the dangers of splicing. 2016-08-14 21:27:13 +01:00
Mike Auty 9111f13a8a Get rid of obsolete fulfillment method (now handled by _construct_class in ConstructableRequirementInterface). 2016-08-14 11:44:18 +01:00
Mike Auty 8089a03f81 Convert the private file attribute to a property to allow for cloning. 2016-08-14 01:09:36 +01:00
Mike Auty e02feed16e Python 3 has a sane super() implementation (no arguments), so convert to using that. 2016-08-14 00:55:02 +01:00
Mike Auty 523e159047 Add in convenience functions for working with the configuration and context. 2016-08-14 00:32:22 +01:00
Mike Auty 303ca04a5a Remove the (emtpy) fileformat file in preparation for a dataformat version. 2016-08-14 00:30:25 +01:00
Mike Auty c6b60a0035 Add in more error checking on the automagic routine. 2016-08-14 00:28:20 +01:00
Mike Auty c160698465 Add in comment concerning when the dtb finder fails. 2016-08-01 00:39:49 +01:00
Mike Auty cb1b226bbb Fix an obvious typo. 2016-07-30 18:38:12 +01:00
Mike Auty 8fc925a920 Remove the obsolete generic scan (it was only generic for 64-bit register size). 2016-07-30 18:38:03 +01:00
Mike Auty eccfb1c247 Conver the individual tests to the scanner framework, and work that into the automagic. 2016-07-30 18:20:14 +01:00
Mike Auty 0a0054e30a Make the logging a bit clearer and remove the print statement. 2016-07-30 02:41:26 +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 43aba96e3f Minor pylint (alphabetical imports) and refactoring the construct class to work for symbols. 2016-07-30 01:58:29 +01:00
Mike Auty 1c3521cf64 Give construct_layers a forcably low priority, it's important. 2016-07-30 01:54:42 +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 d3a226d7a8 Remove constraints as a thing, they'll need to come back, but in a different form. 2016-07-30 01:52:44 +01:00
Mike Auty 7661d2ce52 Remove errant debugging statements. 2016-07-30 00:42:46 +01:00
Mike Auty 8db3adae05 Update the scanner interface to return all kind of objects.
This one's slightly contencious, in that scanner now don't all return a
uniform value, and therefore nothing can simply run through scanners.

Worst case scenario we make a separate stricter interface that says it
only returns offsets which will then allow things that need it to
dynamically find them, but it's probably too useful to be able to return
arbitrary objects of a type (as long as the objects returned are always
of that type).
2016-07-30 00:38:53 +01:00
Mike Auty 32b0b073ce Remove unnecessary components after all the refactoring. 2016-07-30 00:37:24 +01:00
Mike Auty f8c3019165 Refactor requirements to expose the name ordering for quicker lookups. 2016-07-29 03:28:02 +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 b63f07f493 Rework the imports to make the intel layers easier to read. 2016-07-29 02:57:10 +01:00
Mike Auty bb2dd859d5 Refactor the get_schema call to make more sense. 2016-07-29 02:56:20 +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 8c6354e013 Document the ScannerInterface to make its use clearer. 2016-07-05 17:09:36 +01:00
Mike Auty b470ff3715 Recent changes affect the API (layer.mapping and InvalidAddressException) so get in the habit of bumping the version. 2016-07-02 16:30:44 +01:00
Mike Auty be54ea0dda Fix minor docstring typo. 2016-07-02 16:24:17 +01:00
Mike Auty 90fa5574b4 Add in the initial scanning framework. 2016-07-02 15:49:00 +01:00
Mike Auty c626bebb59 Convert mapping to a generator rather than a list. It must still return in sorted order. 2016-07-02 15:48:09 +01:00
Mike Auty fc34850345 Implement mapping with ignore_errors to get a (sorted) list of valid chunks in a layer. 2016-07-02 15:39:36 +01:00
Mike Auty 46190e37a9 Fix padding error in base read function. 2016-07-02 15:30:40 +01:00
Mike Auty 98fff4616c Add in linted spacing by pycharm. 2016-07-02 14:55:52 +01:00
Mike Auty 8c6e7918ee Fix up one missing exception change. 2016-07-02 14:53:41 +01:00
Mike Auty 5290baf73d Make InvalidAddress exceptions more useful. 2016-07-02 13:31:36 +01:00
Mike Auty 14e8346730 Merge branch 'master' of github.com:volatilityfoundation/volatility3 2016-07-02 12:34:19 +01:00
Mike Auty 0c56c494ae Support saving/loading configs to a (JSON) string. 2016-07-02 12:34:09 +01:00
Nick L. Petroni, Jr 02f26e7829 lime.py: improve check -- empty lists evaluate to False 2016-05-26 17:39:54 -04:00
Nick L. Petroni, Jr 2686487e6f lime.py: first working version
- moved segment loading out of __init__(), now happens on first use
- fixed mapping() to return the correct chunk_size
- self._base_layer is a string, not a layer
2016-05-26 17:39:54 -04:00
Nick L. Petroni, Jr f9a950bb39 added LIME translation layer 2016-05-26 17:39:54 -04:00
Mike Auty 633225edb2 Minor reformatting by pycharm for line length. 2016-05-26 09:14:37 +01:00
Mike Auty 472132e574 Clarify and verify that the memory_layer parameter is the name of the memory layer, not the layer itself. 2016-05-26 09:14:09 +01:00
Mike Auty d882f93fee Move the length check, and require a non-zero length to protect is_valid. 2016-05-22 19:23:15 +01:00