Commit Graph
52 Commits
Author SHA1 Message Date
Mike Auty 4e8c8a7232 Fix issues with SymbolRequirement refactoring. 2019-02-11 22:30:22 +00:00
Michael Lighandikelos 12fe297c80 builtin_constraints() returns all constraints by default 2019-02-07 09:08:32 +00:00
Michael Lighandikelos f34cd01b09 small style change for readability 2019-02-07 09:08:32 +00:00
Michael Lighandikelos 33f3f4372c parameterize generate_pool_scan() - let plugins choose which contraints to use
plugins can choose from a list of built-ins or they can create their own and pass them into generate_pool_scan()
2019-02-07 09:08:32 +00:00
Michael Lighandikelos c1341e6278 refactor poolscanner to be leveraged by other plugins. add psscan 2019-02-07 09:08:32 +00:00
Mike Auty f898dca296 Refactor SymbolRequirement to SymbolTableRequirement for clarity. 2019-02-06 21:26:32 +00:00
Michael Lighandikelos d23e6474ce reference windows metadata & PE values from ISF as the primary method of determining OS version 2019-02-06 21:11:20 +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 b13fcb186c Improve typing issues. 2019-01-03 01:13:53 +00:00
Mike Auty 040da46deb Fix up the descriptions for non-simple requirements. 2019-01-03 00:39:53 +00:00
Andrew Caseandikelos 92adf4ffd0 switch mac_pslist to absolute_symbol_addresses interface 2018-12-27 22:43:19 +00:00
Andrew Caseandikelos b77d638ead switch mac_lsmod to absolute_symbol_addresses interface 2018-12-27 22:43:19 +00:00
Andrew Caseandikelos 1845fe9ec5 update syscall to use new API correctly 2018-12-27 22:43:19 +00:00
Andrew Caseandikelos f8fab3a71d switch mac_trustedbsd to absolute_symbol_addresses interface 2018-12-27 22:43:19 +00:00
Andrew Caseandikelos 9eeac53d8d add mac_check_syscall 2018-12-27 22:43:19 +00:00
Andrew Caseandikelos 984615ebba fix plugins for new API 2018-12-27 22:41:03 +00:00
Andrew Caseandikelos 2a0aec8104 switch linux_lsmod to absolute_symbol_addresses interface 2018-12-27 22:41:03 +00:00
Mike Auty fdc6efc4ad Add in the LICENSE and the README. 2018-12-19 23:55:03 +00:00
Mike Auty e3ab3b1c8f Make certain methods protected, otherwise they should be classmethods. 2018-12-19 22:48:16 +00:00
Mike Auty 189c8786f1 Rename filt to filter_func (because we value clarity over brevity) and another small fix. 2018-12-19 22:46:33 +00:00
Mike Auty 70e8204113 Fix up linux version of mmap_iter property to get_mmap_iter. 2018-12-19 22:38:43 +00:00
Mike Auty 39634893d6 Reformat with yapf and change filter to filt. 2018-12-19 19:43:56 +00:00
Andrew Caseandikelos 989e8643e9 add mac_bash 2018-12-19 19:43:56 +00:00
Andrew Caseandikelos 06cd454913 add mac_trustedbsd 2018-12-19 19:43:56 +00:00
Andrew Caseandikelos ab877b3907 move plugins into proper directory 2018-12-19 19:43:56 +00:00
Mike Auty 2a3b7348be Add in minor changes and remove the duplicate plugins for mac. 2018-12-19 01:01:53 +00:00
Mike Auty cf94012956 Yapf reformat the poolscanner code. 2018-12-17 19:41:27 +00:00
Michael Lighandikelos 90b7f2aa3b add backup methods of detecting windows versions, in case metadata in the json isn't available 2018-12-17 19:40:14 +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 e65a00894a Minor style tweaks and mass changes across the codebase because of it. 2018-12-17 12:46:14 +00:00
Mike Auty b61ac3bd47 Many more typing fixes. 2018-12-17 01:17:06 +00:00
Mike Auty 3386b3c536 Minor timeliner fix. 2018-12-16 21:28:30 +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 9b951d5fbe More typing additions and fixes. 2018-12-16 15:21:41 +00:00
Mike Auty 35ad2325a8 Move all core plugins over to framework/plugins.
This should have no impact functionality-wise.
The statistics plugin was left out a) as an example and b) because it
was committed by mistake in the first place and was never meant to be a
real plugin.
2018-12-16 13:40:15 +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
Mike Auty f57bfa5738 Prepare core plugins for moving into the framework namespace. 2018-12-09 13:32:32 +00:00
Mike Auty d829028a36 Apply various type annotation/bug fixes. 2018-10-05 00:16:42 +01:00
Mike Auty 99ba8bfb3f Change plugin runner to use a base_config_path. 2018-09-24 00:45:36 +01:00
Mike Auty e5024420c8 Refactor plugin running to ensure automagics and reconstruction occur properly. 2018-09-24 00:36:40 +01:00
Mike Auty 62b986d2e9 Remove code from plugins, since plugins aren't callable anymore. 2017-12-13 20:48:52 +00:00
Mike Auty 3a2cc24e2a Add in plugin function capability (and make plugin validation centralized on plugin construction). 2017-01-04 22:58:54 +00:00
Mike Auty 25bbbe0937 Refactor the way that plugins are imported for use on other modules (such as the upcoming automagic). 2016-07-28 21:29:53 +01:00
Mike Auty cf66d0b447 Start building a dependency resolver for translation layers. 2015-12-29 22:13:10 +00:00
Mike Auty d258c56991 Rerun pylint with pycharm-5 and fix pep8 issues as well. 2015-11-21 13:12:00 +00:00
Mike Auty 5d5522d04c Catch a few errors during plugin importing. 2014-12-30 03:51:49 +00:00
Mike Auty 38b0791233 General code refactor. 2014-12-30 03:43:36 +00:00
Mike Auty d6b131980b Add in skeleton plugin to check the API. 2014-07-07 23:33:08 +01:00
Mike Auty c29028dd30 Initial attempt at plugin importing. 2014-07-05 22:33:40 +01:00