Documentation ¶
Index ¶
- Constants
- Variables
- func ApplyPrefixForkIntel64(shellcode []byte, entryJump uint32, byteOrder binary.ByteOrder) []byte
- func ApplySuffixJmpIntel32(shellcode []byte, shellcodeVaddr uint32, entryPoint uint32, ...) []byte
- func ApplySuffixJmpIntel64(shellcode []byte, shellcodeVaddr uint32, entryPoint uint32, ...) []byte
- func PackIP(ip string) string
- func PackPort(port uint16) (string, error)
- func PackUint16(addr uint16) (string, error)
- func PackUint32(addr uint32) (string, error)
- func PackUint64(addr uint64) (string, error)
- func PrintShellCodes(os Os, arch Arch)
- func RegisterShellCode(os Os, arch Arch, name string, fx func(Parameters) ([]byte, error))
- type Arch
- type Bits
- type Generator
- type Os
- type ParamType
- type Parameters
Constants ¶
View Source
const ( // Windows flag for Windows OS Windows Os = "windows" // Linux flag for Linux OS Linux Os = "linux" // FreeBSD flag for FreeBSD OS FreeBSD Os = "freebsd" // Darwin flag for Darwin / Mac OS Darwin Os = "darwin" // Intel32 flag for Intel/AMD 32 bit architectures Intel32 Arch = "x32" // Intel64 flag for Intel/AMD 64 bit architectures Intel64 Arch = "x64" // Intel32y64 flag for Intel/AMD 32+64 bit combo shellcodes Intel32y64 Arch = "x32x64" // Arm flag for Arm 32 bit shellcodes Arm Arch = "arm" )
Variables ¶
View Source
var ( // Arches - list of human readable architecture names Arches []string = []string{"x32", "x64", "x32x64", "arm"} // Oses - list of human readable OS names Oses []string = []string{"windows", "linux", "darwin"} )
Functions ¶
func ApplyPrefixForkIntel64 ¶
ApplyPrefixForkIntel64 - Prepends instructions to fork and have the parent jump to a relative 32-bit address (the entryJump argument)
Intel x64 Linux version Returns the resulting shellcode
func ApplySuffixJmpIntel32 ¶
func ApplySuffixJmpIntel32(shellcode []byte, shellcodeVaddr uint32, entryPoint uint32, byteOrder binary.ByteOrder) []byte
ApplySuffixJmpIntel32 - Appends instructions to jump to the original entryPoint (the parameter)
Intel x32 Windows version Returns the resulting shellcode
func ApplySuffixJmpIntel64 ¶
func ApplySuffixJmpIntel64(shellcode []byte, shellcodeVaddr uint32, entryPoint uint32, byteOrder binary.ByteOrder) []byte
ApplySuffixJmpIntel64 - Appends instructions to jump to the original entryPoint (the parameter)
Intel x64 Linux version Returns the resulting shellcode
func PrintShellCodes ¶
PrintShellCodes - looks up shellcode by OS and architecture and prints the output
func RegisterShellCode ¶
RegisterShellCode - registers a shellcode generating function with the registry
Types ¶
type Generator ¶
type Generator struct { Os Os Arch Arch Bit Bits Name string Function func(Parameters) ([]byte, error) }
Generator - type for a shellcode generator
func LookupShellCode ¶
LookupShellCode - looks up shellcode by OS and architecture
Click to show internal directories.
Click to hide internal directories.