summaryrefslogtreecommitdiffstats
path: root/sploit/builder (follow)
AgeCommit message (Collapse)AuthorFilesLines
2024-01-13builder: Rename package to payload and expose contentsMalfurious4-591/+0
This follows in the package contents export change. Additionally, the builder package is renamed to "payload". "payload" is actually the preferred name of this package. It was previously renamed due to the absurdity of importing "sploit.payload.payload.Payload()", and the fact that additional modules were being bundled together so a more broad name _seemed_ desirable. Signed-off-by: Malfurious <m@lfurio.us>
2023-03-19builder: Add initial version of ROP chain toolsMalfurious2-0/+384
Adds a ROP-enabled payload builder under the builder namespace. Much of the behavior is parameterized by the active arch, so several new columns are added to the Arch class. Signed-off-by: Malfurious <m@lfurio.us> Signed-off-by: dusoleil <howcansocksbereal@gmail.com>
2023-03-19builder: Add rop gadget annotation classMalfurious2-0/+110
This dataclass is intended to be used directly with the new ROP builder class. GadHints allow users to teach the library about gadgets it can not find on its own and how to use them correctly. Signed-off-by: Malfurious <m@lfurio.us> Signed-off-by: dusoleil <howcansocksbereal@gmail.com>
2023-03-19payload: Add method end()Malfurious1-0/+3
To determine the address of the end of a payload, based on its Symtbl data. I believe it makes the most sense to make this a part of the Payload API, since Symtbl lacks a concept of element size. Signed-off-by: Malfurious <m@lfurio.us> Signed-off-by: dusoleil <howcansocksbereal@gmail.com>
2023-03-19Create new subpackage 'builder'Malfurious2-0/+94
This is a package to contain the related Payload and ROP modules, as well as utility classes. Payload is moved into the new package. Signed-off-by: Malfurious <m@lfurio.us> Signed-off-by: dusoleil <howcansocksbereal@gmail.com>