Commit Graph

  • c5cd3595de Fix up minor typo and hard depend on >= python 3.4. Mike Auty 2016-12-25 13:44:03 +00:00
  • 60bf657895 Allow pickling of FileLayers by unsetting the file (it'll be reopened as soon as a read happens). Mike Auty 2016-12-25 00:02:42 +00:00
  • e230bbf6a8 Ensure we don't ever get in a loop looking up ._vol (could happen when pickling/unpickling). Mike Auty 2016-12-25 00:02:11 +00:00
  • d51dd2a992 Add in TODOs for future heuristic enhancements. Mike Auty 2016-12-24 19:44:06 +00:00
  • 6a0b0d71c0 Remove debugging code that shouldn't have made it in the final code. Mike Auty 2016-12-24 19:41:58 +00:00
  • bea0a57942 Merge pull request #3 from npetroni/fix-pdbscan-utility ikelosandGitHub 2016-12-23 18:35:21 +00:00
  • 1b532a0b47 fix pdbscanner standalone utility -- scan() API changed Nick L. Petroni, Jr 2016-12-23 11:26:41 -05:00
  • 3aa187e293 Fix minor lint with docstring. Mike Auty 2016-12-22 16:00:58 +00:00
  • 23e61d9756 Add in a little more information to the debug log. Mike Auty 2016-12-22 16:00:46 +00:00
  • bbabf4db0e Add in a heuristic for finding the correct DTB on recent Win10. Mike Auty 2016-12-22 15:42:23 +00:00
  • 70314386c8 Fix a rather critical issue with the end condition for a scanned range (and reduce the overlap if it's unnecessarily large). Mike Auty 2016-12-22 15:41:00 +00:00
  • d669b57546 Rewrite our fallback virtual kernel offset algorithm. Mike Auty 2016-12-21 16:54:35 +00:00
  • aad6aa9b4d Rewrite the intel scanning engine (and fix up the internal _translate function to include the mapped layer). Mike Auty 2016-12-21 16:53:52 +00:00
  • 9ca001df8b Allow start/end positions on the pdb scanning. Mike Auty 2016-12-21 02:28:03 +00:00
  • 591d9eba27 Add in better bounds checking for the scan call. Mike Auty 2016-12-21 02:20:47 +00:00
  • 56388fc903 Fix up the incorrect scanning boundaries. Mike Auty 2016-12-21 01:45:44 +00:00
  • 76f435e519 Update schemas to be more strict on providing all the required information. Mike Auty 2016-12-20 10:49:23 +00:00
  • c6d5eef2f9 Fix up a documentation warning. Mike Auty 2016-12-20 09:00:17 +00:00
  • 7a1fcec1b5 Change subtype to base_type to match the __init__ parameter name. Mike Auty 2016-12-20 08:31:01 +00:00
  • 1e6911b753 Create appropriate VolTemplateProxy classes for BitField and Enumeration. Mike Auty 2016-12-20 08:29:41 +00:00
  • a7d3a95ad0 Fix BitFields (and Enumerations) to accept only Integer basetypes and derive from them properly. Mike Auty 2016-12-20 08:25:55 +00:00
  • 60c3fbc5ce Don't cache failures and add additional logging for the long schema validation pause. Mike Auty 2016-12-19 21:49:14 +00:00
  • bb00ac03a0 Merge pull request #2 from ikelos/python3-doc-theme ikelosandGitHub 2016-12-19 09:29:39 +00:00
  • bbb07b49c0 Ensure we enforce requirements on the schemas (these should always have been in place, so no version bumps). Mike Auty 2016-12-18 22:10:01 +00:00
  • 0f548e864c Add in comment in case of mutability trouble in the Struct TemplateProxy. Mike Auty 2016-12-18 20:52:38 +00:00
  • 2323e15ec3 Clarify in the documentation that these updates are transient. Mike Auty 2016-12-18 19:38:22 +00:00
  • be075939d2 Remove flags as a fully-fledged object until it's been discussed Mike Auty 2016-12-18 19:38:05 +00:00
  • a8b4db3ee3 Don't forget to also clone during intermediate format native creation. Mike Auty 2016-12-18 19:25:27 +00:00
  • 09ee0e6258 Fix fairly deep flaw where resolved templates could be modified by casting or creating an object. Mike Auty 2016-12-18 19:21:27 +00:00
  • 1754f3bc85 Attempt to fix up any possible re-encoding issues the str() call in the renderer might bring. Mike Auty 2016-12-18 16:58:58 +00:00
  • 190bcd7bf1 Include an initial flags object. Mike Auty 2016-12-18 16:29:19 +00:00
  • 54678823f8 Refactor BitField subtype to base_type to match enums (and fix a minor enum typo too). Mike Auty 2016-12-18 16:12:08 +00:00
  • 45d37bb961 Remove misleading TODO. Mike Auty 2016-12-18 15:52:03 +00:00
  • efad3362db Reset the string encoding changes, since we were doing it right the first time. Mike Auty 2016-12-18 15:51:27 +00:00
  • 6f1a929f88 Refactor the location of windows extension classes. Mike Auty 2016-12-18 15:38:46 +00:00
  • e4905febf9 Ensure all objects can be inherited from. Mike Auty 2016-12-18 15:38:11 +00:00
  • 6102054bb6 Enable string encoding and emphasize that max_length applies to bytes in memory not to number of characters in the string. Mike Auty 2016-12-18 15:37:05 +00:00
  • 65ef2927a3 Refactor the enumeration_choices code into the existing weak_resolve code. Mike Auty 2016-12-18 02:53:07 +00:00
  • b2701d7ba6 Update inaccurate error message. Mike Auty 2016-12-18 02:48:46 +00:00
  • cf4ac3a7f6 Allow enumeration dictionaries to be accessed through the SymbolSpace directly. Mike Auty 2016-12-18 02:48:23 +00:00
  • 6b973f1538 Expose VolTemplateProxy.vol values in the Proxy (to allow for enumeration access in a template). Mike Auty 2016-12-18 02:19:46 +00:00
  • fbb66e6603 Support inverse caching of enumerations. Mike Auty 2016-12-18 02:10:42 +00:00
  • 4ac682fc42 Rename Enumeration subtype to base_type, since it should always be a primitive. Mike Auty 2016-12-18 02:07:11 +00:00
  • bd3762a81c Improve exception returns in TemplateProxy. Mike Auty 2016-12-18 01:49:09 +00:00
  • 5f6c9ca08a Add in support for version 2.0.0 of the JSON schema. Mike Auty 2016-12-17 21:03:54 +00:00
  • 8a687ef409 Ensure we include the natives in the Intermed type lists. Mike Auty 2016-12-16 00:26:22 +00:00
  • 884e397836 Update Enumeration objects again, hopefully correctly this time. Mike Auty 2016-12-15 23:04:51 +00:00
  • ac6a5a2b9a Ensure that we use a reasonable type for enumerations when constructing them without further details. Mike Auty 2016-12-15 23:04:23 +00:00
  • 7719aaa960 Convert the validity functions to class functions to allow them to be used in __new__ methods. Mike Auty 2016-12-15 23:03:48 +00:00
  • bf61357ed2 Don't forget to call super's struct_format. Mike Auty 2016-12-15 09:06:05 +00:00
  • de58df2363 Fix negation flip that returned entirely the wrong values for arrays. Mike Auty 2016-12-15 02:07:25 +00:00
  • d3f6a40d66 Change the docstrings to use name rather than entry for enumerations. Mike Auty 2016-12-15 02:07:03 +00:00
  • de18fe234c Add in an implementation for Enumeration for testing. Mike Auty 2016-12-15 02:02:30 +00:00
  • 698d1c2b4a Improve the granularity of logging. Mike Auty 2016-12-15 01:38:24 +00:00
  • b686c65c9e Rework array slicing to piggy-back off python's code. Mike Auty 2016-12-14 23:26:31 +00:00
  • 30fe381d00 Don't do work we don't have to. Mike Auty 2016-12-14 09:26:15 +00:00
  • 6b4e80f1e5 Take a tiny bit longer, but properly check all the kernels in case a match is hiding later in the list. Mike Auty 2016-12-14 01:54:50 +00:00
  • 90b024562f Rule out kernels that couldn't find a suitable MZ header. Mike Auty 2016-12-14 01:42:40 +00:00
  • cad0cf2d4f Improve vmware segment calculations. Mike Auty 2016-12-14 01:31:22 +00:00
  • 0f416b4765 Improve logging from the stacker. Mike Auty 2016-12-14 01:30:30 +00:00
  • eec68707bd Improve the vmware layer (not sure it's finished yet though). Mike Auty 2016-12-14 00:28:05 +00:00
  • 2c60747355 Minor fix, small but might as well fix it. Mike Auty 2016-12-14 00:27:41 +00:00
  • 2c02df125a Fix the truncation of strings Mike Auty 2016-12-13 20:41:09 +00:00
  • a32c7e27a9 Add in cryptic comments nearly lost during the vtypes purge. Mike Auty 2016-12-13 19:40:18 +00:00
  • 058346b74d Ensure IntermediateSymbols can handle cross-table references. Mike Auty 2016-12-13 19:32:22 +00:00
  • a2eedd1972 Clarify the lack of validation if jsonschema fails to import. Mike Auty 2016-12-13 14:20:03 +00:00
  • fa427d2a2b Add in the starts of a vmware layer and stacker. Mike Auty 2016-12-13 02:21:15 +00:00
  • 584c566687 Plug the configuration saving/restoring into the CLI, roughly. Mike Auty 2016-12-12 02:10:56 +00:00
  • ed716ca12a Convert SymbolTableInterfaces to descend from ConfigurableInterface Mike Auty 2016-12-12 02:08:32 +00:00
  • d43b294f36 Ensure we store all relevant config values rather than just those stores as variables. Mike Auty 2016-12-12 02:07:48 +00:00
  • eae84fd8e0 Ensure we only stack when needed Mike Auty 2016-12-12 02:05:29 +00:00
  • 046d1955b5 Ensure that only unfulfilled symbol requirements trigger the pdb scanner. Mike Auty 2016-12-12 02:04:20 +00:00
  • e2d5f51ad5 Remove old and rotten code. Mike Auty 2016-12-12 00:25:03 +00:00
  • 21c4e4bdef Refactor the segmented layer out of lime for use with other layers. Mike Auty 2016-12-11 19:13:35 +00:00
  • b9dbc80baf Improve logging of automagic actitivies. Mike Auty 2016-12-11 18:16:02 +00:00
  • 5d15f810e1 Tidy up the config namespace around automagic a little. Mike Auty 2016-12-11 13:58:17 +00:00
  • e51c15ceb0 Add in rudimentary plugin selector. Mike Auty 2016-12-08 22:18:05 +00:00
  • 9bb0745b83 Clean up the debug messages for pdbscanning. Mike Auty 2016-12-08 16:29:36 +00:00
  • 2aebb99ee6 Slightly improve the output and get rid of pointless parameters. Mike Auty 2016-12-08 16:24:59 +00:00
  • 8a0609e800 Add in a secondary scan to determine the kernel base in randomized kernel base systems. Mike Auty 2016-12-08 16:23:04 +00:00
  • 13b1126b90 Guard against no progress_callback in intel layer. Mike Auty 2016-12-08 16:03:22 +00:00
  • 482516d93d Rework the kvo finding code to allow for Win10 kernel base randomization. Mike Auty 2016-12-08 14:56:32 +00:00
  • 555f587b15 Ensure the progress value for translation layer scanning is correct. Mike Auty 2016-12-08 12:08:42 +00:00
  • 631ae07a26 Insert a check to use valid kernels where a pdb signature is found in multiple locations. Mike Auty 2016-12-08 11:55:46 +00:00
  • 183ff67699 Attach the kernel virtual offset to intel spaces. Mike Auty 2016-12-07 16:00:31 +00:00
  • 1f6fcd7bad Ensure that the value of pointers always fall within their layer. Mike Auty 2016-12-07 09:52:33 +00:00
  • 797e51608e Move the masking code into the data layer. Mike Auty 2016-12-07 09:50:49 +00:00
  • 6cb5d06d6d Ensure all offsets are normalized to fall within their layer's address range. Mike Auty 2016-12-07 00:07:57 +00:00
  • 20d0e83e1d Ensure we don't ever round down when log-ing. Mike Auty 2016-12-07 00:05:47 +00:00
  • 734b9a68b8 Ensure we use math.log correctly. Mike Auty 2016-12-06 23:40:21 +00:00
  • 40694ff26c Add a note about precedence to the pdb loader. Mike Auty 2016-12-06 09:08:51 +00:00
  • a064c76628 Ensure we initialize kvo, change the filename format and give human readable feedback on the choice of natives. Mike Auty 2016-12-06 02:44:50 +00:00
  • 1c7de06bd0 Fix up issue with pointer sizes. Since cls is never used we're not losing information. Mike Auty 2016-12-06 02:44:11 +00:00
  • c52bf7cb6f Pull out the appropriate natives based on the intermediate format data. Mike Auty 2016-12-04 23:50:13 +00:00
  • 770a8ee42a Improve error handling to prevent endless recursion in template.__call__ Mike Auty 2016-12-04 11:17:48 +00:00
  • 05ae4aa64a Fix up offset for PAE. Mike Auty 2016-12-04 10:24:33 +00:00
  • d8b72cfc14 Add in checks and set the appropriate kernel location for all architectures. Mike Auty 2016-12-04 02:15:28 +00:00
  • a0f7c81128 Reveal the register size in intel spaces. Mike Auty 2016-12-04 02:14:54 +00:00
  • 4121895d4d Ensure the kernel virtual to physical offset mapping is correct. Mike Auty 2016-12-04 01:21:10 +00:00
  • 2d9992fb83 Quick patch the CLI to accept filenames for testing. Mike Auty 2016-12-04 01:03:26 +00:00