Commit Graph
862 Commits
Author SHA1 Message Date
Mike Auty ffe2907fa0 Minor typing fix. 2018-05-01 21:22:26 +01:00
Mike Auty 4dbfdcc9dd Fix up typing and metadata usage. 2018-05-01 21:21:12 +01:00
Mike Auty 9512cbe9eb Commit metadata changeset.
Layers now accept metadata dictionaries (and chain/stack them on top of
those from lower layers).  Metadata can only be set at construction
time, and the metadata dictionary is readonly.  The hope is this will
make enumerating metadata keys across the codebase simpler.

The current metadata items that layers hold is:

architecture (Unknown | Intel32 | Intel64)
os (Unknown | Windows | Linux)
pae (bool)
page_map_offset (int)

This patchset may develop further to help enumerate all of these
(through a registration/reporting system).
2018-04-26 12:48:14 +01:00
Mike Auty 556fa29ada Deprecate/remove 'provides' attribute. 2018-04-26 12:31:33 +01:00
Mike Auty 623180ddbd Make many typing fixes, based on mypy-0.590. 2018-04-22 20:45:59 +01:00
Mike Auty 59283ad892 Refactor SimpleTypes to BaseTypes since we've added Disassembly. 2018-04-15 15:39:48 +01:00
Mike Auty fbc8a9ce12 Move the text renderer to cli directory. 2018-04-15 00:15:50 +01:00
Mike Auty f25d059d49 Add in file producer/consumer API. 2018-04-14 19:51:49 +01:00
Mike Auty 90641befd2 Remove the TZ*Values and rely on datetime.datetime directly. 2018-04-12 15:43:02 +01:00
Mike Auty 6402c94078 Rework IntermediateSymbolFile loading to a classmethod. 2018-04-12 15:15:25 +01:00
Mike Auty 6fdf577058 Fix up another typing warning. 2018-04-12 14:57:10 +01:00
Mike Auty 66af2f16de Fix more typing issues. 2018-04-12 14:09:11 +01:00
Mike Auty c758c249d0 Fix classing issue introduced by recent pickling work. 2018-04-11 20:54:48 +01:00
Mike Auty 2e50cde2e7 Fix minor typing issues. 2018-04-11 20:50:11 +01:00
Mike Auty 8ac434ade9 Merge branch 'master' of github.com:volatilityfoundation/volatility3 2018-04-11 15:39:38 +01:00
Mike Auty 133eb916cf Handle bad unix timestamps. 2018-04-11 15:39:32 +01:00
Michael Ligh aa774ffca6 Refs #21 fix vadinfo's get_private_memory() on 10.0.14393.x 2018-04-11 09:24:02 -05:00
Mike Auty 470b8e1bea More typing updates to allow for string subtypes. 2018-04-11 09:34:09 +01:00
Mike Auty 3fc17f16bd Change the type for array of pointers to accept any object. 2018-04-11 09:25:47 +01:00
Mike Auty 1f733e7dc4 Make sure we don't get in a getattr loop.
This appears to get in a loop when it's been unpickled by
multiprocessing.  My guess is that it's trying to set _concrete_members
without it being done in __init__ and there gets in a loop.

We ensure then when doing a look-up inside __getattr__, it happens using
__getattribute__.
2018-04-08 23:28:14 +01:00
Mike Auty d8f497eb71 Allow unpickling of PrimitiveObjects. 2018-04-08 22:25:46 +01:00
Mike Auty 3f9657a2e1 Remove unnecessary type information given it's in the function signature. 2018-04-04 00:41:43 +01:00
Mike Auty 1bae0f26c9 Make sure we don't get in getattr loops. 2018-04-04 00:40:30 +01:00
Mike Auty e0a4ada363 Allow sorting of treegrid columns involving datetimes and BaseAbsentValues. 2018-04-02 18:15:35 +01:00
Mike Auty b8aba83e85 Improve quicktext renderer to support trees. 2018-04-02 13:42:31 +01:00
Mike Auty 4b6b68cf2c Fix up a typo that accidentally got introduced. 2018-04-02 02:20:16 +01:00
Mike Auty e1fed0af20 Rejig configuration deleting again
Had second thoughts and deletion should only remove data, not sub
hierarchies.  If the entire hierarchy needs clearing out, it'll need to
be done manually, or by splicing in an empty HierarchicalDict.
2018-04-02 02:18:20 +01:00
Mike Auty 5938254c3c Add caching to the stack automagic in case it's reused. 2018-04-02 02:13:59 +01:00
Mike Auty a815e39a0c Fix up the configuration deletion logic. 2018-04-02 02:13:39 +01:00
Mike Auty 19236199b1 Refactor stacking and move the automagic location to a constant. 2018-04-02 02:09:56 +01:00
Mike Auty 0d075e6ee3 Fix major (but easily missable) bug in the configuration system. 2018-04-01 22:54:28 +01:00
Mike Auty 050b5539c0 Add missing import. 2018-03-25 18:20:22 +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 10f65a67c8 Ensure the config/branch methods always return. 2018-03-25 18:13:41 +01:00
Mike Auty d8cdd79843 Add in pointer is_readable method to check if the pointer would translate properly. 2018-03-24 11:00:22 +00:00
Mike Auty b824daf322 Rejig text output to allow for progress callbacks. 2018-03-24 00:31:20 +00:00
Mike Auty efada8a15f Bring relative_child_offset typing in line with practice. 2018-03-23 16:04:03 +00: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 470c139e81 Throw swap exceptions if the page is supposed to be swapped out, but the swap layer can't be found. 2018-03-23 00:48:28 +00:00
Mike Auty 6482059521 Fix up typing issues identified by mypy. 2018-03-22 00:44:49 +00:00
Mike Auty 937fc5a289 Ensure that passing a type to be constructed doesn't wipe out pre-configured information. 2018-03-21 18:48:57 +00:00
Dave Lassalleandikelos 1ae43783aa create utility function for converting windows timestamps 2018-03-21 18:42:38 +00:00
Mike Auty 2522d588ea Pylinting and typing fix. 2018-03-21 17:04:10 +00:00
Mike Auty e133509ea8 Fix broken type resolution
The introduction of symbol resolution required subresolving "unnamed"
(symbol named) types.  The resolution system was changed to pass
constructed objects rather than names, which prevented the referencing
from working properly.  This commit changes that bit back and creates a
temporary *type* in the _resolved list for the symbol, then restores
whatever was there before.

We restore it so that people don't get used to looking up symbols using
get_type (we may revisit this decision).
2018-03-21 15:32:09 +00:00
Mike Auty 66b64e5dfa Ensure symbol types are recursively resolved. 2018-03-20 23:53:13 +00:00
Mike Auty c6a58ffc06 Fix up sphinx warnings. 2018-03-20 22:30:05 +00:00
Mike Auty ccb1903003 Fix up Symbol.name issue as spotted by npetroni. 2018-03-20 17:22:38 +00:00
Mike Auty b730a24768 Hard dependency on 3.5.3 or above, due to broken 3.5.2 typing library. 2018-03-20 17:02:42 +00:00