Commit Graph
251 Commits
Author SHA1 Message Date
Mike Auty 9e042ad1ce Ensure we use configured paths at import.
Previously if submodules were imported after the plugin/symbol __path__s had
been set, it would only use the __path__s from the constants module.

We now use the parent module's __path__s to ensure we get the right
sub__path__s.

This seems better/more flexible than changing the original constants
(since they'd no longer be constant) and allows people more chance to
override things.  It brings with it potential confusion as a local
plugin directory will need __init__ files with this magic to allow the
core modules to run (since they come first in the path list).
2019-11-04 19:42:24 +00:00
Mike Auty 2603c29ff7 Statistics: Record unexpected page errors. Fixes issue #102. 2019-10-24 20:59:12 +01:00
Mike Auty e0b9d72c84 Update the license URL and LICENSE.txt 2019-09-25 21:44:05 +01:00
Mike Auty 72567e1c50 Yapf-0.28.0 rerun across the whole codebase. 2019-09-21 21:08:23 +01:00
Mike Auty f872aa3390 Revert "Add in no-dump option to certificates plugin."
Arg, too much mind changing.  This option would make sense if the
certificates plugin returned much useful information, but parsing
certificates isn't easy in with just stdlib, and therefore dumping the
certificates is the most sensible thing for this plugin to do (meaning
no need for a no-dump option).

This reverts commit 5491825652.
2019-09-17 16:59:50 +01:00
Mike Auty 444fd5451b Add in no-dump option to certificates plugin. 2019-09-17 16:59:50 +01:00
Mike Auty 83e113dad0 Revert "Provide a more user friendly filename."
As Dave pointed out in the pull request, "User" assumes only one user
and not multiple hives.

This reverts commit a802ecab86.
2019-09-17 16:59:50 +01:00
Mike Auty 1b953e3c80 Provide a more user friendly filename. 2019-09-17 16:59:50 +01:00
superponibleandikelos b6b2275c13 add hive_offset to crt filenames 2019-09-17 16:59:50 +01:00
superponibleandikelos 2e4a8c7247 add user level hives for certificates 2019-09-17 16:59:50 +01:00
superponibleandikelos 2053d957bc update docstring copied from printkey 2019-09-17 16:59:50 +01:00
Mike Auty c6cdbc7342 Move the hive_iterator to HiveList, since it's more intuitively where it should live. 2019-09-17 16:59:50 +01:00
Mike Auty 46c047b7b3 Update API slightly to return objects not strings. 2019-09-17 16:59:50 +01:00
Mike Auty f2220e16b9 Add in initial attempt at certificate plugin. 2019-09-17 16:59:50 +01:00
Mike Auty e922cef316 Improve docstrings for all plugins, and reformat all docstrings. 2019-09-07 22:59:54 +01:00
Mike Auty 9cde94bceb Change the license blurb on all files. 2019-08-27 23:11:00 +01:00
Mike Auty 272224a1b0 Refactor all references to Context.memory to Context.layers. 2019-07-07 17:42:51 +01:00
Mike Auty 040da46deb Fix up the descriptions for non-simple requirements. 2019-01-03 00:39:53 +00:00
Mike Auty fdc6efc4ad Add in the LICENSE and the README. 2018-12-19 23:55:03 +00:00
Mike Auty e65a00894a Minor style tweaks and mass changes across the codebase because of it. 2018-12-17 12:46:14 +00:00
Mike Auty 19572b6e1e Reformat all python files using yapf with custom volatility style. 2018-12-16 16:50:17 +00:00
Mike Auty 4bf995059b Improve documentation for __init__ files. 2018-12-16 14:06:47 +00:00
Mike Auty 35ad2325a8 Move all core plugins over to framework/plugins.
This should have no impact functionality-wise.
The statistics plugin was left out a) as an example and b) because it
was committed by mistake in the first place and was never meant to be a
real plugin.
2018-12-16 13:40:15 +00:00
Mike Auty 9824538bd9 Numerous pycharm warnings resolved
This includes:

* Better ways of checking empty lists
* Not shadowing builtin functions like filter
* Preventing invalid slash warnings by marking strings as regexps
* Removing unnecessary brackets
* Lowercase variable names
* Adding/updating parameters in docstrings
* Removing unused code (lines not chunks)
* Change in not a member tests
* Changing some methods to static
* Shorting range membership checks
* Missing parameters
* Make some exception handlers more specific
* Don't define a lambda to a variable
* A few more instance checks to help type checkers
2018-12-16 13:21:06 +00:00
Mike Auty 29d41470a4 Mass reformat of typing imports
Relented on the strict import of direct objects/classes for the typing
module only.  Typing module components can be directly imported because
it makes the code really painful to read and write otherwise.

This is still in-line with the python style guide adopted from Google at
http://google.github.io/styleguide/pyguide.html section 2.2.
2018-12-16 13:04:22 +00:00
Mike Auty 8c7cab163b Minor fixes from the monkeytype run. 2018-12-13 23:49:24 +00:00
Mike Auty dfe2f86fe2 Lots and lots of typing additions found by an initial monkeytype run. 2018-12-13 23:46:37 +00:00
Mike Auty 04c5007fbb Fix minor issue with the conversion change. 2018-12-13 21:38:20 +00:00
Mike Auty a16fb3bf7d Don't break on validity tests. 2018-12-13 01:16:05 +00:00
Mike Auty 76264cee34 Catch invalid _OBJECT_HEADER objects. 2018-12-13 01:16:05 +00:00
Michael Lighandikelos 650a188d51 updates for win8/win10 poolscanning 2018-12-13 01:16:05 +00:00
Mike Auty fa033b8ab7 Back out the symbol_table_name parameter, and provide full symbol names in the constraints. 2018-12-13 01:16:05 +00:00
Mike Auty eacc45dab6 Ensure POOL_HEADER finds the right object in the right symbol table. 2018-12-13 01:16:05 +00:00
Michael Lighandikelos 4c68da8b06 move the functionality for getting an object's type into the _OBJECT_HEADER extension 2018-12-13 01:16:05 +00:00
Michael Lighandikelos 4b0e7e5309 remove the Path column from poolscanner. add File scanning 2018-12-13 01:16:05 +00:00
Michael Lighandikelos d653839359 switch Handles.find_cookie() to a classmethod so it can be called from the poolscanner. add typing 2018-12-13 01:16:05 +00:00
Michael Lighandikelos d667a68f97 switch Handles.list_objects() to a classmethod so it can be called from the poolscanner. pass the type_map into get_object() 2018-12-13 01:16:05 +00:00
Michael Lighandikelos a76d71a7dc move the functionality for getting an object's type into the _OBJECT_HEADER extension 2018-12-13 01:16:05 +00:00
Mike Auty 8acbe8bba3 Refactor conversion code from objects.utility to a conversion module in renderers. 2018-12-12 23:39:10 +00:00
Mike Auty 1a5c9d3af8 Roll symbols.utility into symbols file until we get enough functions we need to split them out again. 2018-12-12 23:38:01 +00:00
Mike Auty f57bfa5738 Prepare core plugins for moving into the framework namespace. 2018-12-09 13:32:32 +00:00
Mike Auty 341b9b8f9e Add in initial changes for scanner sections. 2018-12-07 01:47:16 +00:00
Mike Auty 36cc973d6d Fix up minor typo in the plugin help. 2018-11-04 22:43:46 +00:00
Mike Auty e6711f580d Add required poolheader types and change the PoolHeaderSymbolTable to match the inheritted constructor signature. 2018-10-24 19:31:22 +01:00
Mike Auty ff3bae0804 Fix up typing information. 2018-10-14 23:03:58 +01:00
Mike Auty df57ee5045 Fix minor typo in poolscanner logic (thanks mypy!). 2018-10-10 15:32:28 +01:00
Mike Auty e500e87fc6 Add in type annotations for the poolscanner plugin. 2018-10-05 00:20:44 +01:00
Mike Auty d829028a36 Apply various type annotation/bug fixes. 2018-10-05 00:16:42 +01:00
Mike Auty 2943ae1dc6 Fix up another exception gone rogue. 2018-10-04 02:13:40 +01:00
Mike Auty f044569613 Fix up catching the wrong exception type (and the lack of context). 2018-10-04 02:07:33 +01:00