diff options
author | Malfurious <m@lfurio.us> | 2024-01-24 22:07:35 -0500 |
---|---|---|
committer | Malfurious <m@lfurio.us> | 2024-05-19 17:52:10 -0400 |
commit | 78d45802803338c417477f4e8115024fdb68b4fe (patch) | |
tree | 873118e6eb3973ee995c667d4e11ca13f5806f3c /pyproject.toml | |
parent | debc0a42457619309039579cd1615588d5d221e0 (diff) | |
download | sploit-78d45802803338c417477f4e8115024fdb68b4fe.tar.gz sploit-78d45802803338c417477f4e8115024fdb68b4fe.zip |
symtbl: Refactor abstract IndexTbl interface
There are some useful concepts expressed in the Symtbl class that can
provide good value if applied elsewhere as well. In this particular
case, I want to address the somewhat awkward relationship between Symtbl
and the Payload class by providing an abstract base for both of them. I
will go into more details in an upcoming commit for Payload.
This patch shouldn't change any behavior for Symtbl barring perhaps its
new preference of the new IndexEntry type described below. Some
characteristics of Symtbl are refactored into two new interface types:
IndexEntry provides "base" and implements logic supporting the use of
instance objects as integers. The intent is to extend from this class
when creating special types to be used in IndexTbls, Symtbls, etc.
IndexTbl (extends IndexEntry) provides a unified system for attribute /
element access, and acts as an abstract container where storage and
lookup semantics are up to the specific implementation.
Symtbl (extends IndexTbl) is now better described as an Index table,
where indices represent numeric addresses. The nominal data type is
int, however IndexEntries (which are int-like) may be nested to record
the addresses of ROP gadgets, sub-symtbls, and perhaps more in the
future.
Signed-off-by: Malfurious <m@lfurio.us>
Diffstat (limited to 'pyproject.toml')
0 files changed, 0 insertions, 0 deletions