|
| Cingis |
Дата: Вторник, 15.12.2015, 16:16 | Сообщение # 1 |
|
|
Многим наверное известно, что есть человек с ником JLeGioH, который продаёт свои софты на различные сервисы. Давайте посмотрим на примере SteamCheCkeR v4.5.1 от 15.12.2015 как данный человек ворует все ваши найденные (хорошие) аккаунты из проектных папок и непосредственно из папки с софтом.
Для начала, общий принцип работы софта при запуске. Софт делает запрос на сервер JLeGioH'а, откуда скачивает (при условии, что лицензия на софт валидна) исходный код вспомогательной сборки (далее - модуля) и на стороне клиента компилирует его при помощи средств CSharpCodeProvider. Данный модуль имеет в себе класс NewJLBaseClass. Софт создаёт экземпляр данного класса и с ним уже работает.
 Теперь давайте рассмотрим конструктор данного класса, что же происходит там. На скриншоте ниже мы видим, что идёт проверка файла hosts. Если в данном файле нашлась строка https://href.li/?http://jlegioh.com или jlegioh.info, то софт по понятным причинам закрывается.
 Идём далее. На скриншоте ниже мы видим, как запускается несколько таймеров. Эти таймеры предназначены для периодической отправки на сервер JLeGioH'а запроса, который проверяет наличие лицензии а также для проверки фоновых процессов и закрытия софта в случае, если найден процесс или название окна из чёрного списка.
 Так что не удивляйтесь, если у вас есть лицензионная версия софта и он внезапно закрывается, если вы заходите, например, в раздел PC-RET на нашем форуме. С полным списком запрещенных софтов можно ознакомиться по этой ссылке - http://jlegioh.com/SoftList/GetSoftList Что ж, анализируем дальше. Самое интересное впереди. На следующем скриншоте вы можете видеть как с сервера загружается следующий модуль.
 Скриншот метода:
 Что происходит дальше, вы можете видеть на скриншоте. Загружается сборка, создаётся экземпляр класса CheckForm, а затем стартует интересный поток, который мы сейчас рассмотрим.
 Скриншот метода StartTh:
 Скриншот метода StartOne:
 Теперь мы подошли к самому интересному. Обратите внимание на метод GetStat. Вроде ничем не примечательное название, но именно из-за этого метода и была создана данная тема. Ознакомимся же с его содержимым.
Скриншот метода GetStat:
 Уловили суть происходящего? Если нет, то ниже я описываю каждый шаг, что происходит в этом методе.
Метод GetStart:
 Что мы выяснили? Все файлы, в названии которых есть "good" отправляется на сервер автора! Причем, запрос выглядит весьма безобидно и не должен вызвать никаких подозрений (даже при том, что объем передаваемых данных никак не ограничен). А вот и сам запрос - http://jlegioh.com/Sender/CheckStatusConfigs
Но давайте посмотрим в каком виде хотя бы передаются гуды на сервер.
 Мы видим, что гуды шифруются методом Sha1Cript. Скриншот этого метода приводить не буду, скажу лишь только, что сначала данные шифруются при помощи алгоритма Rijndael (AES), а затем идёт преобразование в Base64. Ну хотя бы на этом спасибо, что автор не передаёт гуды в открытом виде.
В заключении хочу сказать, что цена софта не показатель качества и добросовестности автора и даже в таком дорогом софте, как софте от JLeGioH, могут быть такие неприятные детали. Стоит также отметить, что автор имеет возможность убрать отправку гудов, лишь изменив на стороне сервера модули, которые будет скачивать софт.
Прикладываю также модули для желающих самостоятельно ознакомиться с кодом.
|
|
|
|