Commit Graph
46 Commits
Author SHA1 Message Date
Mike Auty ee12b81f4a Add in type-annotations for renderers and start on symbols. 2017-12-13 20:48:52 +00:00
Mike Auty e90b4e2d02 Add and make use of free_table_name for symbol_spaces. 2017-09-03 22:54:42 +01:00
Nick L. Petroni, Jr 8fcbf988b5 initial linux.pslist.PsList plugin 2017-05-14 22:24:05 -04:00
Mike Auty 5e15d522bd Remove automatic IDE-inserted attributions.
They weren't consistent and they show just remind me how slowly
I've been getting vol 3 written!  5:S

There's git commits to track all of that stuff if we need it.
2017-05-14 11:40:49 +01:00
Mike Auty fdb386d714 Return more information when particular types cannot be looked up. 2017-04-29 15:03:20 +01:00
Mike Auty 6603e503c5 Rework enumeration access in symbol tables. 2017-02-04 14:46:46 +00:00
Mike Auty b745f41c6c Move the interface fo rthe SymbolSpace over to the interfaces module. 2016-12-28 22:50:52 +00:00
Mike Auty b54cb86c89 Allow automagics to use natives without a set of global natives.
This allows NativeSymbolTables to be appended to symbol_spaces and
uses this to let automagic modules (which have no existing symbol table
to rely on) to load natives for reading format data.
2016-12-26 22:49:51 +00:00
Mike Auty 8e334ca086 Remove fallthrough/default natives from symbol_spaces. 2016-12-25 18:37:54 +00:00
Mike Auty c5cd3595de Fix up minor typo and hard depend on >= python 3.4. 2016-12-25 13:44:03 +00:00
Mike Auty 65ef2927a3 Refactor the enumeration_choices code into the existing weak_resolve code. 2016-12-18 02:53:07 +00:00
Mike Auty cf4ac3a7f6 Allow enumeration dictionaries to be accessed through the SymbolSpace directly. 2016-12-18 02:48:23 +00:00
Mike Auty e2d5f51ad5 Remove old and rotten code. 2016-12-12 00:25:03 +00:00
Mike Auty 770a8ee42a Improve error handling to prevent endless recursion in template.__call__ 2016-12-04 11:17:48 +00:00
Mike Auty e27a444068 Very minimally fix up the docstring for a function. 2016-12-04 01:01:46 +00:00
Mike Auty 282eaa7f00 Improve/remove unnecessary imports. 2016-11-07 12:26:06 +00:00
Mike Auty 667014a1fd Attempt to standardize error message display. 2016-10-30 17:51:45 +00:00
Mike Auty d1b58143fe Add in UnresolvedTemplate type.
This template type allows objects that have not been able to be resolved
to exist within the symbol system.  It emits a debug message on creation
so that intermediate format developers can identify potential issues,
but does not raise an exception so as to allow partial tables to be
used.

If the UnresolvedTemplate is called (to create an object) before the
symbol has been added to the symbolspace, it will fail with a
SymbolError (as thrown by the individual SymbolTable).  For this reason,
the class has been made private to the SymbolSpace class to prevent
unexpected use.
2016-10-30 16:54:12 +00:00
Mike Auty 6f1bdcb6cb Refactor symbol.offset to symbol.address. 2016-10-26 01:42:37 +01:00
Mike Auty 0b447b6958 Initial implementation of the Intermediate Format, breaks the vtypes format and needs a lot of tidying. 2016-10-26 01:09:29 +01:00
Mike Auty 16bed2aa94 Allow specifying a table_name for get_symbols_by_location. 2016-05-22 16:02:30 +01:00
Mike Auty e0b7f0b5f0 Add in helper functions for symbolspaces/symboltables to locate specific symbols. 2016-05-22 15:57:48 +01:00
Mike Auty fea6e0820a Convert to using a BANG variable for the symbol name delimiter.
Whilst it's easy to do now (because we don't yet use it many places)
convert the ! delimiter into a variable.
2016-05-22 15:26:31 +01:00
Mike Auty 2d23c93def Completely refactor constants and structures to symbols and types. 2016-05-22 11:51:06 +01:00
Mike Auty 00660f2a2b Refactor requirements to their own file. 2016-01-16 21:04:41 +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 143335402d Use a default value to allow instantiation of contexts, rather than allowing None and checking all the time. 2015-04-09 16:30:01 -05:00
Mike Auty 180db2e23d Minor neatening of iter. 2015-04-09 16:25:21 -05:00
Mike Auty 5493617727 Fix up minor typo in the recent SymbolSpace changes. 2015-04-09 16:24:04 -05:00
Mike Auty 35506bb7d3 Allow SymbolSpaces to be uninitialized, and move context from framework to framework.contexts. 2015-04-09 16:22:25 -05:00
Mike Auty 3a28d7ae41 Refactor the context work, to use composable objects rather than inheritable classes. 2015-01-19 23:57:49 +00:00
Mike Auty 87967853f7 Convert volinfo namespace to vol namespace. 2015-01-05 15:04:40 +00:00
Mike Auty 73bd451759 Minor pylinting across the whole project. 2015-01-04 21:14:17 +00:00
Mike Auty 15b2f6f717 Initial introduction of ObjectInformation class. 2015-01-04 03:41:37 +00:00
Mike Auty bc3ea39e97 Refactor the structure code to accomodate constant finding. 2014-12-31 03:12:28 +00:00
Mike Auty a97bd19988 Reformat and optimize code, including trailing whitespace and end of file newline. 2014-06-10 15:40:50 +01:00
Mike Auty 3709143c40 Clean-up a few files according to PyCharm's warning system. 2014-03-28 08:47:00 +00:00
Mike Auty 5b23325447 Change symbol_names to structure_names. 2014-03-22 13:46:22 +00:00
Mike Auty 26f8d0f7cc Add in write support, and change symbols to be both structures and constants. 2013-12-28 05:30:54 +00:00
Mike Auty e0433ab4e9 Vastly improved the speed by caching resolutions. 2013-05-07 23:31:27 +01:00
Mike Auty 9c2e486356 Refactor code locations, tidy up object initializers and add in File Layer. 2013-05-06 17:45:15 +01:00
Mike Auty e351958413 Move context, tidy up object model and add memory to test_rig. 2013-05-05 22:06:38 +01:00
Mike Auty dc65c356fc Restructure the packages, change importing style to from ... import. 2013-05-04 15:44:59 +01:00
Mike Auty e654391e86 Fix up the top-level symbol resolution mechanism. 2013-04-21 23:03:36 +01:00
Mike Auty 9b91bfa88c Rework templates so that they're created referentially, and that attributes are generated by the underlying class and arguments. 2013-04-21 18:22:38 +01:00
Mike Auty b0345ce9ab Flesh out symbol system, reworking several parts. Still requires on-demand resolving of symbols. 2013-04-14 20:17:15 +01:00