Help us shape the future of Go! Take the 2026 Go Developer Survey

cryptostream

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 10, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Decrypt added in v0.1.1

func Decrypt(c Cryptor, en []byte) ([]byte, error)

func Encrypt added in v0.1.1

func Encrypt(c Cryptor, en []byte) ([]byte, error)

func PKCS7Pad

func PKCS7Pad(data []byte, blockSize int) []byte

func PeekSid added in v0.1.1

func PeekSid(conn *Conn) (uint32, error)

func WrapReadWriteCloser added in v0.1.1

func WrapReadWriteCloser(r io.Reader, w io.Writer, closeFn func() error) io.ReadWriteCloser

Types

type AesCtrEncryptor

type AesCtrEncryptor struct {
	// contains filtered or unexported fields
}

AesCtrEncryptor struct holding key, iv, and separate streams for encryption and decryption

func NewAesCtrEncryptor

func NewAesCtrEncryptor(key [32]byte, iv [16]byte) (*AesCtrEncryptor, error)

NewAesCtrEncryptor creates a new instance of AesCtrEncryptor

func (*AesCtrEncryptor) Decrypt

func (e *AesCtrEncryptor) Decrypt(reader io.Reader, writer io.Writer) error

Decrypt decrypts data using AES-256-CTR mode

func (*AesCtrEncryptor) Encrypt

func (e *AesCtrEncryptor) Encrypt(reader io.Reader, writer io.Writer) error

Encrypt encrypts data using AES-256-CTR mode

func (*AesCtrEncryptor) Reset

func (e *AesCtrEncryptor) Reset() error

Reset reinitializes the encrypt and decrypt streams

type Conn added in v0.1.1

type Conn struct {
	io.ReadWriteCloser

	Parser *parser.MessageParser
	// contains filtered or unexported fields
}

func WrapBindConn added in v0.3.0

func WrapBindConn(conn io.ReadWriteCloser, cryptos []Cryptor, maxPacketLength uint32) (*Conn, error)

WrapBindConn wraps a connection for bind mode without pre-reading Bind mode: Server actively sends data first, then receives response from implant Only supports malefic parser in bind mode

func WrapPeekConn added in v0.1.1

func WrapPeekConn(conn io.ReadWriteCloser, cryptos []Cryptor, parserName string, maxPacketLength uint32) (*Conn, error)

func (*Conn) LocalAddr added in v0.1.1

func (pc *Conn) LocalAddr() net.Addr

func (*Conn) Peek added in v0.1.1

func (pc *Conn) Peek(n int) ([]byte, error)

func (*Conn) Read added in v0.1.1

func (pc *Conn) Read(b []byte) (int, error)

func (*Conn) RemoteAddr added in v0.1.1

func (pc *Conn) RemoteAddr() net.Addr

func (*Conn) SetDeadline added in v0.1.1

func (pc *Conn) SetDeadline(t time.Time) error

func (*Conn) SetReadDeadline added in v0.1.1

func (pc *Conn) SetReadDeadline(t time.Time) error

func (*Conn) SetWriteDeadline added in v0.1.1

func (pc *Conn) SetWriteDeadline(t time.Time) error

func (*Conn) Write added in v0.1.1

func (pc *Conn) Write(b []byte) (int, error)

Other methods to satisfy the net.Conn interface

type CryptoConn

type CryptoConn struct {
	net.Conn
	io.ReadWriteCloser
	Cryptor
	// contains filtered or unexported fields
}

func NewCryptoConn

func NewCryptoConn(conn net.Conn, cryptor Cryptor) *CryptoConn

func NewCryptoRWC added in v0.1.0

func NewCryptoRWC(rwc io.ReadWriteCloser, cryptor Cryptor) *CryptoConn

func (*CryptoConn) Close added in v0.1.0

func (sc *CryptoConn) Close() error

func (*CryptoConn) Read

func (sc *CryptoConn) Read(data []byte) (int, error)

func (*CryptoConn) RemoteAddr added in v0.1.0

func (sc *CryptoConn) RemoteAddr() net.Addr

func (*CryptoConn) Write

func (sc *CryptoConn) Write(data []byte) (int, error)

type Cryptor

type Cryptor interface {
	Encrypt(reader io.Reader, writer io.Writer) error
	Decrypt(reader io.Reader, writer io.Writer) error
	Reset() error
}

func NewCryptor

func NewCryptor(name string, key, secret []byte) (Cryptor, error)

type ReadWriteCloser added in v0.1.1

type ReadWriteCloser struct {
	// contains filtered or unexported fields
}

func (*ReadWriteCloser) Close added in v0.1.1

func (rwc *ReadWriteCloser) Close() error

func (*ReadWriteCloser) Read added in v0.1.1

func (rwc *ReadWriteCloser) Read(p []byte) (n int, err error)

func (*ReadWriteCloser) Write added in v0.1.1

func (rwc *ReadWriteCloser) Write(p []byte) (n int, err error)

type XorEncryptor

type XorEncryptor struct {
	// contains filtered or unexported fields
}

XorEncryptor struct holding key, iv, and separate counters for encryption and decryption

func NewXorEncryptor

func NewXorEncryptor(key []byte, iv []byte) *XorEncryptor

NewXorEncryptor creates a new instance of XorEncryptor

func (*XorEncryptor) Decrypt

func (e *XorEncryptor) Decrypt(reader io.Reader, writer io.Writer) error

Decrypt reads data from reader, applies XOR decryption, and writes it to writer

func (*XorEncryptor) Encrypt

func (e *XorEncryptor) Encrypt(reader io.Reader, writer io.Writer) error

Encrypt reads data from reader, applies XOR encryption, and writes it to writer

func (*XorEncryptor) Reset

func (e *XorEncryptor) Reset() error

Reset resets both the encryption and decryption counters

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL