# README

Generate

The generate package is responsible for generating Sliver binaries such as executables and shared libraries.

# Functions

DonutFromAssembly - Generate a donut shellcode from a .NET assembly.
DonutShellcodeFromFile returns a Donut shellcode for the given PE file.
DonutShellcodeFromPE returns a Donut shellcode for the given PE file.
GenerateConfig - Generate the keys/etc for the implant.
GenerateUniqueIP generates and returns an available IP which can then be assigned to a Wireguard interface.
GetCompilerTargets - This function attempts to determine what we can reasonably target.
GetCrossCompilers - Get information about the server's cross-compiler configuration.
GetSliversDir - Get the binary directory.
GetUnsupportedTargets - Get compiler targets that are not "supported" on this platform.
ImplantBuildSave - Saves a binary file into the database.
ImplantConfigSave - Save only the config to the database.
ImplantFileDelete - Delete the implant from the file system.
ImplantFileFromBuild - Saves a binary file into the database.
SaveImplantProfile - Save a sliver profile to disk.
No description provided by the author
ShellcodeRDI generates a reflective shellcode based on a DLL file.
ShellcodeRDIFromBytes generate a sRDI from a byte array.
ShellcodeRDIToFile generates a sRDI shellcode and writes it to a file.
SliverExecutable - Generates a sliver executable binary.
SliverExternal - Generates the cryptographic keys for the implant but compiles no code.
SliverSharedLibrary - Generates a sliver shared library (DLL/dylib/so) binary.
SliverShellcode - Generates a sliver shellcode using Donut.
UpdateCanary - Update an existing canary.

# Constants

CanaryBucketName - DNS Canary bucket name.
DARWIN / MacOS.
Assume SSL, it'll fallback.
DefaultMTLSLPort - Default listen port.
DefaultPollInterval - In seconds.
DefaultReconnectInterval - In seconds.
DefaultSuffix - Indicates a platform independent src file.
LINUX OS.
SliverCC32EnvVar - Environment variable that can specify the 32 bit mingw path.
SliverCC64EnvVar - Environment variable that can specify the 64 bit mingw path.
SliverCXX32EnvVar - Environment variable that can specify the 32 bit mingw path.
SliverCXX64EnvVar - Environment variable that can specify the 64 bit mingw path.
SliverPlatformCC32EnvVar - Environment variable that can specify the 32 bit mingw path.
SliverPlatformCC64EnvVar - Environment variable that can specify the 64 bit mingw path.
SliverPlatformCXX32EnvVar - Environment variable that can specify the 32 bit mingw path.
SliverPlatformCXX64EnvVar - Environment variable that can specify the 64 bit mingw path.
No description provided by the author
WINDOWS OS.

# Variables

ErrImplantBuildFileNotFound - More descriptive 'key not found' error.
SupportedCompilerTargets - Supported compiler targets.

# Structs

CanaryGenerator - Holds data related to canary generation.