Mike Auty
272224a1b0
Refactor all references to Context.memory to Context.layers.
2019-07-07 17:42:51 +01: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
14a9788802
Fix a typo in the parallelism code.
2019-03-02 19:34:31 +00:00
Mike Auty
9fadee1a17
Add locking for threaded operation.
2019-03-02 18:07:48 +00:00
Mike Auty
7b06480d7e
Major speed-up for bulk scanning of images.
2019-02-14 22:14: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
3078141352
Fix typing for python < 3.6.1.
2019-01-03 01:34:04 +00:00
Mike Auty
b13fcb186c
Improve typing issues.
2019-01-03 01:13:53 +00:00
Mike Auty
fdc6efc4ad
Add in the LICENSE and the README.
2018-12-19 23:55:03 +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
7818fba4a4
Fix up ChainMap issue in python-3.5.
2018-12-16 13:46:04 +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
Mike Auty
34ed11bfc0
Fix up issue with coalescing sections.
2018-12-07 01:47:16 +00:00
Mike Auty
aaeb349a70
Remove debugging call.
2018-12-07 01:47:16 +00:00
Mike Auty
4fabb762d2
Make some typing fixes and remove specification of the iterator.
2018-12-07 01:47:16 +00:00
Mike Auty
341b9b8f9e
Add in initial changes for scanner sections.
2018-12-07 01:47:16 +00:00
Mike Auty
21384be035
Remove the confusing max/min address values in scan chunk (the iterator should only pass chunks that need scanning).
2018-10-11 11:14:07 +01:00
Mike Auty
b74eb68c04
Pull the check on layer names out so that DataLayerInterface types get it as well.
2018-08-22 09:33:47 +01:00
Mike Auty
4897b7ab81
Fix up some typing errors.
2018-07-22 13:19:20 +01:00
Mike Auty
7a52ac9deb
Fix a large number of typing issues.
...
There are several instances where mypy didn't detect
if blah is not None:
blah = thing
and so were rewritten as:
blah = blah or thing
2018-06-04 01:25:02 +01:00
Mike Auty
f72e39d558
Fix up small but significant typo.
...
When asking for data with padding, the padding was guaranteed to always
be at the end without spaces between pages.
2018-05-29 00:42:52 +01:00
Mike Auty
67239002bc
Attempt to fix an intel read issue spotted by imhlv2
...
The length value inside the read method of the TranslationLayer base class
would potentially get overwritten by the inner loop which also defined a
length value.
2018-05-28 23:25:49 +01:00
Mike Auty
61bf1d40b0
Fix scan_iterator parameter type.
2018-05-15 00:06:43 +01:00
Mike Auty
037ac28534
Move around the scanning functions and create an API for the iterators.
2018-05-14 01:03:43 +01:00
Mike Auty
a07691b04f
Ensure scanners don't return duplicates in the overlap.
2018-05-13 20:55:54 +01:00
Mike Auty
ffe2907fa0
Minor typing fix.
2018-05-01 21:22:26 +01:00
Mike Auty
9512cbe9eb
Commit metadata changeset.
...
Layers now accept metadata dictionaries (and chain/stack them on top of
those from lower layers). Metadata can only be set at construction
time, and the metadata dictionary is readonly. The hope is this will
make enumerating metadata keys across the codebase simpler.
The current metadata items that layers hold is:
architecture (Unknown | Intel32 | Intel64)
os (Unknown | Windows | Linux)
pae (bool)
page_map_offset (int)
This patchset may develop further to help enumerate all of these
(through a registration/reporting system).
2018-04-26 12:48:14 +01:00
Mike Auty
556fa29ada
Deprecate/remove 'provides' attribute.
2018-04-26 12:31:33 +01:00
Mike Auty
623180ddbd
Make many typing fixes, based on mypy-0.590.
2018-04-22 20:45:59 +01:00
Mike Auty
d8f497eb71
Allow unpickling of PrimitiveObjects.
2018-04-08 22:25:46 +01:00
Mike Auty
ac12098317
Add type-annotations for reamining layer files.
2017-12-13 20:48:52 +00:00
Mike Auty
f40fae197d
Convert to python3.5 syntax (no local type-annotations).
2017-12-13 20:48:52 +00:00
Mike Auty
21b4506b7b
Add in type-annotations for the remaining interfaces.
2017-12-13 20:48:52 +00:00
Mike Auty
e43ca15630
Improve the logging for scan failures.
2017-11-24 00:39:28 +00:00
Mike Auty
b6d932f4a5
Refactor the ResourceAccessor because it isn't an interface.
...
It's not strictly limited to layers either, but I don't really want to
create a whole extra generic file to put this in, so layers will do.
2017-11-05 21:27:56 +00:00
Mike Auty
671f65ed56
Centralize the ISF locating code.
...
This might benefit from a recache of the linux banners, although it
should continue to work no recache is performed.
We're now in a position to add support for loading symbols directly from
zip files by altering the ResourceAccessor and adding code to the
symbol finder.
2017-11-05 15:18:20 +00:00
Mike Auty
a4b4a8eed3
Improve the error handling with automagics.
2017-11-04 18:45:08 +00:00
Mike Auty
4b7543f2f4
Unify the resource opening.
2017-11-02 21:46:39 +00:00
Mike Auty
9346e220ed
Add more detailed information for non-threaded scanners.
2017-08-31 01:02:42 +01:00
Mike Auty
d32fc223e2
Fix up additional imports inconsistent with the coding style.
...
Note: also remove interfaces_configuration where ever possible
(this is not possible in the interfaces directory itself
because it would cause an import loop).
2017-08-09 22:32:44 +01:00
Mike Auty
f0d7dbdf68
Add in translate method for TranslationLayers.
2017-08-08 17:45:36 +01:00
Mike Auty
b8f7433dba
Ensure that non-multiprocessing does not use multiprocessing.
2017-07-30 22:40:33 +01:00
Mike Auty
c0a8ddd9a3
Improve the progress messages.
2017-07-20 19:35:12 +01:00
Mike Auty
469afc800b
Revert "Change the behaviour of multithreaded scans to return results as soon as possible (at the cost of ordering)."
...
This reverts commit 8c4bdc8c61 .
2017-07-20 11:09:42 +01:00
Mike Auty
8c4bdc8c61
Change the behaviour of multithreaded scans to return results as soon as possible (at the cost of ordering).
2017-07-14 01:16:30 +01:00
Mike Auty
a4bb297db7
Improve the progress calculator for multithreaded progress.
2017-07-13 01:31:47 +01:00
Mike Auty
df527d2f00
Convert from abstractproperty which was deprecated in python-3.3.
2017-06-20 15:14:13 +01:00
Mike Auty
0675350346
Fix up minor logical error in multithreaded scanning global flag.
2017-06-03 17:49:56 +01:00
Mike Auty
c862f38917
Add in flag to forcibly disable all multithreaded scanning.
2017-06-03 17:48:32 +01:00