Commit Graph
263 Commits
Author SHA1 Message Date
Mike Auty 8ab1dedd44 Change the output to hide the ordering data, and fix up the standalone tool a little bit. 2016-02-26 20:36:57 +00:00
Mike Auty afd28575ca Re-check constraints when building the tree, in case they change. Also comment on why we don't use that when trimming the possibilties for windows automagic. 2016-02-25 22:03:49 +00:00
Mike Auty d6cc66cb77 Add in self referential checker, should windows change what it does. 2016-02-23 10:16:27 +00:00
Mike Auty 1fd8eecebd Ensure we take into account ignored/NX bits when DTB finding. 2016-02-23 10:15:50 +00: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 644a028ee4 Fix up the dtbfinder output a little. 2016-02-22 01:54:19 +00:00
Mike Auty 7ba06d0448 If we've tried scanning for the DTB, and we don't find in other arches, remove them as possibilities. 2016-02-22 01:47:09 +00:00
Mike Auty 187325f74e Convert the dtbfinding code into a standalone tool and remove the dtbfinder.py. 2016-02-22 01:46:36 +00:00
Mike Auty ff11f27c75 Fix up the automagic dtb finder to visit internal tree nodes, and to set the right variable! 2016-02-22 01:05:50 +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 ba9eb0716a Make output on requirement nodes a little more readable. 2016-02-22 01:03:41 +00:00
Mike Auty bacc8c5539 Move to a HierarchicalVisitor pattern. 2016-02-22 01:02:29 +00:00
Mike Auty a123572701 Add in debugging tools for the dependency tree. 2016-02-21 01:24:34 +00:00
Mike Auty 665ba8946b Fix a logic error in the resolver that meant it might not visit every node. 2016-02-21 01:19:42 +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 9d7e777c28 Fix up the validity class and enable short_circuiting. 2016-02-21 00:17:44 +00:00
Mike Auty 01ac22bac2 Ensure that the success or failure does not affect the ability for a visitor to change the shortcircuiting. 2016-02-20 23:35:16 +00:00
Mike Auty a9ff081da5 Fix a few bugs and re-add a visitor pattern for traversing the tree. 2016-02-20 23:01:41 +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 1e8c55bfdd Remove all the visitor pattern stuff, that's likely to bloat rather than help. 2016-02-20 21:35:31 +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 da7774ee92 Refactor and add in a node type for multiple requirements. Lays the groundwork for the hierarchical visitor pattern. 2016-02-20 20:19:36 +00:00
Mike Auty eab75146db Document the tests a little better. 2016-02-17 09:12:17 +00:00
Mike Auty 8d27260662 Apply initial attempt at an algorithm to narrow down to the DTB to the most privileged process (the top level table with the least user-accessible subchildren). 2016-02-16 10:51:22 +00:00
Mike Auty 35e2c4a247 Add in rudimentary string support for pslist, consider changing it to user an obejct_class rather than casting. 2016-02-14 02:51:48 +00:00
Mike Auty d7aefdce28 Add a comment explaining why we don't truncate strings on \x00. 2016-02-14 02:50:37 +00:00
Mike Auty 0ef389dec9 Tidy up Bytes and String to require all the appropriate parameters. 2016-02-14 02:49:28 +00:00
Mike Auty 86526fa9ad Separate out the object_info to make debugging easier in future. 2016-02-14 01:43:28 +00:00
Mike Auty 9c1dbf88e2 Change Bytes to not require a struct_format, since we generate it from the length parameter. 2016-02-14 01:43:09 +00:00
Mike Auty 9c9183feb2 API change: Alter cast to accept object parameters rather than inheriting (which usually will be wrong). 2016-02-14 01:40:25 +00:00
Mike Auty a8828d7185 Add Strings and Bytes to the native structure code. 2016-02-13 17:18:23 +00:00
Mike Auty a1f127940d Fix up the test_rig to work with a previous API change. 2016-02-13 17:17:45 +00:00
Mike Auty 34b8671ce3 Refactor basic to extensions for windows additions. 2016-02-13 17:17:10 +00:00
Mike Auty 66e526ab66 Do all the DTB checks in one pass. 2016-02-11 20:53:46 +00:00
Mike Auty 3fbc78b38c Fix up the renderer (and stop masking issues by printing in the generator). 2016-02-11 09:23:58 +00:00
Mike Auty d37163d881 Add in python minimum requirement checks. 2016-02-10 07:35:04 +00:00
Mike Auty 89252b8bef Get rid of potential DTBs with bad page bits (still need to find out what those mean). 2016-02-09 21:09:54 +00:00
Mike Auty a9ddf61e49 Push new DTB finder tests for pae, 32bit and 64bit. 2016-02-09 20:35:47 +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 bca8dc486d Allow sequences rather than just lists for TreeGrid yields. 2016-02-09 10:14:13 +00:00
Mike Auty 85487b4a02 Add in initial efforts at x64 dtb finding using the self-referential pointer. 2016-02-09 00:20:55 +00: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 a3d685c93a Ensure layers aren't provided more parameters than they need (in case the parameters were meant for a different potential provider. 2016-01-16 22:20:42 +00:00
Mike Auty 139a6b610e Add in an appropriate requirement for BufferLayers. 2016-01-16 22:20:10 +00:00
Mike Auty f197b43346 Tidy up the requirements and fudge the code to use only the virtual address space for now. 2016-01-16 22:02:20 +00:00
Mike Auty 211bbbe5f6 Ensure that symbol space providers correctly provision the space.
Also corrects failed importing using import_module from importlib.
2016-01-16 22:01:03 +00:00
Mike Auty 590304ed1f Improve debugging in the dependency resolver. 2016-01-16 22:00:16 +00:00
Mike Auty 78cd3c84c0 Add in a NativeSymbolTable validator. 2016-01-16 21:38:00 +00:00
Mike Auty 84815d204e Refactor and clarify exactly what the dependency resolver's doing.
Also includes requirements and a provider to support adding the
symbol spaces required for XP SP2.
2016-01-16 21:05:37 +00:00