Skip to content

Latest commit

 

History

History
692 lines (416 loc) · 65.8 KB

README_ru.md

File metadata and controls

692 lines (416 loc) · 65.8 KB
NAME Tron, автоматический скрипт для очистки ПК
AUTHOR Пожертвованя на reddit.com/r/TronScript (vocatus d0t gate@gmail) // PGP key: 0x07d1490f82a211a2
BACKGROUND Зачем во имя %name%? Tron "Сражается за Пользователя"

НЕ СКАЧИВАЙТЕ С GITHUB, СКРИПТ НЕ БУДЕТ РАБОТАТЬ!! ВАМ НУЖЕН ПОЛНЫЙ ПАКЕТ ИЗ /r/TronScript !!

Я устал запускать эти утилиты вручную, и решил отдать это на волю скрипта. Tron, по сути — это batch файл, который автоматизирует несколько задач по очистке Windows машины.

Содержание

  1. Информацию по использованию

  2. Параметры командной строки

  3. Прерывание работы

  4. Заметки по Безопасному режиму

  5. Отправка отчета на почту

  6. Изменение стандартных параметров

  7. Запуск доп. утилит/ПО третьей стороны

  8. Выполнение вложенных обновлений WSUS Offline

  9. Целостность

  10. Лицензия

  11. Возможные трудности и поддержка

  12. Коды выхода скрипта

  13. Полное описание всех действий

USE (Иноформация по использованию)

  1. ПЕРВО-НАПЕРВО: Если если у Windows в ожидании имеется обновление, перезагрузите машину и разрешите установить обновления. Это не необходимо но очень рекомендуется.

  2. Скачайте tron. Ссылка для скачивания находятся в верху поста в /r/TronScript. Если вы скачали самораспаковывающийся .exe, запустите его, она распакует tron.bat и \resources директорию. Это все нужно будет перетащить на Рабочий стол машины, на которой будет запускаться скрипт.

  3. Tron можут быть запущен в обычном режиме Windows или же в Безопасном режиме с поддержкой сетевых драйверов. В большинстве случаев запуск Tron из под обычного режима предпочтителен. Используйте безопасный режим только когда система сильно заражена.

  4. Запустите tron.bat от имени Администратора. Иначе скрипт не будет работать.

  5. Подождите 3-10 часов (да, это долго; нет, НЕЛЬЗЯ прерывать работу в середине процесса)

    *Внимание: Вам нужно вручную нажать "scan" в окне MBAM которое появляется на стадии 3: Дезинфекция. Tron продолжит работу в фоновом режиме выполнять свои другие задачи пока ожидает от вас ответа, так что скрипт не остановится если вас нет рядом, что бы вы нажали кнопку "scan" мгновенно.

  6. Перезагрузка. Перезагрузите машину перед тем как что-нибудь делать.

По стандартным параметрам, мастер-лог файл находится по пути C:\Logs\tron\tron.log. Если Вы хотите изменить эти параметры, прочитайте раздел с изменением стандартных параметров ниже.

В зависимости от того, на сколько сильно система заражена, может изменяться время работы скрипта. От 3 до 10 часов. Лично мной замечено 4-8 часов, и один пользователь сообщил, что скрипт работал 30 часов. Так что, запустите и забудьте.

Если вы запустите Tron с параметрами -udl, то мне будет отправлен email с логами по истечению выполнения скрипта. Необходимсоти в этом нет, но это будет полезно для дальнейшего улучшения работы скрипта.

ПРИМЕЧАНИЕ: Каждая под-стадия скрипта (т.к. stage_2_de-bloat.bat) может быть запущена индивидуально вне основного скрипта. Помните, что их нужно так же запускать от имени Администратора.

#command-line-use (Параметры командной строки)

Командная строка полностью поддерживается. Все флаги опциональны и могут быть совмещены. *

tron.bat [-a | -c -d -dev -e -er -m -o -p -r -rmb -sa -sap -scc -scs -sd -sdb
      -sdc -sdu -se -sk -sl -sm -sor -spr -ss -str -swu -swo -udl -v -x] | [-h]

Опциональные флаги. (Могут быть совмещены)
-a  автоматический режим(Без режима приветствия или вывода; Предполагает -e)

-asm 	Автоматический режим (Без вывода; предполагает -e; перезагрузка в безопасный режим с поддержкой сетевых драйверов)

-с	Вывод текущей конфигурации.(может быть использован с другими флагами,чтобы узнать ЧТО произойдет, но скрипт никогда не запустится)

-d	Пробный запуск.(Запускает скрипт без запуска каких либо работ)

-dev  Отменяет проверку версии ОС.(Позволяет запустить скрипт на не поддерживаемых версиях Windows)

-e	Принять EULA.(Отменяет экран предупреждения об отказе от ответственности)

-er	Отправка на электронную почту информацию о завершении работы скрипта. Необходимо настроить SwithMailSettings.xml

-m	Сохранить стандартные Metro-приложения. (Не удаляет их)

-o	Выключить ПК после завершения. Отменяет -r.

-p	Сохранить настройки питания.(Не сбрасывать до стандартных настроек Windows)

-r	Автоматическая перезагрузка. (Авто-перезагрузка через 15 секунд после завершения)

-rmb Удалить Malwarebytes (деинсталлировать) после завершения работы Tron

-sa	Отменить ВСЕ сканирования антивирусами.(RVRT, MBAM, SAV)

-sap Пропустить применение патчей. (Не патчить 7-Zip или Adobe FlashPlayer)

-scs Пропустить запуст пользовательских скриптов. (Если пользовательских скриптов нет, то ничего не произойдет)

-scc Пропустить удаление cookies (Не рекомендуется, Tron самостоятельно удаляет только редко используемые cookies)

-sd	Пропустить дефрагментацию.(Принудительно заставить Tron ВСЕГДА пропускать Stage 5 дефрагментацию)

-sdb Пропустить удаление раздутого ПО (Удаление раздотого OEM ПО; предполагает -m)

-sdc  Пропустить очитску DISM компонентов 

-sdu  Пропустить обновление списка debloat для Stage2

-se	Отключить очищение журнала Windows.(Не удалять записи из журнала Windows)

-sk	Отменить проверку Kaspersky Virus Tool(KVRT).

-sm	Отменить проверку Malwarebytes Anti-Malware(MBAM).

-sor Пропустить удаление OneDrive вне зависимости от того, используется он или нет. 

-spr Сброс файла подкачки. (Не устанавливать флаг "Позволить Windows управлять этим файлом")

-spr  Отменить сброс файла подкачки.(Не ставить флаг "Разрешить Windows управлять файлом подкачки")

-ss	Пропустить проверку Sophos Anti-virus(SAV)

-str  Пропустить удаление средств телеметрии.(Только отключает слежку за пользователем, но не удаляет ее.)

-swu   Пропустить попытку запустить Windows Update.

-swo   Пропустить только выполнение вложенных обновлений WSUS Offline. (Попытка установить онлайн обновление все равно будет произведена)

-udl  Выгрузить дебаг лог. Отправляет tron.log и GUID дамп разработчику Tron.

-v	Подробный вывод. Показывать весь доступный вывод.(ВНИМАНИЕ! Значительно замедляет процесс!)

-x	Самоуничтожение. Tron удалит себя после выполнения работы и оставит после себя лог-файл.

Дополнительный флаги(Не комбинировать с чем-то еще)
-h	Вывести на экран Help.

* Нет флагов -UMP

SCRIPT INTERRUPTION (Прерывание работы)

Если скрипт прерван, к примеру, сбоем или принудительной перезагрузкой(Часто встречается на Stage_2_de-bloat (удаление раздутого ПО)), он попытается продолжить с последней успешной стадии. Это реализовано через добавление RunOnce в реестре от имени текущего пользователя в начале Stage_0(то есть, когда скрипт только запущен). И удалением записи в конце работы скрипта если завершение работы произведено без прерываний.

Так же при повторном автоматическом запуске Tron будет использовать параметры ранее указанные через командную строку.

Более детально об этой функции можно прочитать в полном описании всех выполняемых действий представленном ниже.

SAFE MODE

В более старых версиях Tron (v10.3.1 и младше) запуск скрипта в Безопасном режиме был более предпочительным, чем запуск в обычном режиме Windows. Данная поличита была изменена в версии v10.4.0 (и выше) и предполагает запуск из обычного режима. Используйте безопасный режим только в случае, если запуск в обычном режиме прерывается или невозможен.

EMAIL REPORT (Отправка отчета на почту)

Чтобы Tron отправил Вам письмо о завершении работы, редактируйте этот файл:

\tron\resources\stage_7_wrap-up\email_report\SwithMailSettings.xml

Укажите свой SMTP сервер, логин и пароль. После конфигурирования данного файла, можете использовать флаг -er для отправки оповещения. Общие логи (tron_removed_files.txt и tron_removed_programs.txt) будут прикреплены.

Учтите, что логин и пароль от электронной почты сохранены в не зашифрованном виде ОТКРЫТЫМ ТЕКСТОМ. Соблюдайте осторожность на ПК которому не доверяете.

CHANGE DEFAULTS (advanced) (Изменение стандартных параметров)

Если Вы не хотите использовать командную строку, и Вам не нравится стандартные настройки Tron, Вы можете поменять следующие параметры. Учтите что флаги командной строки всегда будут иметь приоритет выше чем указанные настройки по-умолчанию.

Редактируйте этот файл: \tron\resources\functions\tron_settings.bat

  • чтобы изменить директорию мастер-лог файлов Tron, измените данную строку:

     set LOGPATH=%SystemDrive%\Logs\tron
    
  • чтобы изменить название мастер-лог файла Tron, измените данную строку:

     set LOGFILE=tron.log
    
  • чтобы изменить директорию, где Tron хранит файлы из карантина, измените эту строку.(Внимание! В данный момент не используется Tron'ом, этот параметр не оказывает эффекта)

     set QUARANTINE_PATH=%LOGPATH%\quarantine
    
  • чтобы изменить директорию бэкапов которые создает Tron(реестр, журнал событий Windows, параметры питания, и прочее), измените данную строку:

     set BACKUPS=%LOGPATH%\backups
    
  • чтобы изменить директорию, где Tron хранит не сжатый дамп логов от различных утилит, измените данную строку:

     set RAW_LOGS=%LOGPATH%\raw_logs
    
  • чтобы изменить директорию, где Tron хранит не обработанные логи для различных утилит и стадий, измените данную строку:

    set RAW_LOGS=%LOGPATH%\raw_logs
    
  • чтобы изменить директорию, где Tron хранит общий лог, измените данную строку:

     set SUMMARY_LOGS=%LOGPATH%\summary_logs
    
  • чтобы Tron всегда запускался в автоматическом режиме(без приветственного экрана, запроса на согласие EULA), измените данное значение на yes:

     set AUTORUN=no
    
  • чтобы всенда перезагружаться в Безопасный режим с поддержкой сетевых драйверов (требуется, чтобы AUTORUN был установлен в yes), измените данную строку :

    set AUTORUN_IN_SAFE_MODE=no
    
  • чтобы запустить тестовый запуск(без выполнения каких-либо работ), измените данное значение на yes:

     set DRY_RUN=no
    
  • чтобы отменить проверку версии ОС(разрешает запуск на не поддерживаемой версии Windows), измените данное значение на yes:

     set DEV_MODE=no
    
  • чтобы автоматически принять пользовательское соглашение(EULA)(Отменяет экран предупреждения об отказе от ответственности), измените данный параметр на yes:

     set EULA_ACCEPTED=no
    
  • чтобы заставить Tron отправлять письмо на почту о завершении, измените данный параметр на yes:

     set EMAIL_REPORT=no
    
  • чтобы сохранить настройки Metro-приложений(не удалять их), измените данный параметр на yes:

     set PRESERVE_METRO_APPS=no
    
  • чтобы выключить Пк после завершения работы Tron, измените данный параметр на yes:

     set AUTO_SHUTDOWN=no
    
  • чтобы сохранить настройки схемы питания Windows(вместо того, что бы сбросить их до стандартных настроек windows), измените данный параметр на yes:

     set PRESERVE_POWER_SCHEME=no
    
  • чтобы настроить время автоматической перезагрузки после выполнения Tron, измените данное значение(в секундах). 0 отключает автоматическую перезагрузку.

     set AUTO_REBOOT_DELAY=0
    
  • чтобы автоматически удалить Malwarebytes после завершения работы Tron, измените данное значение на yes:

    set REMOVE_MALWAREBYTES=no
    
  • чтобы пропустить сканирование антивирусами(MBAM, KVRt, Sophos), измените данное значение на yes:

     set SKIP_ANTIVIRUS_SCANS=no
    
  • чтобы пропустить установку патчей (не патчить 7-zip, Java, Adobe FlashPlayer и Reader), измените данное значение на yes::

     set SKIP_APP_PATCHES=no
    
  • чтобы оставить ВСЕ cookies (не рекомендуется, трон автоматически удаляет редко используемые cookies, оставляя Spotify, Gmail, и т.д.), измените данное значение на yes:

    set SKIP_COOKIE_CLEANUP=no
    
  • чтобы пропустить запуск пользовательских скриптов (stage 8), вне зависимости от того, есть в каталоге stage_8_custome_scripts .bat, измените данное значение наyes:

     set SKIP_CUSTOM_SCRIPTS=no
    
  • чтобы пропустить очистку от раздутого программного обеспечения, измените данный параметр на yes:

     set SKIP_DEBLOAT=no
    
  • чтобы всегда пропускать дефрагментацию, независимо от того, находиться ли системный раздел(C:\) на SSD или нет, измените данный параметр на yes:

     set SKIP_DEFRAG=no
    
  • чтобы пропустить очистку DISM (WinSxS директория), измените параметр на yes

     set SKIP_DISM_CLEANUP=no
    
  • что бы отключить попытку Tron соединения с gitHub и автоматического обновление списка раздутого ПО для Stage2, измените данный параметр на yes:

     set SKIP_DEBLOAT_UPDATE=no
    
  • чтобы отключить очистку журнала событий Windows, измените данный параметр на yes:

     set SKIP_EVENT_LOG_CLEAR=no
    
  • чтобы отменить сканирование утилитой Kaspersky Virus Rescue Tool (KVRT), измените данный параметр на yes:

     set SKIP_KASPERSKY_SCAN=no
    
  • чтобы отменить установку Malwarebytes Anti-Malware (MBAM), измените данный параметр на yes:

     set SKIP_MBAM_INSTALL=no
    
  • Чтобы пропустить удаление OneDrive вне зависимости от того, используется он или нет, измените данную строку:

     set SKIP_ONEDRIVE_REMOVAL=no
    
  • чтобы отменить настройки файла подкачки до стандартных настроек windows, измените данный параметр на yes:

     set SKIP_PAGEFILE_RESET=no
    
  • чтобы отменить сканирование Sophos Anti-virus (SAV), измените данный параметр на yes:

     set SKIP_SOPHOS_SCAN=no
    
  • чтобы отключить полное удаление средств телеметрии Windows(сбор пользовательских данных), измените данный параметр на yes:

     set SKIP_TELEMETRY_REMOVAL=no
    
  • чтобы отменить Выполнение вложенных обновлений WSUS Offline (online все равно будет запущен), измените данный параметр на yes:

     set SKIP_WSUS_OFFLINE=no
    
  • чтобы отменить попытку запуска обноелений Windows (игнорировать WSUS offline и online), измените данный параметр на yes:

     set SKIP_WINDOWS_UPDATES=no
    
  • Чтобы автоматически выгрузить дэбаг логи разработчику (vocatus), измените данную строку:

     set UPLOAD_DEBUG_LOGS=no
    
  • чтобы включить отображение всего доступного вывода, измените данный параметр на yes:

     set VERBOSE=no
    
  • чтобы включить автоматическое удаление Tron после завершения(самоуничтожение), измените данный параметр на yes:

     set SELF_DESTRUCT=no
    
  • Нет флагов '-UMP'.

EXECUTING 3RD-PARTY CUSTOM SCRIPTS: (ПО третьей стороны)

Tron поддерживает запуск сторонних скриптов прямо перед конечным этапом.

Разместите любой batch файл который хотите запустить после работы Tron в эту директорию: \tron\resources\stage_8_custom_scripts

Запуск сторонних скриптов происходит по схеме:

  • Если в директории имеются любые .bat файлы, Tron запустит каждый из них каскадом по имени. Когда скрипты завершат свою работу будет выполнена последняя стадия очистки и обычное завершение Tron.

  • Если в директории нет .bat файлов, стадия Stage_8_custom_scripts будет пропущена.

  • Необходимые файлы для работы скриптов, находящиеся в той же директории будут проигнорированы. Tron ищет только .bat файлы.

  • Если Вы хотите использовать дополнительные batch файлы, но не хотите, что бы Tron их выполнял - используйте расширение .cmd вместо .bat и Tron будет их игнорировать.

  • Ответственность за работу пользовательских скриптов несут сами пользователи. Я не буду оказывать какой либо поддержки, кроме возможности запуска этих самых скриптов.

  • Используйте -scs ключ или отредактируйте файл \tron\resources\tron_settings.bat и установите значение SKIP_CUSTOM_SCRIPTS на yes, что бы заставить tron игнорировать любые пользовательские скрипты, даже если они расположены в правильной директории. Может быть полезно, если вы имеете скрипты только для запуска на определенных машинах и не хотите носить две копии tron с собой.

EXECUTING BUNDLED WSUS OFFLINE UPDATES (Выполнение вложенных обновлений WSUS Offline)

Tron поддерживает использование вложенных обновлений WSUS offline также как и традиционные online обновления.

Чтобы добавить offline обновление в Tron:

  1. Скачайте WSUS Offline

  2. Запустите и скачайте нужные вам обновления

  3. Скопируйте Client каталог (обычно он находится в \wsusoffline\client) в \tron\resources\stage_5_patch\wsus_offline\client\

  4. Удостоверьтесь что update.cmd расположен по этому пути \tron\resources\stage_5_patch\wsus_offline\client\Update.cmd

  5. Запустите Tron, он должен автоматически обнаружить обновления

Если по какой-то причине вы желаете пропустить выполение вложенных обновлений WSUS offline на определенной системе, используйте ключ -swo. Или отредактируйте tron_settings.bat и установите параметр SKIP_WSUS_oFFLINE на yes и Tron будет игнорировать WSUS offline.

INTEGRITY (Целостность)

В каждом релизе, файл \tron\integrity_verification\chechsums.txt содержит SHA-256 хэши каждого файла используемого Tron, и подписаны моим PGP ключем (0x07d1490f82a211a2, включительно). Вы можете использовать их для проверки целостности пакетов.

LICENSE (Лицензия)

Tron и любые используемые им скрипты и .reg файлы были написаны мной бесплатно для использования/каких-угодно_действий под лицензией MIT License. Было бы очень приятно, если бы вы отправили мне письмо, если делаете/сделали что-то крутое с этим. Но это не обязательно. Все программное обеспечение третьей стороны (MBAM, TSSSK, и т.д.) распространяется отдельно и имеет свои собственные лицензии. Это ВАША ответственность решать, можете ли вы их использовать в Своих специфических ситуациях.

Problems AND SUPPORT (Возможные затруднения и поддержка)

Пожалуйста, ознакомьтесь здесь со списком часто наиболее частыми затруднениями (Tron, вероятно, завис, и т.д.). Если вы не нашли там рекомендаций по вашей ситуации, создайте пост верхнего уровная в r/TronScript и я или сообщество вам помогут. Так же я доступен 24/7 на Keybase.

Надеюсь это поможет остальным технарям.

  • Vocatus

Если вы чувствуете себя сверх-щедрыми:

Bitcoin: 1Bfxpo1WqTGwRXZKrwYZV2zvJ4ggyj9GE1

Monero: 4GG9KsJhwcW3zapDw62UaS71ZfFBjH9uwhc8FeyocPhUHHsuxj5zfvpZpZcZFHWpxoXD99MVt6PnR9QfftXDV8s6Hh2QHtyHWnQFDgFUCJ

SCRIPT EXIT CODES (Коды выхода скрипта)

Когда Tron завершается, он передает сигнал выхода (успешное завершение/предупреждение/ошика/неудачное завершение/и другое).

Код Значение
0 Success (Успешное завершение)
1 Error (usually fatal) (Фатальная ошибка)
2 Warning (non-fatal) (Предупреждение)
3 Unsupported OS (run with -dev to override) (Неподдерживаемая ОС, используйте -dev, чтобы избежать проверки версии ОС)
4 Exit pending reboot (Работы закончены, ожидается перезагрузка)
5 User is an idiot (aka you tried running from the temp directory in spite of the instructions clearly saying not to) (Пользователь идиот. Tron был запущен из каталога временных файлов несмотря на то, что в инструкции явно указано этого не делать)

FULL TRON DESCRIPTION (Полное описание)

Самый простой способ узнать, что делает Tron, это открыть Tron.bat или файл определенной стадии с помощью текстового редактора(желательно с подсветкой синтаксиса) или на GitHub и просто читать код. Каждая секция имеет комментарии описывающие действия, поэтому Вам не обязательно быть программистом что бы понять код. В любом случае, не смотря на это, вот общее описание каждого действия скрипта.

tron.bat

Исходный код

Главный скрипт, запускающий все другие инструменты. Он использует большое количество действий сам по себе, но не все задачи мы можем выполнить непосредственно, поэтому вызываем дополнительные инструменты или скрипты. Каждая стадия (STAGE 1: Tempclean) имеет свой собственный мастер-скрипт, который Tron вызывает в цепочке. Скрипты под-стадий могут быть найдены в соответствующей стадии директории по пути \tron\resources\stage_1_tempclean\stage_1_tempclean.bat

Tron-internal prep jobs (подготовительные работы Tron)

(Данные скрипты/инструменты работоспособны даже если Tron не запустил их самостоятельно)

  1. Определение на запуск из TEMP: Определяет, из какой директории запущен Tron, Если это TEMP, прерывает запуск. TEMP это первое место, которое Tron очищает при запуске, поэтому не может быть запущен оттуда.

  2. Создание лог директорий: Создает мастер-лог и поддиректории если они не созданы. По умолчанию это %SystemDrive\Logs\tron.log

  3. Определение версии Windows и Internet Explorer: Определяет довольно много параметров в сценарии, на пример, какие версии различных команд будут использованы.

  4. Не поддерживаемая ОС: Выдает сообщение об ошибке если запуск происходит на не поддерживаемой ОС и прерывается. Используйте флаг -dev, что бы отменить эту проверку и разрешить запуск на не поддерживаемой версии windows.

  5. Определение типа ПЗУ: Определяет, является ли системный раздел установлен на SSD, виртуальный диск, или выдает ошибки(которые не могу быть определены через smartctl.exe). И устанавливает параметр SKIP_DEFRAG на yes_ssd, yes_vm, yes_error. Если переменная имеет одно из указаных значений, Tron пропустит Stage 5: Defrag автоматически.

  6. Определяет свободное пространство на диске: Определяет свободное пространство на диске для будущего сравнения. Просто используется, что бы показать, сколько свободного пространства появилось после проделанной работы. Не влияет на любые функции скрипта.

  7. Определяет факт запуска: Проверяет была ли работа скрипта продолжена после прерывания, на пример, перезагрузки.

  8. Включает меню выбора загрузки в Безопасный Режим: Включает возможность использовать кнопку F8 при загрузке (Только windows 8/8.1; включено по-умолчанию на server 2012/2012 R2)

  9. Проверка наличия подклчюения с сетью Интернет: проверяет наличие доступа в сеть Интернет. И отменят проверку обновлений, если соединений нет.

  10. Проверяет на наличие новой версии: Сравнивает локальные файлы Tron с версией на официальном репозитории (Использует wget что бы скачать sha256sums.txt с зеркала Tron, и определить, является ли данная версия последней). Если локальная копия Tron является устаревшей, то Вас спросято возможности автоматического обновления. Если ответите ДА, он скачает ее на Рабочий Стол, проверит SHA-256 хэш, и удалит текущую версию.

  11. Обновление списка раздутого ПО: Устанавливает соединение с GitHub и скачивает последнюю версию списка раздутого ПО для Stage 2 debloat перед запуском. Используйте ключ -sdu (SKIP_DEBLOAT_UPDATE) для предотвращения подобного поведения. Я рекомендую позволять Tron обновлять данные списки и делать исключения только в случае, если у вас есть на то весомые причины.

  12. Проверка наличия прав: Проверяет наличие прав администратора, в случае отказа, выведет на экран ошибку.

  13. Создание ключа RunOnce: Создает соответствующую запись в реестре для последующего запуска после возможного прерывания работы Tron. HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce /v "tron_resume" /t REG_SZ /d "%~dp0tron.bat %-resume"

    Внимание: -resume это внутренний флаг и не предназначен для человеческого использования в коммандной строке. Если вы будете его использовать - вы все сломаете и я буду громко смеяться.

  14. Проверка S.M.A.R.T: Создает дамп SMART статуса всех доступных дисков в системе, и выводит сообщение на экран, в случае если имеется код: Error, Degraded, Unknown, PredFail, Service, Stressed, NonRecover.

STAGE 0: Prep (СТАДИЯ 0: подготовка)

Исходный код

  1. Создает точку восстановления системы: Создает точку восстановления системы . Только Windows Vista и выше. Не поддерживается на серверных редакциях ОС. Так же не поддерживается на Windows10, если система находится в любой форме безопасного режима. Это известный баг, я потратил много часов пытаясь выяснить откуда он берет начало. Но так и не смог найти решение. Если Вы абсолютно уверены в необходимости создания точки восстановления - рекомендую запускать Tron в нормальном режиме.

  2. Rkill: Rkill это anti-malware проверочная утилита. Она ищет malware и убивает мешающие инструментам удаления. Rkill игнорирует любой процесс указанный в \resources\stage_0_prep\rkill\rkill_process_whitelist.txt (ссылка на список)

  3. Создание профиля до запуска: Создает дамп всех установленных программ и список всех файлов в системе, что бы была возможность узнать что именно было удалено.

  4. Дамп GUID: Создает GUID дамп всех устновленных программ. Эти дампы полезны для проекта, из них собирают черные списки GUID'ов.

  5. Дамп списка Metro приложений: Создает список установленных Metro прилоежений. Это помогает проекту bolster обновлять черный список Metro приложений для удаления.

  6. ProcessKiller: Утилита предоставленная /u/cuddlychops06 которая убивает ряд процессов запущенных от имени пользователя. Мы используем ее так же, для завершения любых процессов которые могут иметь конфликты с Tron. Конкретно, она завершает все процессы запущенные от имени пользователя, кроме: ClassicShellService.exe, explorer.exe, dwm.exe, cmd.exe, mbam.exe, teamviewer.exe, TeamViewer_Service.exe, Taskmgr.exe, Teamviewer_Desktop.exe, MsMpEng.exe, tv_w32.exe, VTTimer.exe, Tron.bat, rkill.exe, rkill64.exe, rkill.com, rkill64.com, conhost.exe, dashost.exe, wget.exe

  7. Безопасный Режим: Вынуждает систему перезагрузиться в безопасный режим с поддержкой сетевых драйверов если происходит перезагрузка. Tron самостоятельно убирает данные настройки и восстанавливает значения по-умолчанию в конце работы скрипта. Вызывается командой:

    bcdedit /set {default} safeboot network
    
  8. Устанавливает системное время через NTP: Синхронизирует системные часы с time.nist.gov, 3.pool.ntp.org, time.windows.com

  9. Проверяет и восстанавливает WMI: Проверяет WMI интерфейс и восстанавливает если поврежден. Tron использует WMI для многих целей, включая конвертацию формата даты в ISO, для полного удаления раздутого ПО, и для других различных задач. Критически необходимо для работы Tron.

  10. McAfee Stinger: Anti-Malware/rootkit/virus самостоятельный сканер от McAfee. Не поддерживает ведение лога открытым текстом, так что мы используем HTML логи в %LOGPATH% Tron'а. Tron запускает Stinger через:

    stinger32.exe --GO --SILENT --PROGRAM --REPORTPATH="%LOGPATH%" --RPTALL --DELETE
    
  11. TDSS Killer: Anti-rootkit утилита от Лаборатории Касперского. Tron запускает командой:

    dsskiller.exe -l %TEMP%\tdsskiller.log -silent -tdlfs -dcexact -accepteula -accepteulaksn
    
  12. Бэкап реестра. Используется erunt: Используется для создания бекапа реестра.

  13. VSS purge: Безвозвратно удаляет скрытые файлы, которые являются старой резервной копией файлов. Malware часто могут прятаться именно там.

  14. Изменяет данные о размере места для восстановления системы: Изменяет настройки системы, что бы она использовала для восстановления 7% от доступного свободного места на диске.

  15. Отключает спящий режим: Tron использует caffeine.exe для отключения спящего режима когда скрипт стартует. В конце скрипта он сбрасывает настройки питания Windows на настройки по-умолчанию. Использование флага -p в скрипте Tron предотвращает сброс настроек питания.

STAGE 1: TempClean (СТАДИЯ 1: Очистка временных файлов)

Ссылка на исходный код Stage 1

  1. Очистка Internet Explorer: Запускает встроенную в Windows функцию очистки и сброса настроек IE (Выполняется только для Internet Explorer v7 и выше):

    rundll32.exe inetcpl.cpl,ClearMyTracksByProcess 4351
    
  2. CCLeaner: Утилита для очистки временных файлов. Запуск производиться перед запуском AV сканнеров. Учтите, что CCleaner удаляет содержимое %AppData% с локального хранилища. Отредактируйте ccleaner.ini и измените (App)Local Storage*=True на (App)Local Storage*=False если вам хотите избежать такого поведения. Так же учитывайте, что это нужно будет сделать и для BleachBit (описание доступно ниже)

  3. TempFileCleanup.bat: Лично мной написанный скрипт, который очищает файлы/директории которые другие утилиты пропускают.

  4. USB Device Cleanup.exe: Удаляет неиспользуемые\давно_не_используемые драйверы_USB. Использует drivecleanup.exe от Uwe SIeber

  5. Удаление дубликатов загруженных файлов: Ищет и удаляет дубликаты в директории Загрзки всех пользователей (ChromeInstaller(1).exe, ChromeInstaller(2).exe, и т.д.) Использует утилиту Find Dupe от Sentex.

  6. Очистка журнала событий Windows: Делает резервную копию журнала событий по умолчанию в '%LOGPATH%', после удаляет записи из журнала.

  7. Очистка кэша Windows Update: Безвозвратно удаляет файлы установки для уже установленных обновлений. Обычно освобождает немного пространства на диске.

    rmdir /s /q %windir%\softwaredistribution\download
    
  8. Стирание кэша BranchCache: Tron исполняет команду netsh branchcache flush чтобы стареть кэшированные данные в BranchCache (Только Windows 7 и выше)

STAGE 2: De-bloat (СТАДИЯ 2:Удаление раздутого ПО)

Исходный код

  1. OEM De-bloat (по имени): использует WMI для удаления любой программы указанной в этом файле:

    \tron\resources\stage_2_de-bloat\oem\programs_to_target_by_name.txt
    
  2. OEM de-bloat (по GUID): Использует WMI для удаления программ указанных в этом файле:

    \tron\resources\stage_2_de-bloat\oem\programs_to_target_by_GUID.bat
    
  3. Toolbar & BHOs (по GUID): Использует WMI для удаления программ указанных в этом файле:

    \resources\stage_3_de-bloat\toolbars_BHOs_to_target_by_GUID.bat
    
  4. Metro de-bloat: Удаляет пред. установленные Metro-приложения которые никто не использует. (Не удаляет такие приложения как Калькулятор, Paint) Потом удаляет их из кэша(Вы всегда можете вернуть их позже через Windows Update). На Windows 8/8.1 удаляет весь стэк "современных" приложений. На Windows10 и выше - удаляет только некоторые специфичные приложения. Полный список удаляемых приложений можно посмотреть здесь (Microsoft) и здесь (OEM/Третья сторона). Используйте -sdb ключ (пропустить всю очистку от раздетого программного обеспечения") или -m ключ (пропустить только удаление Metro-приложений) для отключения действия. Так же как и список GUID выше, вы можете отредактировать эти файлы для добавления или удаления приложений из списка. Учитывайте, что PowerShell скрипт с удалением Metro приложений поддерживает запуск без основного скрипта, к примеру, если вы хотите только удалить Metro приложения.

  5. ** Удаление интеграции OneDrive**: Принудительно и беспощадно удаляет интеграцию OneDrive (Только для Windows 10). Tron сначала проверяет наличие любых файлов в OneDrive директории по умолчанию (%USERPROFILE%\OneDrive\) и пропускает удаление если файлы имеются. Как дополнительная мера предосторожности - Tron оставляет директорию OneDrive нетронутой независимо, была ли удалена ли интеграция. Используйте ключ -sor, чтобы исключить удаление OneDrive в любых сценариях.

STAGE 3: Disinfect (СТАДИЯ 3: Дезинфекция)

Исходный код

  1. Очистка CryptNet SSL кэша: Очищает CryptNet SSL кэш сертификатов выполняя терм: certutil -URLcache * delete

  2. Malwarebytes Anti-Malware: Anti-Malware сканнер. Из-за отсутствия поддержки командной строки для MBAM, мы просто установили его и продолжили дальше по скрипту. Таким образом, техник может нажать SCAN когда хочет, но скрипт не остановиться в ожидании ввода. Использование флагов -sa или -sm задаст пропуск этого компонента.

  3. KVRT: Virus Remoal Tool от Лаборатории Касперского. Используйте флаги -sa или -sk для пропуска запуска данного компонента. Tron запускает его как:

  4. Sophos Virus Removal Tool: антивирусный сканер с поддержкой командной строки. Использование флага -v даст больше информации о сканировании. Использование флагов -sa или -ss отменит запуск данного компонента.

STAGE 4: Repair (Стадия 4: Восстановление)

Исходный код

  1. Удаление установщиков msi: использует msizap.exe утилиту от Microsoft для удаления установленных msi пакетов из кэша установщика.

  2. System File Checker: Утилита от Microsoft для проверки файловой системы на наличие ошибок и автоматическое исправление оных если таковые будут обнаружен. Tron запускает данную утилиту только на Windows Vista и выше (XP и ниже требуют перезагрузки)

  3. DISM image check & repair: Утилита проверки Windows Image Store от Microsoft(Одна из самых мощных проверочных утилит файловой системы). Только windows 8 и выше.

3 chkdsk: Проверяет диск на ошибки и вносит chkdsk в загрузку для последующего исправления оных (устанавливает метку dirty на раздел).

  1. Отключение средств телеметрии Windows: Отключает телеметрию Windows(отслеживание действий пользователя), Только Windows 7 и выше. Если скрипт запущен на windows 7/8/8.1, Tron удаляет "плохие" обновления Microsoft, которые выпущены для этих версий с целью включения телеметрии в них. Tron удаляет эти обновления из windows 7/8/8.1. Tron так же отключает и удаляет DiagTrack(Диагностическая отслеживающая служба) службу. Если скрипт запущен под управлением Windows 10, Tron делает более глубокую очистку телеметрии Windows. Подробности смотрите в коде 7/8/8.1, Win10 что бы увидеть что именно будет удалено и отключено. Если запуск происходит на Windows10 - Tron делает более глубокую работу по отключению телеметрии, включая включение иммунитета от Spybot Anti-Beacon и O&O ShutUp10. Код можно посмотреть в \tron\resources\stage_4_repair\disable_windows_telemetry\. ВАЖНО: этот процесс занимает некоторое время, НЕ ПРЕРЫВАЙТЕ ЕГО. Используйте флаг -str, что бы пропустить данную операцию.

  2. Отключение обновления до Windows 10: Отключает уведомление об обновлении для Windows 7/8/8.1 изменяя значения реестра. Пользователи все еще могут обновить систему если пожелают через панель управления. Но не через трэй, авто-загрузку, авто-установку windows 10 без их согласия.

  3. Восстановление работы сети: Tron делает мелкие восстановления конфигурации сети. Точнее, он запускает: ipconfig /flushdns, netsh interface ip delete arpcache, netsh winsock reset catalog

  4. Восстановление файлов расширений: Tron восстанавливает стандартные файлы расширений с помощью batch файла который зациклено просматривает файлы реестра сохраненные в:\tron\resources\stage_4_repair\repair_file_extensions\

STAGE 5: Patch (СТАДИЯ 5: Патч)

Исходный код

Tron обновляет эти программы. Если программа не установлена - патч пропускается:

  1. 7-Zip: Программа с открытым исходным кодом для сжатия и извлечения файлов. Всеядна, употребляет даже WinRAR). Используйте флаг -sp, что бы отменить данную операцию.

  2. Adobe Flash Player: Используется для воспроизведения медиа-контента в сети. Используйте флаг -sp, что бы отменить данную операцию.

  3. Windows Update: Запускает Windows Update с помощью: wuauclt /detectnow /updatenow. Используйте ключ -sw, что бы пропустить данную операцию.

  4. DISM base reset: Пересобирает "Windows Image Store" (SxS store) после того как мы ранее закончили удалять старые файлы. Только Windows 8 и выше. Обычно они занимают много места. Любое установленное обновление близкое к данной точке будет неудаляемым. Используйте ключ -sdc для отмены действия.

STAGE 6: Optimize (СТАДИЯ 6: Оптимизация)

Исходный код

  1. Сбрасывает файл подкачки: Сбрасывает настройки файла подкачки до "Пускай Windows управляет файлом подкачки". Приводиться в действие с помощью:

    %WMIC% computersystem where name="%computername%" set AutomaticManagedPagefile=True

    Используйте флаг -spr, что бы пропустить данную операцию.

  2. Defraggler: утилита от Piriform для дефрагментации с поддержкой командной строки. Немного быстрее чем встроенная в Windows утилита. Автоматически пропускается если обнаружен SSD. Используйте флаг -sd, что бы пропустить данную операцию.

STAGE 7: Wrap-up (СТАДИЯ 7: Сводка)

Специфический код для каждой стадии в tron.bat

  1. Генерация общего лога: Генерация общих лог-файлов до и после развернутой информации о удаленных файлах и программах. Находятся по адресу: <LOGPATH>\tron_summary_logs. Дополнительно, если был установлен флаг -er, или настроен EMAIL_REPORT, эти логи будут прикреплены с письмом.

  2. Создает точку восстановления: Создает точку восстановления после проделанной работы, что бы отразить ту, которую мы создали на в Stage 0: Prep (Стадия 0: Подготовка). Только Vista и выше, только клиентские ОС, на Windows 10 не работает если система в любой форме Безопасного Режима. Смотрите заметки по Восстановлению системы в документации по Stage 0.

  3. оповещение письмом: Отправляет письмо с лог-файлами когда Tron закончит. Требует настройки SMTP в \resources\stage_7_wrap-up\email_report\SwithMailSettings.xml

  4. Выгрузка бэбаг логов: Выгружает tron.log и системный GUID дамп ( Список всех GUID установленных программ) к разработчику Tron (Vocatus). Пожалуйста, используйте эту опцию если возможно. Данные логи очень полезны в разработке Tron! ВАЖНО: имейте ввиду, что tron.log может содержать персональную информацию, такую как Имена и имена файлов в системе, имя компьютера, имя пользователя и т.д. Так что, если Вы обеспокоены данным фактом - пожалуйста, просмотрите сначала лог Tron, что бы понять что именно будет отправлено. Мне не важны файлы на рандомных компьютерах в сети, только уведомляю Вас, что бы вы знали.

STAGE 8: Custom Scripts (Стадия 8: Запуск сторонних скриптов)

Код данной стадии находится в Tron.bat

  1. Запуск сторонних скриптов: Tron запустит любой .bat файл находящийся в tron\resources\stage_8_custom_scripts директории. Посмотрите на Запуск сторонних скриптов выше для более полной картины о происходящем.

STAGE 9: Manual Tools (СТАДИЯ 9: Дополнительные инструменты)

Tron не запускает их автоматически, из-за того, что они не поддерживают командную строку, или полезны в специфических ситуациях.

  1. ADSSpy: Сканирует на наличие скрытых NTFS разделов.

  2. AdwCleaner: Популярная программа для удаления таргетированной рекламы.

  3. aswMBR: Rootkit сканнер.

  4. autoruns: Изучает и удаляет программы из автозагрузки.

  5. ComboFix: Руководствуется "Политикой Выжженой Земли" в процессе обнаружения malware. Работает только на windows xp, vista, 7. Не работает на windows 8 и выше.

  6. PCHunter: Утилита сканирует на наличие rootkit`ов и других подозрительных вещей. Замещает собой gmer.

  7. Junkware Removal Tool: Временных файлов и рандомных рекламных баннеров удалитель.

  8. Net Adapter Repair: Утилита для восстановления большинства проблем соединений windows.

  9. Remote Support Reboot Config: Утилита для быстрого конфигурирования авто-логина и других параметров для запуска Tron через удаленное соединение. Спасибо reddit.com/user/cuddlychops06

  10. Safe Mode Boot Selector.bat: batch файл бля быстрого выбора режима загрузки. (Безопасный Режим, с поддержкой сетевых драйверов и т.д.) Спасибо reddit.com/user/cuddlychops06

  11. ServicesRepair.exe: утилита от ESET для восстановления сломанных\не_работающих служб Windows.

  12. Tron Reset Tool:Утилита для быстрого восстановления Tron, если скрипт поврежден или прерывается во время работы.