Commit Graph
72 Commits
Author SHA1 Message Date
Mike Auty ff41d4e5b0 Improve config.json handling, making single_location optional but bypasses the stacker automagic. 2017-04-21 00:53:08 +01:00
Mike Auty b6b984503f Fix up help messages for plugins. 2017-04-21 00:52:06 +01:00
Mike Auty 67015f3316 Fix up default logging levels. 2017-04-20 23:48:56 +01:00
Mike Auty 96c414fb5f Refactor TextRenderer to QuickTextRenderer to ensure we don't forget that the output is speedy not nicely formatted. 2017-01-22 14:17:19 +00:00
Mike Auty 149e57afee Change the requirement validation system to return all unsatisfied requirements, to provide more feedback. 2017-01-08 17:26:09 +00:00
Mike Auty cafc09a6d3 Add dynmically generated command line parameters for the CLI.
Note this now requires the file to be specified with single-location,
it also requires a specific ordering of parameters.
2017-01-08 02:31:31 +00:00
Mike Auty 5fe078e487 Adapt Automagic to have requirements, and convert the Stacker's single_location parameter to make use of it. 2016-12-29 15:21:39 +00:00
Mike Auty 9399480f1a Add a chunk of documentation alphabetically. 2016-12-26 23:50:51 +00:00
Mike Auty bab71d4358 Refactor the progress_callback so it can be used in automagics.
Refactored the location of the progress_callback so that the UI can
specify it and ensure it is used by the automagics process as well as
the plugins themselves.

The progress_callback function has also had an optional description parameter
added, so that it can differentiated in case two scans happen
simultaneously.
2016-12-26 23:45:47 +00:00
Mike Auty bbabf4db0e Add in a heuristic for finding the correct DTB on recent Win10.
This removes again the single_page_map_offset configuration value,
and requires that a full/correct config be used to supply a manual DTB
value.

The expectation is that the single_page_map_offset feature be
re-introduced but override *all* scanning (so the scanning doesn't take
place even if the stacking does).
2016-12-22 15:44:07 +00:00
Mike Auty 698d1c2b4a Improve the granularity of logging. 2016-12-15 01:38:24 +00:00
Mike Auty 584c566687 Plug the configuration saving/restoring into the CLI, roughly. 2016-12-12 02:10:56 +00:00
Mike Auty 5d15f810e1 Tidy up the config namespace around automagic a little. 2016-12-11 13:58:17 +00:00
Mike Auty e51c15ceb0 Add in rudimentary plugin selector. 2016-12-08 22:18:05 +00:00
Mike Auty 2aebb99ee6 Slightly improve the output and get rid of pointless parameters. 2016-12-08 16:24:59 +00:00
Mike Auty 2d9992fb83 Quick patch the CLI to accept filenames for testing. 2016-12-04 01:03:26 +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 2dba1bbddd Update wording to clarify the different between package version and interface version. 2016-11-04 17:56:58 +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 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 eb9b2dcb79 Reduce the number of input variables need for the vol test CLI still to run. 2016-08-24 01:32:06 +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 b92ccd771f Fix up the DTB finder code and stick it all together. 2016-07-30 02:35:40 +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 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 2ae251b803 Remove argparse attempt until we're ready to bring it back. 2016-07-29 02:58:01 +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 9dbae9b84a Update for PAE image, rather than a second intel image. This one's private though. 2016-02-22 09:18:03 +00:00
Mike Auty 61d45c2c36 Add another demonstration image with handily the same system process offset, to demonstrate selecting PAE or 32bit. 2016-02-22 01:54:53 +00:00
Mike Auty 0298df3569 Convert visitors to HierarchicalVisitors, keeping a stack of children's results for the dependency resolver. 2016-02-22 01:05:16 +00:00
Mike Auty c6a3c2d6b1 Add in the automagic and allow mid-deptree resolution (without trying to re-fulfill already populated requirements). 2016-02-21 00:42:04 +00:00
Mike Auty 71b540f6db Draft up a system to tag the configuration tree with useful information based on the context so far. 2016-02-20 21:36:12 +00:00
Mike Auty ba2083fc7c Refactor the RequirementTreeNode to put it in the interfaces file. 2016-02-20 21:35:05 +00:00
Mike Auty 370a49a267 Add in a trivial renderer for testing the output system. 2016-02-09 10:14:53 +00:00
Mike Auty 78cd3c84c0 Add in a NativeSymbolTable validator. 2016-01-16 21:38:00 +00:00
Mike Auty 00660f2a2b Refactor requirements to their own file. 2016-01-16 21:04:41 +00:00
Mike Auty 1c2cb77ea3 Refactor the DataLayerDepResolver into just a generic DepResolver. 2016-01-15 01:47:58 +00:00
Mike Auty ade1e9057f Update documentation slightly. 2016-01-15 01:46:45 +00:00
Mike Auty 63fcb397e1 Refactor path variable to make it clearer. 2016-01-13 00:59:18 +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 415a0948a0 Rename the SCHEMA_NAME_DIVIDER, and ensure all paths are flat strings. 2016-01-12 23:44:55 +00:00
Mike Auty cb3f42f0e9 Rework the CLI a little to actually call the plugin, but the config system needs improving/fixing/rewriting. 5:S 2016-01-11 00:18:16 +00:00
Mike Auty 62eff8242d Include an initial version of the dependency resolver. 2016-01-11 00:03:54 +00:00
Mike Auty 3bf336df41 Rework the dependency section and contemplate how to thread it all together a little more. 2016-01-10 16:29:47 +00:00
Mike Auty 82a145200f Add in the next tasks for the dep resolver. 2016-01-10 12:36:28 +00:00
Mike Auty f49f047e55 Clear up the dependency resolver. 2016-01-05 23:26:20 +00:00
Mike Auty b2be217a13 Add in an initial draft of the dependency resolver
Some gotchas:

* Classes can't update attributes that they inherit, because the
  inheritance happens after class construction
* The dep resolver can go in circle if the constraints in a layer are
  too permissive
2016-01-04 01:17:51 +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 ede77815b1 Commit additional notes. 2015-12-02 02:18:41 +00:00