Commit Graph
195 Commits
Author SHA1 Message Date
Mike Auty 98624203c4 Add in windows swap-file automagic. 2018-02-11 18:35:40 +00:00
Mike Auty f3b6b5311f Fix up a couple extra typing issues, improving code quality. 2018-02-10 22:51:56 +00:00
Mike Auty 970cfc3cd8 Fix up pdbscan to avoid running if not needed. 2018-02-10 22:44:44 +00:00
Mike Auty 24be045266 Minor fix ups with typing and exceptions. 2018-02-10 22:42:31 +00:00
Mike Auty 5a85f88636 Improve construction automagic (it now continues recursing after errors). 2018-02-10 22:38:50 +00:00
Mike Auty 152dc9a210 Error check for when we can't find the file_symbol_url. 2018-02-07 19:56:02 +00:00
Mike Auty e362c50460 Ensure we don't run through signatures when we've found one that gives a layer. 2017-12-13 20:48:52 +00:00
Mike Auty 265182b66b Fix bug that massively broken the wintelstacker, slowing everything else down. 2017-12-13 20:48:52 +00:00
Mike Auty e23bb65162 Add in better logging. 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 6c52e04489 Fix up exception in DTBtests.
The exception was being caused by reading too little data from the
stream.  We now skip it if that happens.
2017-12-13 20:48:52 +00:00
Mike Auty de3b8cf76b Fix exception being thrown in the middle of Nlpdtbfinder for layers without validity details. 2017-12-13 20:48:52 +00:00
Mike Auty 50b60c0df6 Add in more interfaces (and fix additional errors now that type information is available). 2017-12-13 20:48:52 +00:00
Mike Auty 2cc456e847 Finish off the automagic directory type annotations. 2017-12-13 20:48:52 +00:00
Mike Auty d7d13eb19c Add type annotations to most of the automagic files. 2017-12-13 20:48:52 +00:00
Mike Auty 30059766b6 Plug the WindowsMixin into the automagic. 2017-11-24 12:02:34 +00:00
Mike Auty 3a215c185e Ensure the linux caching happens early, so the user doesn't have to run it twice. 2017-11-06 00:17:30 +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 fd582f62e2 Fix a potential exception when earlier automagics don't succeed. 2017-11-04 18:54:52 +00:00
Mike Auty 9d7d547667 Minor linting. 2017-11-04 18:45:18 +00:00
Mike Auty a4b4a8eed3 Improve the error handling with automagics. 2017-11-04 18:45:08 +00:00
Mike Auty 8166b0cc96 Add better logging around the stacker. 2017-11-04 17:13:01 +00:00
Mike Auty d9d67efa3a Add in the capability to stash linux_banners.
Since the stacker and Linux automagic will always be different objects
(even if they're the same class), and we don't want to add OS specific
code to the stacker, this is the simplest way of allowing the Linux
symbol automagic to get information from the dtb finding stacker.
2017-11-04 17:09:59 +00:00
Mike Auty dab5caf104 Paths from the banner cache are already URIs, so we don't need to reconvert them. 2017-11-04 15:52:02 +00:00
Mike Auty 01043b9f3e Rework isf_filename to isf_url since we can load it from a remote location if required. 2017-11-04 15:47:52 +00:00
Mike Auty 4b7543f2f4 Unify the resource opening. 2017-11-02 21:46:39 +00:00
Mike Auty dbc73df8f2 Make sure we support windows filenames
Consider refactoring out the various URL openning code into
one that just returns the open file handle.  This would require changing
the config option of "filename" to "location" and rejigging a few other
bits elsewhere, but would centralize and make it more managable.
2017-11-02 11:56:03 +00:00
Mike Auty 624289b94d Drop out the NlpDtbfinder from the linux plugins, since the LayerStacker should sort it. 2017-10-08 20:24:24 +01:00
Mike Auty ae9e33292f Add in restrictions on automagics should be used for each type of plugin. 2017-10-08 20:22:10 +01:00
Mike Auty 06767bd44c Ensure we get a warning of some kind when a bad scheme is provided. 2017-10-05 00:13:45 +01:00
Mike Auty 7db811fa09 Move nlpdtbscanner's stack order lower down since it isn't accurate for linux (and was tried before it previously). 2017-09-05 11:00:51 +01:00
Mike Auty 946fbd5e61 Use the convenience function built for exactly this circumstance. 2017-09-04 01:26:40 +01:00
Mike Auty 710043f508 Fix up the ASLR finding to compensate for older task_struct structures. 2017-09-03 23:16:22 +01:00
Mike Auty a4bb32d797 Rework the linux automagic to include utility functions for finding the ASLR and KASLR shifts. 2017-09-03 21:51:11 +01:00
Mike Auty 6265fc4e2d Catch errors if the stacker didn't manage to stack correctly. 2017-08-31 01:04:01 +01:00
Mike Auty e09ad9b884 Make the automagic progress a little easier to understand. 2017-08-31 00:23:41 +01:00
Mike Auty f7f1c1d5e0 Raise the right kind of exception in Intermediate Format SymbolTables. 2017-08-11 08:49:49 +01:00
Mike Auty c6724a538a Initial support for compressed files. 2017-08-11 01:12:50 +01:00
Mike Auty efdd961313 Prevent exceptions if there are no linux symboltables. 2017-08-11 00:05:50 +01:00
Mike Auty a008686c20 Reduce the logging level of the Pdbscan automagic. 2017-08-10 23:58:34 +01:00
Mike Auty 9c3ad5588a Improve the error handling the LinuxSymbolCache. 2017-08-09 18:06:35 +01:00
Mike Auty 9c8add5d5c Ensure the dtb is not uninitialized. 2017-07-30 21:10:12 +01:00
Mike Auty b7c8c8a058 Improve the docstrings for automagic. 2017-07-29 12:53:35 +01:00
Mike Auty d34b344507 Ensure linux doesn't bog down windows searching. 2017-07-20 19:54:10 +01:00
Mike Auty 0b6e50daba Convert pdbscanner to a generator. 2017-07-20 17:47:21 +01:00
Mike Auty b8fe2a96be Avoid a variable-reuse issue. 2017-07-20 11:58:16 +01:00
Mike Auty f8767af1b8 Catch the most general InvalidAddressException in case it's thrown by a lower layer. 2017-07-20 00:58:07 +01:00
Mike Auty 8087f86bcf Remove debugging statements. 2017-07-20 00:51:03 +01:00
Mike Auty fbd70438a0 Slightly more error checking. 2017-07-20 00:49:56 +01:00
Mike Auty 03cdd91fbf Add in the capability to merge two config dicts (so that manually set settings aren't overwritten). 2017-07-20 00:49:36 +01:00