Как я в армии в Warcraft III играл

Как я в армии в Warcraft III играл

В данной статье я опишу способ скрытия приложений на компьютере, удобного запуска и быстрого скрытого их завершения на примере игры Warcraft III в Windows XP.

Так сложилось, что, проходя службу в нашей доблестной армии, у меня периодически появлялся доступ к компьютеру. И так сложилось, что, уходя в армию, я забыл выложить свою флешку, которую постоянно ношу с собой в кошельке. На этой флешке было много разного барахла, один миллион папок с названием «учеба» и архив с названием… tada! wc3.rar Радости моей не было предела, но тут появился вопрос — как проводить вечера за любимой игрой и при этом остаться незамеченным? На все про все, у меня было 2-3 секунды на закрытие игры.

1. Дружба с треем
  • alg.exe
  • svchost.exe
  • explorer.exe
  • .
  • TrayIt!.exe
  • .
  • ctfmon.exe
2. Всех убил садовник

Свернули игру, теперь надо как-то аккуратно ее закрывать. «Диспетчер задач -> Процессы -> war3.exe -> Завершить процесс» — первое, что приходит в голову, но это долго, не красиво и не всегда есть возможность (и время) так завершить процесс. Я начал поглядывать в сторону командной строки, а именно, в сторону консольной утилиты taskkill. Для начала создадим какую-нибудь рабочую папку для наших bat-ников. Пусть это будет %WINDIR%\Scripts. в ней создаем bat-ник, который будет убивать наш процесс. Назовем его killer.bat и добавим следующее содержимое:

Проверяем – работает. Теперь назначим сочетание горячих клавиш на запуск этого скрипта. Для этого ярлык скрипта кидаем в «С:\Documents and Settings\All Users\Главное меню\» (оно же меню «Пуск»). В свойствах ярлыка вешаем комбинацию горячих клавиш на запуск (у меня стоит «Alt Ctrl Num -»). Переименовываем ярлык в что-нибудь не броское, например «Справочная информация», и меняем иконку ярлыка на подходящую под название.

Чтобы при запуске скрипта не вылетало черное окно с сообщениями утилиты, в свойствах ярлыка в закладке указываем цвет фона — черный, и цвет текста тоже черный, а в закладке «Ярлык» указываем режим запуска «Свернутое в значок».

Примечание: ярлыки запускаются горячими клавишами только из меню Пуск.

3. Truecrypt

Чтобы с помощью поиска, нас не обнаружили, закинем игру на шифрованный том truecrypt'а. Создаем том, удаляем из имени расширение *.tc, размещаем его в каком-нибудь неприметном месте и делаем его скрытым и системным командой:

Отключим отображение тома в проводнике на случай, если мы вдруг забыли демонтировать его. Здесь необходимо договориться, что том будет постоянно монтироваться на один и тот же диск, в моем случае это диск M:\ (my, мой). С помощью «Tweak UI для Windows» (идет по умолчанию в комплекте в сборке ZverCD) в панели управления в разделе «Дисководы» отключаем отображение диска M, и теперь на наш том можно зайти только через адресную строку «M:\».

Неплохо было бы научить наш скрипт killer.bat не только убивать игру, но и отключать том. Добавляем команду:

4. Оптимизация запуска

Готово, что еще? Запускать неудобно: открыть truecrypt, ввести пароль, открыть проводник, ввести M:\, найти игру, запустить. Согласен, долго и не удобно. Предлагаю такое решение: по определенной комбинации горячих клавиш открывается окошко (своеобразная личная командная строка), введя в которую нужную комбинацию, запускается та или иная программа. Приступим. Для начала сделаем скрипт wc.bat, который по необходимости монтирует том и запускает игру:

Теперь сделаем командную строку. Создаем файл menu.bat. По аналогии с killer.bat создаем ярлык, меняем имя, иконку, вешаем комбинацию клавиш (напр. Alt + Ctrl + Num+), режим запуска оставляем по умолчанию и заливаем следующие строки. Для отвода глаз, чтобы если кто-то случайно запустит, не понял, что это за чудо-окно:

Отключаем вывод сообщений на экран:

Вводим строку и записываем ее в переменную file:

Проверяем, существует ли файл с названием %file%.bat и, если существует, запускаем его.

Если ввести имя файла, которого не существует, то окно просто закроется. Такая система довольно удобна и гибка тем, что для введения новой команды достаточно создать рядом новый скрипт, назначить ему короткое удобное имя и оно будет исполняемо через menu.bat. Так, например, помимо wc.bat я дописал еще такие bat-ники: opr.bat

h.bat (аля, home)

5. Обфускация

И вот уже все отлажено, все хорошо, четко, быстро работает, необходимые скрипты написаны. Что еще? Меня смущал один факт, все это очень легко читается. Все это легко читается даже школьником. Больше того, достаточно, не разбирая код, зайти в папку scripts, запустить любой скрипт, и он непременно выполнит то, что необходимо, и запустит то, что в данный момент лучше не запускать. Это меня смущало и я искал небольшую защиту. Идея была проста — из всего полученного нужно было сварить спагетти-код. Переименовываем скрипт wc.bat в imagelib.01.dll или что-нибудь подобное, с целью убрать самоисполняемость файла. Удаляем в menu.bat строки: И вместо них пишем:

Описание происходящего в этой каше. Файлы imagelib.01.dll, imagelib.02.dll являются своеобразными контейнерами кода, который нам необходимо выполнить. Для этого, создается исполняемый дубликат контейнера (т.е. копирование с изменением расширения на .bat), после чего дубликат запускается и удаляется. Плюсы: — пока не разберешь этот код, не догадаешься, что библиотеки, лежащие рядом, вовсе не библиотеки, а bat-ники, в которых содержится путь и пароль к тому — название команды больше не зависит от имени файла Минусы: — +20 секунд к созданию новых команд, т.к. требуется копипастить на одну строку кода больше.

6. Использование

Жмем “Alt + Ctrl + Num+”, вводим wc, играем. Почувствовав опасность, сворачиваем игру. Выставляем пальцы на аккорд “Alt + Ctrl + Num-“ и далее действуем по обстановке.

📎📎📎📎📎📎📎📎📎📎