Mike Auty
667014a1fd
Attempt to standardize error message display.
2016-10-30 17:51:45 +00:00
Mike Auty
824ad5b143
Add in the LimeStacker, and fix the lack of appropriate information on LimeLayer creation.
2016-08-26 08:35:09 +01:00
Mike Auty
37dcbb88b0
Rework lime to use the new layer constructor, and factor out the header check.
2016-08-26 08:30:22 +01:00
Mike Auty
3dc161f9b4
Rework Translation Layers to tie more closely to configurations
...
This change is quite signficant, and requires that TranslationLayers
get all additional parameters that they need through their requirements.
These are now automatically enumerated and populated on object
construction based on the requirements, so should not require lots of
repetitive filling out of fields.
It does come with the downside that TranslationLayers can only be
contructed with a context (and appropiate config), but TLs in particular
always require a context (to contain the base layer) and blank configs
can be constructed relatively easily (convenience functions can be added
if necessary).
This allows configuration trees to be built up, and their configs
spliced into an existing config (as if it were being loaded from a
file).
Not all ConstructableRequirements use this method, since SymbolTables
(for example) do not have access to the context or config_path in order
to get to any parameters stored in the context's config. They therefore
are still passed their requirement values as __init__ parameters
instead.
2016-08-22 02:20:10 +01:00
Mike Auty
d3e63fbc1a
Rename update_configuration to build_configuration and return a standalone config.
2016-08-22 02:18:23 +01:00
Mike Auty
e54505701f
Refactor Memory into an interface.
2016-08-21 21:26:21 +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
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
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
43aba96e3f
Minor pylint (alphabetical imports) and refactoring the construct class to work for symbols.
2016-07-30 01:58: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
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
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
98fff4616c
Add in linted spacing by pycharm.
2016-07-02 14:55:52 +01:00
Mike Auty
5290baf73d
Make InvalidAddress exceptions more useful.
2016-07-02 13:31:36 +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
Mike Auty
9faa13820a
Since we're a forensics program, make sure we only read unless we know the user REALLY wants to write.
2016-05-22 19:21:24 +01:00
Mike Auty
7a62e74996
Refactor the translation method out of the TranslationLayer, since it's not always applicable/useful. Contemplate a rename of the TranslationLayer now it doesn't actually translate. 5;)
2016-04-10 11:54:32 +01:00
Mike Auty
03cb131260
Add a priority ordering for testing layers (high priority trumps lower priority).
2016-01-21 00:06:39 +01:00
Mike Auty
139a6b610e
Add in an appropriate requirement for BufferLayers.
2016-01-16 22:20:10 +00:00
Mike Auty
00660f2a2b
Refactor requirements to their own file.
2016-01-16 21:04:41 +00:00
Mike Auty
b36d84ab0d
Move metadata to providers variable, and genericize the rudimentary resolver.
2016-01-15 01:50:02 +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
d2730fc95f
Ensure the swap_layer is optional for intel spaces.
2016-01-13 00:11:50 +00:00
Mike Auty
89fa79503c
Fix typo in intel space, and ensure inheritted classes accept the same arguments.
2016-01-11 00:02:53 +00:00
Mike Auty
bef0689982
Add in constraints for dependency solving.
2016-01-04 01:17:23 +00:00
Mike Auty
ee42751055
Fix up test_rig.
2015-12-30 23:21:41 +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
bcbfee9016
Refactor the validity function names to make it easier for autocomplete to find.
2015-12-29 22:24:32 +00:00
Mike Auty
595e2faeb4
Start including configuration into the data layers.
2015-12-29 22:22:31 +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
38d20199b3
Bulk out the config/inputs code.
2015-04-07 13:36:13 -05:00
Mike Auty
a27a68de4b
Add support for finalizing DataLayers once we're done using them.
2015-02-09 22:25:36 +00:00
Mike Auty
119accb10c
Add a length parameter to is_valid to check whether whole blocks are valid or not.
2015-01-05 18:40:33 +00:00
Mike Auty
44a375e720
Match the abstract property of the interface.
2015-01-04 21:21:34 +00:00
Mike Auty
73bd451759
Minor pylinting across the whole project.
2015-01-04 21:14:17 +00:00
Mike Auty
62e46c194d
Eliminate the *args, **kwargs from the intel translation layer code.
2015-01-04 04:59:14 +00:00
Mike Auty
21109c8eca
Revert "Remove the need for **magic from the intel translation layer."
...
This reverts commit c8dee9f827 .
2015-01-04 04:57:30 +00:00
Mike Auty
c8dee9f827
Remove the need for **magic from the intel translation layer.
2015-01-04 04:56:02 +00:00
Mike Auty
0046ffc0d7
Fix critical typo in intel translation layer.
2015-01-04 04:55:39 +00:00