Commit Graph
467 Commits
Author SHA1 Message Date
Mike Auty 0d267d0d56 Codebase: Improve typing using monkeytype 2020-12-06 21:34:28 +00:00
Mike Auty 9150cd971b Core: Change base class for FileHandlerInterface
Python 3.6 doesn't appear to support IO[bytes] (and this is also from
the typing library), so we instead now inherit from RawIOBase.  This
provides read, but does not come with a constructor (like FileIO) so
is suitable for our needs.

Fixes issue #376.
2020-11-17 22:04:55 +00:00
Mike Auty 0a655d76a8 Core: Fix LGTM recommendations
This is mostly unused imports and unused variables.
2020-11-04 22:41:39 +00:00
Mike Auty 7c75018fc4 Core: Fix Warnings from LGTM 2020-11-04 21:02:36 +00:00
Mike Auty ae3a97e2c7 Core: Fix errors found by LGTM 2020-11-04 20:05:12 +00:00
Mike Auty ea629591ef Plugins: Make open method clearer to use
This highlights that the FileHandler class can also be seen as a method
similar to open, and it removes unnecessary context managers, allowing
plugins to close files as they wish (they must, however, remember to
close the file for it to be committed).
2020-10-29 09:43:16 +00:00
Mike Auty b703210024 Windows: Refactor names of FileInterfaces 2020-10-29 09:43:16 +00:00
Mike Auty 032c6b0ac7 Windows: Make more use of plugin.open 2020-10-29 09:43:16 +00:00
Mike Auty 7cadbf32d4 Windows: Update dumping code from commit to close 2020-10-29 09:43:16 +00:00
Mike Auty e8fb8c929c Plugins: Introduce FileHandlerInterface 2020-10-29 09:43:16 +00:00
Mike Auty 7e63ed4815 Plugins: Allow None types in the configuration tree as values 2020-10-03 22:02:40 +01:00
Mike Auty 4a8ce9f104 Plugins: Relent on not allow default to be Optional 2020-09-02 11:27:53 +01:00
Mike Auty 96b68b9cdc Plugins: Don't ever insert an invalid value 2020-09-02 11:13:39 +01:00
Mike Auty 613ae30893 Automagic: Heavily refactor pdbscan
This separates out a new PDBUtility class that can take a (contiguous) layer and MZ
offset, and produce identify, download if necessary and load the
appropriate symbol table (if any).
2020-09-01 09:02:13 +01:00
Mike Auty 6caebee079 Plugins: Populate optional defaults in plugin initialization
Fixes issue #324.
2020-08-31 23:10:22 +01:00
Mike Auty 7afc4bfec7 Core: Fix verison typos 2020-08-26 22:04:50 +01:00
Mike Auty 0cbca4c957 Core: Half the memory usage by not storing arguments 2020-08-23 23:34:18 +01:00
Mike Auty 8e420cbe62 Core: Multiple typing fixes across the tree 2020-08-16 22:22:24 +01:00
Mike Auty 03877ef2ec Core: Maintain 3.5.3 compatibility 2020-07-30 22:27:26 +01:00
Mike Auty a5ecae29cc Configuration: Improve the VersionableInterface documentation 2020-07-29 20:18:03 +01:00
Mike Auty 3eb463475b Core: Refactor versioning and associated requirements 2020-07-29 20:18:03 +01:00
Mike Auty 16c2ddb837 Automagic: Change stackers to including an exclusion list 2020-07-02 19:33:32 +01:00
Mike Auty 232fcbe499 Objects: Go back to the *much* quicker exception handling 2020-07-01 20:24:30 +01:00
Mike Auty 51c0b873cc Objects: Reduce duplicated code (thanks @atcuno) 2020-07-01 20:24:30 +01:00
Mike Auty f1613a78b3 Objects: Use contextlib instead of finally 2020-07-01 20:24:30 +01:00
Mike Auty 6f1001f290 Objects: Add in the ability to test for member validity 2020-07-01 20:24:30 +01:00
Mike Auty d28e573c18 Renderers: Fix python deprecation warnings 2020-06-27 18:34:43 +01:00
Hanno Heinrichsandikelos deb2b78312 Clear symbol cache after ASLR computation on Linux. 2020-06-23 16:45:22 +01:00
Mike Auty 80e2117c94 Layers: QEMU add in slow warning 2020-06-10 20:22:35 +01:00
Mike Auty ede5ba07aa Symbols: Apply symbol_masking option to IntermediateSymbolTables 2020-06-10 19:39:20 +01:00
Mike Auty d6741435ef SymbolTables: Clear out the clone method and tidy up inheritance 2020-06-10 19:39:20 +01:00
Mike Auty 573590878a SymbolTable: Rework symbol_shift so it's part of the config 2020-06-10 19:39:20 +01:00
Mike Auty d9ac5300fa Move from using deepcopy to a clone method. 2020-06-10 19:39:20 +01:00
Mike Auty c7ea30b059 Core: Add in framework version check for plugins 2020-06-02 00:08:01 +01:00
Mike Auty 6e91349c73 Documentation: Add in information about creating layers. 2020-05-09 02:07:08 +01:00
Mike Auty 0c43beb42d Core: Apply yapf across all files again. 2020-05-05 22:14:33 +01:00
Mike Auty a745503b72 Layers: Make the linear/non-linear changes minimal 2020-03-04 20:29:42 +00:00
Mike Auty df804928b5 Layers: Alter the decode method to take data directly 2020-03-04 20:29:42 +00:00
Mike Auty e089314898 Layers: Add pad option to the decode/encode steps 2020-03-04 20:29:42 +00:00
Mike Auty ca9d7075d3 Layers: Refactor the decode/encode methods 2020-03-04 20:29:42 +00:00
Mike Auty 77be83edc4 Layers: Change mapping signature to return domain length 2020-03-04 20:29:42 +00:00
Mike Auty 3977a3c356 objects: Fixes for the comments in #159 2020-01-10 12:47:06 +00:00
Mike Auty fba6511486 Objects: Add size to ObjectInfo so it can be statically access later 2020-01-10 12:47:06 +00:00
Mike Auty 83a8afba6b Objects: Simplify get_symbol_table to get_symbol_table_name. 2019-12-04 23:41:27 +00:00
Mike Auty b0b868d79c Typing: General typing fixes across the tree 2019-11-27 11:30:14 +00:00
Mike Auty d29cd776ec Layers: Fixing multiprocessing typing issue. 2019-11-27 11:30:14 +00:00
Mike Auty 0e016797bb Typing: Change signatures to co-variant Mapping from Dict 2019-11-27 11:30:14 +00:00
Mike Auty 31ddbaaa2e Typing: Fix python3 format string/byte output issues 2019-11-27 11:30:14 +00:00
Mike Auty 19d46563ae layers: Fix up the maths around scanning chunks 2019-11-13 21:44:13 +00:00
Mike Auty ca8099e7d7 layers: Improve scanning of layered chunks
Previously, for segmented layers, no chunk larger than a full segment
was scanned.  Now, we combine contiguous segments up to
scanner.chunk_size (or until a non-present segment) in order to scan it.

This may be slightly slower (by concatting the data together) but gives
results of hits across page boundaries (the point of the scanning
capability), whereas previously each page was scanned individually.
2019-11-13 21:44:13 +00:00