linux – Linux X86

class pwnypack.shellcode.x86.linux.LinuxX86Mutable(version=None, *args, **kwargs)[source]

Bases: pwnypack.shellcode.x86.linux.LinuxX86

An environment that targets a 32-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.linux.LinuxX86Stack(version=None, *args, **kwargs)[source]

Bases: pwnypack.shellcode.x86.linux.LinuxX86

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

class pwnypack.shellcode.x86.linux.LinuxX86MutableNullSafe(version=None, *args, **kwargs)[source]

Bases: pwnypack.shellcode.x86.null_safe.X86NullSafe, pwnypack.shellcode.x86.linux.LinuxX86

An environment that targets a 32-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.linux.LinuxX86StackNullSafe(version=None, *args, **kwargs)[source]

Bases: pwnypack.shellcode.x86.null_safe.X86NullSafe, pwnypack.shellcode.x86.linux.LinuxX86

An environment that targets a 32-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.linux.LinuxX86(version=None, *args, **kwargs)[source]

Bases: pwnypack.shellcode.linux.Linux, pwnypack.shellcode.x86.X86

An environment that targets a generic Linux X86_64 machine.

sys_get_thread_area = SyscallDef(sys_get_thread_area: void *)
sys_iopl = SyscallDef(sys_iopl: int)
sys_modify_ldt = SyscallDef(sys_modify_ldt: int, void *, int)
sys_rt_sigreturn = SyscallDef(sys_rt_sigreturn)
sys_set_thread_area = SyscallDef(sys_set_thread_area: void *)
sys_sigreturn = SyscallDef(sys_sigreturn)
sys_vm86 = SyscallDef(sys_vm86: int, int)
sys_vm86old = SyscallDef(sys_vm86old: void *)