summaryrefslogtreecommitdiffstats
path: root/README.txt
diff options
context:
space:
mode:
authorMalfurious <m@lfurio.us>2022-05-28 01:10:05 -0400
committerMalfurious <m@lfurio.us>2022-09-12 20:15:23 -0400
commit33452816a966897bf240a13a41ce5d99ed242ef9 (patch)
treed4eb1b564b33d512ec1a34e88d8d8d20abdc057f /README.txt
parenta425bd4110a272cb889326a0b26cfb81cd67be8e (diff)
downloadsploit-33452816a966897bf240a13a41ce5d99ed242ef9.tar.gz
sploit-33452816a966897bf240a13a41ce5d99ed242ef9.zip
sploit: payload: Allow variadic insertions
Often times, users of the Payload module wish to push a list of integers to a payload buffer. Currently, the best (and intended) way to do this is to make several calls to .int(). However, as part of the ROP effort, I am planning to add function 'gadget(addr, *params)' to the Payload class. Per the design of this function, calling it with an expanded list of values would be equivalent to passing each to .int() individually. In order to discourage the use of .gadget(), as a shortcut to a series of .int()s, .int(), and most other insertion functions, now accept arbitrarily many value arguments. Functions that support additional options (such as .int()'s 'signed' parameter) will apply such options to all values. If a symbol name is defined, it will reference the beginning of the block of values. Keep in mind, this will also allow inserting zero values. For example, obj.bin(sym='end') will tag the end of the payload without extending its content. This use-case is not intended to be particularly useful, but exists as a consequence of the change. Payload.rep() and the pad functions are not affected by this commit, as I don't think changing their semantics in this way makes sense. Signed-off-by: Malfurious <m@lfurio.us> Signed-off-by: dusoleil <howcansocksbereal@gmail.com>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions