Commit Graph
260 Commits
Author SHA1 Message Date
Mike Auty f0a13c902e Make changes based on the view (mostly name clarification). 2019-07-30 22:14:19 +01:00
Mike Auty 4a7151a23f Ensure the 'stream not present' indicator is adhered to. 2019-07-30 22:14:19 +01:00
Mike Auty e729877d38 Better error handling in the MSF layer. 2019-07-30 22:14:19 +01:00
Mike Auty f9316626dd Improve typing issues with pdb code. 2019-07-30 22:14:19 +01:00
Mike Auty b501b5484b Don't forget to add the license headers. 2019-07-30 22:14:19 +01:00
Mike Auty a72314a2b2 Add in omap mapping and symbol support. 2019-07-30 22:14:19 +01:00
Mike Auty c97b05426a Add in LF_POINTER and rename the pdb.json file. 2019-07-30 22:14:19 +01:00
Mike Auty ecfbe46c7a Further work on the MSF/PDB code. 2019-07-30 22:14:19 +01:00
Mike Auty ff5b71672c Ensure the streams are the correct size. 2019-07-30 22:14:19 +01:00
Mike Auty 0690cf4459 Fix up to use layers rather than memory. 2019-07-30 22:14:19 +01:00
Mike Auty 0e1702af63 A few further changes to extracting streams. 2019-07-30 22:14:19 +01:00
Mike Auty 80c693a91a Add in MSF and Stream layer support. 2019-07-30 22:14:19 +01:00
Mike Auty 3da5f63393 Initial attempts at an MSF layer. 2019-07-30 22:14:19 +01:00
Mike Auty 230d32f569 Add in initial code for PDB reading. 2019-07-30 22:14:19 +01:00
Mike Auty 272224a1b0 Refactor all references to Context.memory to Context.layers. 2019-07-07 17:42:51 +01:00
Mike Auty cf5cf5cacd Add in caching just at the page read point of intel spaces. 2019-05-11 20:58:06 +01:00
Mike Auty 86a60985ec Revert "Add in poor man's lru_caching to see if it's the caching or lru_cache itself."
This reverts commit 48826a9051.
2019-05-11 20:52:45 +01:00
Mike Auty 48826a9051 Add in poor man's lru_caching to see if it's the caching or lru_cache itself. 2019-05-11 20:33:18 +01:00
Mike Auty 2d939a7ddb Fix syntax error. 2019-05-11 20:32:21 +01:00
Mike Auty 9378c445db lru_cache just seems to break file reading. 2019-05-09 01:56:17 +01:00
Mike Auty 488b9be2ba Attempt to apply lru_cache but without using staticmethod. 2019-05-09 01:43:00 +01:00
Mike Auty a87d3c0dad Make sure the separation of read isn't the issue. 2019-05-09 01:05:34 +01:00
Mike Auty df4c81a7c0 Trade off memory for disk reads (take 2). 2019-05-09 00:49:36 +01:00
Mike Auty d0ff961ed1 Revert "Trade off memory for disk reads."
This reverts commit 20c609b180.
2019-05-09 00:06:07 +01:00
Mike Auty 20c609b180 Trade off memory for disk reads. 2019-05-08 23:47:02 +01:00
Mike Auty 4bf0a97703 Revert "Refactor the ordering of things in CrashDump initializer."
Allowed a configuration to be accessed before full initialization, so no
need for CrashDump changes.

This reverts commit ac57255b23.
2019-04-27 22:06:58 +01:00
Mike Auty ac57255b23 Refactor the ordering of things in CrashDump initializer. 2019-04-27 21:38:01 +01:00
Mike Auty cc3a9ea4d8 Fix locking type issue. 2019-04-05 14:50:22 +01:00
Mike Auty ebadd4fbd6 Remove redundant load of segments by the lime layer. 2019-03-03 13:09:49 +00:00
Mike Auty 7c9696def9 Minor fixes for typing and imports. 2019-03-02 22:45:39 +00:00
Mike Auty d4045c9c13 Significant fix for reading from the start of SegmentedLayers (including Lime) when ignoring errors. 2019-03-02 22:44:51 +00:00
Mike Auty 33a9db6b9f Make parallelism options more well defined. 2019-03-02 18:52:02 +00:00
Mike Auty 9fadee1a17 Add locking for threaded operation. 2019-03-02 18:07:48 +00:00
Mike Auty 6b3eef4083 Additional optimization by extracting the struct calls from the intel translation methods. 2019-02-14 23:42:06 +00:00
Mike Auty b6e3b8c5cc Add in minor optimizations. 2019-02-14 21:23:43 +00:00
Mike Auty f898dca296 Refactor SymbolRequirement to SymbolTableRequirement for clarity. 2019-02-06 21:26:32 +00:00
Mike Auty c64ed6a8dd Remove validity checking in favour of static-type checking.
This removes the assertions that checked plugin devs didn't do anything
overly bad in favour of using mypy to ensure appropriate type-checking.

It also moves the ProgressCallback typing information to constants in
order to avoid circular imports (since constants doesn't import
anything).
2019-01-20 02:35:49 +00:00
Mike Auty 0ee335237a Improve the protection of empty regular expressions (improves issue #61). 2019-01-18 11:27:24 +00:00
Mike Auty b13fcb186c Improve typing issues. 2019-01-03 01:13:53 +00:00
Mike Auty 6bb927ebfa Fix up terminology to ensure we only refer to layers not spaces. 2019-01-03 00:40:13 +00:00
Mike Auty 040da46deb Fix up the descriptions for non-simple requirements. 2019-01-03 00:39:53 +00:00
Mike Auty afdd8b657e Fix memory problems with banner_caches.
Since we stack using Mac layers as well as Linux layers, both sets of
banner caches are required.  As the cache builders are separate at the
moment, we previously ran banner searches without any banners.  This was
bad.  It inflated memory hugely and killed the buildbot.

We now bomb out on stacking a Linux or Mac layer unless we have banners
against which to match.
2018-12-30 15:13:10 +00:00
Mike Auty d676d29c8b Remove author lines with permission.
So that we don't get contributions that include author lines remove any
that exist currently in the code.  We need to figure out how we're going
to support attribution, probably through an AUTHORS file, but definitely
not peppering the code.
2018-12-20 09:16:35 +00:00
Mike Auty fdc6efc4ad Add in the LICENSE and the README. 2018-12-19 23:55:03 +00:00
Mike Auty 7f973f9e3e Refactor the ResourceAccessor so it can be used by layers. 2018-12-17 19:38:18 +00:00
Mike Auty 0462c98f44 Fix up vmss/vmsn typo. 2018-12-17 18:10:17 +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 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