Documentation
¶
Index ¶
- Constants
- Variables
- func CreateClaimsPrincipal(program string, args string, formatter string) (string, bool)
- func CreateDataSet(program string, args string, formatter string) (string, bool)
- func CreateDataSetTypeSpoof(program string, args string, formatter string) (string, bool)
- func CreateObjectDataProvider(program string, args string, formatter string) (string, bool)
- func CreateTextFormattingRunProperties(program string, args string, formatter string) (string, bool)
- func CreateTypeConfuseDelegate(program string, args string, formatter string) (string, bool)
- func CreateVeeamCryptoKeyInfo(formatter string) (string, bool)
- func CreateViewstatePayload(payloadData string, machineKey string, generator string) (string, bool)
- func CreateWindowsIdentity(program string, args string, formatter string) (string, bool)
- func FormatLOS(input string) string
- func FormatSOAP(records []Record) (string, bool)
- func IsValidXML(data []byte) bool
- func ReadGadget(gadgetName, formatter string) ([]byte, error)
- func TextFormattingRunPropertiesBinaryFormatter(cmd string) string
- func Write7BitEncodedInt(value int) []byte
- type ArrayInfo
- type ArraySinglePrimitiveRecord
- type ArraySingleStringRecord
- type BinaryLibraryRecord
- type BinaryObjectRecord
- type Body
- type ClassDataNode
- type ClassInfo
- type ClassTypeInfo
- type ClassWithIDRecord
- type ClassWithMembersAndTypesRecord
- type MemberNode
- type MemberReferenceRecord
- type MemberTypeInfo
- type ObjectNullRecord
- type Primitive
- type PrimitiveByte
- type PrimitiveInt16
- type PrimitiveInt32
- type Record
- type SOAPEnvelope
- type SerializationHeaderRecord
- type SystemClassWithMembersAndTypesRecord
Constants ¶
const ( LOSFormatter = "LOSFormatter" BinaryFormatter = "BinaryFormatter" SOAPFormatter = "SOAPFormatter" )
Variables ¶
var BinaryTypeEnumerationMap = map[string]int{
"Primitive": 0,
"String": 1,
"Object": 2,
"SystemClass": 3,
"Class": 4,
"ObjectArray": 5,
"StringArray": 6,
"PrimitiveArray": 7,
}
var PrimitiveTypeEnum = map[string]int{
"Boolean": 1,
"Byte": 2,
"Char": 3,
"Decimal": 5,
"Double": 6,
"Int16": 7,
"Int32": 8,
"Int64": 9,
"SByte": 10,
"Single": 11,
"TimeSpan": 12,
"DateTime": 13,
"UInt16": 14,
"UInt32": 15,
"UInt64": 16,
"Null": 17,
"String": 18,
}
var RecordTypeEnumMap = map[string]int{
"SerializedStreamHeader": 0,
"ClassWithId": 1,
"SystemClassWithMembers": 2,
"ClassWithMembers": 3,
"SystemClassWithMembersAndTypes": 4,
"ClassWithMembersAndTypes": 5,
"BinaryObjectString": 6,
"BinaryArray": 7,
"MemberPrimitiveTyped": 8,
"MemberReference": 9,
"ObjectNull": 10,
"MessageEnd": 11,
"BinaryLibrary": 12,
"ObjectNullMultiple256": 13,
"ObjectNullMultiple": 14,
"ArraySinglePrimitive": 15,
"ArraySingleObject": 16,
"ArraySingleString": 17,
"MethodCall": 21,
"MethodReturn": 22,
}
Functions ¶
func CreateClaimsPrincipal ¶ added in v1.45.0
func CreateDataSet ¶ added in v1.45.0
func CreateDataSetTypeSpoof ¶ added in v1.45.0
func CreateObjectDataProvider ¶ added in v1.45.0
ObjectDataProvider.
func CreateTextFormattingRunProperties ¶ added in v1.45.0
func CreateTypeConfuseDelegate ¶ added in v1.45.0
TypeConfuseDelegate.
func CreateVeeamCryptoKeyInfo ¶ added in v1.45.0
func CreateViewstatePayload ¶ added in v1.45.0
Takes payloadData, a machineKey, and a generator (can be empty) and returns a base64 encoded, signed payload. payloadData should be a dotnet serialized payload.
func CreateWindowsIdentity ¶ added in v1.45.0
func FormatSOAP ¶ added in v1.45.0
func IsValidXML ¶ added in v1.45.0
func ReadGadget ¶
ReadGadget reads a gadget chain file by gadget name and formatter.
func TextFormattingRunPropertiesBinaryFormatter ¶
TextFormattingRunPropertiesBinaryFormatter serializes a TextFormattingRunProperties gadget chain using the BinaryFormatter formatter.
Types ¶
type ArraySinglePrimitiveRecord ¶ added in v1.45.0
type ArraySinglePrimitiveRecord struct { PrimitiveTypeEnum int ArrayInfo ArrayInfo Members string // this will be a hex byte string "\x00\xwhatever" }
func (ArraySinglePrimitiveRecord) GetRecordType ¶ added in v1.45.0
func (arraySinglePrimitiveRecord ArraySinglePrimitiveRecord) GetRecordType() int
func (ArraySinglePrimitiveRecord) ToRecordBin ¶ added in v1.45.0
func (arraySinglePrimitiveRecord ArraySinglePrimitiveRecord) ToRecordBin() (string, bool)
type ArraySingleStringRecord ¶ added in v1.45.0
type ArraySingleStringRecord struct { ArrayInfo ArrayInfo Members []interface{} }
func (ArraySingleStringRecord) GetRecordType ¶ added in v1.45.0
func (arraySingleStringRecord ArraySingleStringRecord) GetRecordType() int
func (ArraySingleStringRecord) ToRecordBin ¶ added in v1.45.0
func (arraySingleStringRecord ArraySingleStringRecord) ToRecordBin() (string, bool)
type BinaryLibraryRecord ¶ added in v1.45.0
func (BinaryLibraryRecord) GetRecordType ¶ added in v1.45.0
func (binaryLibraryRecord BinaryLibraryRecord) GetRecordType() int
func (BinaryLibraryRecord) ToRecordBin ¶ added in v1.45.0
func (binaryLibraryRecord BinaryLibraryRecord) ToRecordBin() (string, bool)
type BinaryObjectRecord ¶ added in v1.45.0
func (BinaryObjectRecord) GetRecordType ¶ added in v1.45.0
func (binaryObjectRecord BinaryObjectRecord) GetRecordType() int
func (BinaryObjectRecord) ToRecordBin ¶ added in v1.45.0
func (binaryObjectRecord BinaryObjectRecord) ToRecordBin() (string, bool)
type Body ¶ added in v1.45.0
type Body struct {
Classes []ClassDataNode
}
type ClassDataNode ¶ added in v1.45.0
type ClassInfo ¶ added in v1.45.0
type ClassInfo struct { ObjectID int Name string // Store as just the string, MSUT be made into an LPS when used MemberCount int MemberNames []string }
func (ClassInfo) GetBaseClassName ¶ added in v1.45.0
returns only the last item in the class name obj.Name = "Microsoft.VisualStudio.Text.Formatting.TextFormattingRunProperties" obj.GetLeadingClassName(className) == "TextFormattingRunProperties".
func (ClassInfo) GetLeadingClassName ¶ added in v1.45.0
returns all but the last item in the class name obj.Name = "Microsoft.VisualStudio.Text.Formatting.TextFormattingRunProperties" obj.GetLeadingClassName(className) == "Microsoft.VisualStudio.Text.Formatting".
type ClassTypeInfo ¶ added in v1.45.0
type ClassWithIDRecord ¶ added in v1.45.0
func (ClassWithIDRecord) GetRecordType ¶ added in v1.45.0
func (classWithIDRecord ClassWithIDRecord) GetRecordType() int
func (ClassWithIDRecord) ToRecordBin ¶ added in v1.45.0
func (classWithIDRecord ClassWithIDRecord) ToRecordBin() (string, bool)
type ClassWithMembersAndTypesRecord ¶ added in v1.45.0
type ClassWithMembersAndTypesRecord struct { ClassInfo ClassInfo MemberTypeInfo MemberTypeInfo LibraryID int MemberValues []interface{} BinaryLibrary BinaryLibraryRecord // Not _really_ supposed to be here per MSDN but I placed it here for convenience }
func (ClassWithMembersAndTypesRecord) GetRecordType ¶ added in v1.45.0
func (classWithMembersAndTypesRecord ClassWithMembersAndTypesRecord) GetRecordType() int
func (ClassWithMembersAndTypesRecord) ToRecordBin ¶ added in v1.45.0
func (classWithMembersAndTypesRecord ClassWithMembersAndTypesRecord) ToRecordBin() (string, bool)
type MemberNode ¶ added in v1.45.0
type MemberReferenceRecord ¶ added in v1.45.0
type MemberReferenceRecord struct {
IDRef int
}
func (MemberReferenceRecord) GetRecordType ¶ added in v1.45.0
func (memberReferenceRecord MemberReferenceRecord) GetRecordType() int
func (MemberReferenceRecord) ToRecordBin ¶ added in v1.45.0
func (memberReferenceRecord MemberReferenceRecord) ToRecordBin() (string, bool)
type MemberTypeInfo ¶ added in v1.45.0
type MemberTypeInfo struct { BinaryTypeEnums []int BinaryTypes []string // for convenience AdditionalInfos []interface{} // NOTE: usage not yet implemented, will do so when needed }
func (MemberTypeInfo) ToBin ¶ added in v1.45.0
func (memberTypeInfo MemberTypeInfo) ToBin() (string, bool)
type ObjectNullRecord ¶ added in v1.45.0
type ObjectNullRecord struct{}
func (ObjectNullRecord) GetRecordType ¶ added in v1.45.0
func (objectNullRecord ObjectNullRecord) GetRecordType() int
func (ObjectNullRecord) ToRecordBin ¶ added in v1.45.0
func (objectNullRecord ObjectNullRecord) ToRecordBin() (string, bool)
type PrimitiveByte ¶ added in v1.45.0
type PrimitiveByte byte
func (PrimitiveByte) PrimToString ¶ added in v1.45.0
func (me PrimitiveByte) PrimToString() string
type PrimitiveInt16 ¶ added in v1.45.0
type PrimitiveInt16 int
func (PrimitiveInt16) PrimToString ¶ added in v1.45.0
func (me PrimitiveInt16) PrimToString() string
type PrimitiveInt32 ¶ added in v1.45.0
type PrimitiveInt32 int
func (PrimitiveInt32) PrimToString ¶ added in v1.45.0
func (me PrimitiveInt32) PrimToString() string
type SOAPEnvelope ¶ added in v1.45.0
type SOAPEnvelope struct { XMLName xml.Name `xml:"SOAP-ENV:Envelope"` // Specify the XML name with namespace Body Body `xml:"SOAP-ENV:Body"` // Nested struct for Body Xsi string `xml:"xmlns:xsi,attr"` Xsd string `xml:"xmlns:xsd,attr"` SoapEnc string `xml:"xmlns:SOAP-ENC,attr"` SoapEnv string `xml:"xmlns:SOAP-ENV,attr"` Clr string `xml:"xmlns:clr,attr"` EncodingStyle string `xml:"SOAP-ENV:encodingStyle,attr"` }
SOAP Formatter types and funcs.
type SerializationHeaderRecord ¶ added in v1.45.0
func (SerializationHeaderRecord) GetRecordType ¶ added in v1.45.0
func (serializationHeaderRecord SerializationHeaderRecord) GetRecordType() int
func (SerializationHeaderRecord) ToRecordBin ¶ added in v1.45.0
func (serializationHeaderRecord SerializationHeaderRecord) ToRecordBin() (string, bool)
type SystemClassWithMembersAndTypesRecord ¶ added in v1.45.0
type SystemClassWithMembersAndTypesRecord struct { ClassInfo ClassInfo MemberTypeInfo MemberTypeInfo MemberValues []interface{} }
func (SystemClassWithMembersAndTypesRecord) GetRecordType ¶ added in v1.45.0
func (systemClassWithMembersAndTypesRecord SystemClassWithMembersAndTypesRecord) GetRecordType() int
func (SystemClassWithMembersAndTypesRecord) ToRecordBin ¶ added in v1.45.0
func (systemClassWithMembersAndTypesRecord SystemClassWithMembersAndTypesRecord) ToRecordBin() (string, bool)