linux – Linux X86_64

class pwnypack.shellcode.x86_64.linux.LinuxX86_64Mutable(*args, **kwargs)[source]

Bases: pwnypack.shellcode.x86_64.linux.LinuxX86_64

An environment that targets a 64-bit Linux X86 machine in a writable segment.

data_finalizer(env, code, data)

Simple data allocation strategy that expects the code to be in a writable segment. We just append the data to the end of the code.

class pwnypack.shellcode.x86_64.linux.LinuxX86_64Stack(*args, **kwargs)[source]

Bases: pwnypack.shellcode.x86_64.linux.LinuxX86_64

An environment that targets a 64-bit Linux X86 machine that allocates the required data on the stack.

class pwnypack.shellcode.x86_64.linux.LinuxX86_64MutableNullSafe(*args, **kwargs)[source]

Bases: pwnypack.shellcode.x86_64.null_safe.X86_64NullSafe, pwnypack.shellcode.x86_64.linux.LinuxX86_64

An environment that targets a 64-bit Linux X86 machine in a writable segment that emits no NUL bytes or carriage return characters.

data_finalizer(env, code, data)

Simple data allocation strategy that expects the code to be in a writable segment. We just append the data to the end of the code.

class pwnypack.shellcode.x86_64.linux.LinuxX86_64StackNullSafe(*args, **kwargs)[source]

Bases: pwnypack.shellcode.x86_64.null_safe.X86_64NullSafe, pwnypack.shellcode.x86_64.linux.LinuxX86_64

An environment that targets a 64-bit Linux X86 machine that allocates the required data on the stack and emits no NUL bytes or carriage return characters.

class pwnypack.shellcode.x86_64.linux.LinuxX86_64(*args, **kwargs)[source]

Bases: pwnypack.shellcode.linux.Linux, pwnypack.shellcode.x86_64.X86_64

An environment that targets a generic Linux X86_64 machine.

sys_arch_prctl = SyscallDef(sys_arch_prctl: int, int)
sys_iopl = SyscallDef(sys_iopl: int)
sys_mmap = SyscallDef(sys_mmap: void *, int, int, int, int, int)
sys_modify_ldt = SyscallDef(sys_modify_ldt: int, void *, int)
sys_rt_sigreturn = SyscallDef(sys_rt_sigreturn)