Commit Graph
807 Commits
Author SHA1 Message Date
Mike Auty 23fd704027 Add in the kernel offset recursion code. 2016-12-04 01:00:37 +00:00
Mike Auty 9a3402ccff Fix the incorrect signature offset returned. 2016-12-03 21:39:04 +00:00
Mike Auty e4e563ead0 Fix up the array slicing code. 2016-12-03 00:23:00 +00:00
Mike Auty 70815b0837 Shift the location of the pdbscan prefix/suffix values. 2016-12-02 21:44:23 +00:00
Mike Auty ed552d20e8 Add in support for lzma compressed json data. 2016-12-02 01:34:07 +00:00
Mike Auty c86f0ddef4 Add in a very rudimentary kernel PDB finding plugin that identifies and automatically loads the appropriate kernel for the image. 2016-11-27 23:40:19 +00:00
Mike Auty b2c3c76954 Don't forget the fixes that still need to happen. 2016-11-19 23:41:35 +00:00
Mike Auty 72259008f3 Use the physical layer and improve the output.
The physical layer will miss certain patterns, but is an order of
magnitude faster at scanning.  The main amount of time spent in scanning
Intel spaces is counting through every page in the address space (32, 40
or 64 bits), not the actual scanning.  There's no real way around this
if you want to ensure you get every chunk of virtual memory.  Since the
scanner could be stopped after its first hit, this might still be
preferable, but should not be the default (particularly for an automagic
scan).
2016-11-19 23:36:48 +00:00
Mike Auty d2fcc1d4b0 Add in optimization technique to reduce the number of pages that are scanned more than once. 2016-11-19 23:34:08 +00:00
Mike Auty c9abd290ec Remove an unnecessary test from the intel scan loop. 2016-11-19 18:05:41 +00:00
Mike Auty 38b1c61acc Remove debugging values from the pdb scanner. 2016-11-18 17:18:50 +00:00
Mike Auty 3c181e940e Tidy up to use a single method for reading from the context. 2016-11-18 17:18:30 +00:00
Mike Auty f707c0c4e9 Add in first shot at an 'efficient' virtual memory scanner. Uses page misses to calculate skipping distances. 2016-11-18 17:14:48 +00:00
Mike Auty 096e2f4610 Make the paged exceptions more useful at knowing how big an area is unavailable. 2016-11-18 11:40:48 +00:00
Mike Auty f688af529b Initial commit of pdb kernel scanning automagic code. 2016-11-18 11:39:55 +00:00
Mike Auty 282eaa7f00 Improve/remove unnecessary imports. 2016-11-07 12:26:06 +00:00
Mike Auty 62fb752c82 Add in validation caching for JSON schema use and only record success when actual validation occurs. 2016-11-07 01:17:08 +00:00
Mike Auty 96a7a56edd Commit the initial JSON schema for the intermediate format. 2016-11-06 01:48:01 +00:00
Mike Auty 7b12483719 Change version to format and move the delegate function factory outside of the class. 2016-11-06 01:33:51 +00:00
Mike Auty f0c6b0d1a4 Merge branch 'master' of github.com:volatilityfoundation/volatility3 2016-11-04 18:09:04 +00:00
Mike Auty 2dba1bbddd Update wording to clarify the different between package version and interface version. 2016-11-04 17:56:58 +00:00
Mike Auty 11d60b9f7f Update the accepted format version. 2016-11-03 01:03:38 +00:00
Mike Auty 28fdbbe348 Refactor the pdb names, to make the class more generic. 2016-11-03 00:53:08 +00:00
Mike Auty df2172754c Refactor the pdbscanning code so it doesn't sneak into the library accidentally. 2016-11-01 23:32:12 +00:00
Mike Auty d6039fb899 Initial port of npetroni's pdbscanner (with bugfix for multiple RDRS entries in a single scan chunk). 2016-11-01 02:06:08 +00:00
Mike Auty d57733d530 Add in support for format versioning. 2016-11-01 01:33:44 +00:00
Mike Auty dc375024b2 Set the version back, given we're early enough to do so. 2016-11-01 00:41:20 +00:00
Mike Auty 667014a1fd Attempt to standardize error message display. 2016-10-30 17:51:45 +00:00
Mike Auty f771de3703 Tidy up error messages. 2016-10-30 17:07:48 +00:00
Mike Auty d1b58143fe Add in UnresolvedTemplate type.
This template type allows objects that have not been able to be resolved
to exist within the symbol system.  It emits a debug message on creation
so that intermediate format developers can identify potential issues,
but does not raise an exception so as to allow partial tables to be
used.

If the UnresolvedTemplate is called (to create an object) before the
symbol has been added to the symbolspace, it will fail with a
SymbolError (as thrown by the individual SymbolTable).  For this reason,
the class has been made private to the SymbolSpace class to prevent
unexpected use.
2016-10-30 16:54:12 +00:00
Mike Auty 287baeb03a Add in rudimentary symbol support to the intermediate format. 2016-10-26 01:49:52 +01:00
Mike Auty 6f1bdcb6cb Refactor symbol.offset to symbol.address. 2016-10-26 01:42:37 +01:00
Mike Auty 6b405383c4 Refactor targets to subtypes. 2016-10-26 01:24:58 +01:00
Mike Auty 50f5a5ddb7 Fix up broken vtypes that looks like it might never have worked. 2016-10-26 01:16:25 +01:00
Mike Auty 5f0ceff4d2 Fix up the broken vtypes conversion by translating between the names. 2016-10-26 01:16:07 +01:00
Mike Auty 0b447b6958 Initial implementation of the Intermediate Format, breaks the vtypes format and needs a lot of tidying. 2016-10-26 01:09:29 +01:00
Mike Auty d232be2f6e Try to update the generic dtb finder to rule out false positives. 2016-10-01 22:13:42 +01:00
Mike Auty 1a83470993 Convert dtbfinder to a standalone app.
This is in development so that it's clearly not production code
(and should not expect to be supported as such).
2016-09-25 19:33:04 +01: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 fbe3682592 Allow stack functions to return None as a failure response. 2016-08-26 08:29:45 +01:00
Mike Auty 32bdeafa8a Improve the stacker to append the generated stack configuration into the original context. 2016-08-24 01:31:45 +01:00
Mike Auty 721d5ade3f Give the LowestLayer a proper name in the interim configs, and ensure it's in the stack. 2016-08-24 01:30:32 +01:00
Mike Auty 04b760ee3e Increase the priority so this is always run first, and we're going to use the requirement variable. 2016-08-24 01:29:53 +01:00
Mike Auty 9959697ba5 Move where the rescursion into TranslationLayers happens. 2016-08-24 01:29:11 +01:00
Mike Auty f3bc1d30b3 Refactor the build_configuration in Layers so that even data layers get their requirements populated. 2016-08-24 01:14:34 +01:00
Mike Auty 4d7701be66 Fix the config printer to sort the values. 2016-08-24 01:13:38 +01:00
Mike Auty 6b47b992a7 Ensure splice requirement perpetuates down the HierarchicalDict. 2016-08-24 01:13:20 +01:00
Mike Auty 341ae950b8 Ensure configurations do not include any generated values (ie TranslationLayer/SymbolLayer names) 2016-08-24 01:12:43 +01:00
Mike Auty 01616af655 Remove comment, it's already been converted. 2016-08-24 01:11:46 +01:00