Главная » Статьи » Кодинг » Из старого |
Стилистика и орфография сохранены, ценность материала при этом не пострадала.Детонатор ака Свободу макросам часть 2Intro:Салам всем любителям покопаться в личной жизни многострадальных юзеров. Сегодня, сейчас я начинаю очередной рассказ из жизни макросов. В данной статье , которая как и все предыдущие является ознакомительной и несет чисто информативный характер ,я постараюсь рассказать о технологии запуска файлов офисных приложений с помощью сторонних программ. Или если быть конкретнее мы с вами постараемся написать небольшую программку - загрузчик на VB.Еще раз повторяюсь, что не несу никакой ответственности за все те последствия, которые могут произойти с людьми или с техникой, после прочтения и претворения в жизнь данного опуса. Итак ехаем : Loading:Для наших сегодняшних экспериментов нам понадобятся: руки прямые - 2 шт., голова на плечах 1 шт. (но лучше 2) .В ваших письмах вы часто задаете вопрос - каким образом загрузить с помощью макросов стороннее приложение. Делается это следующим образом, предположим у вас вдруг резко возникло желание запустить с помощью обыкновенного офисного файла нужное вам приложение. Например , виндозный Калькулятор или на худой конец Нотпад. Для осуществления этой вашей мечты нужно всего лишь размять пальцы и набрать следующее:
Как видите ничего сложного в этом нет. Используется функция Shell ,которая имеет следующий синтаксис :
Единственный необходимый параметр у этой функции - pathname это полный путь к исполняемому файлу, второй параметр взят в квадратные скобки это говорит о том, что данный параметр не обязательный. Он может принимать значения которые приведены в таблице :
По-моему все предельно ясно. С этим вроде разобрались .Теперь приступим к основной части нашего с вами сегодняшнего задания : Dim 2 as variant:Начнем-с. Общеизвестно, что если есть бомба, то должен быть и детонатор. Т.Е.у вас есть макрокод (неважно какого рода), но при его запуске предупреждение о безопасности сводит все ваши старания на нет. Значит вам нужен детонатор чтобы эту бомбу (макрос) завести .Как я и обещал сейчас мы с вами попробуем написать программу-детонатор (загрузчик) на VB с помощью которой попытаемся запустить офисный файл . Открываем VB (любой версии) у меня на компе 6 установлен в следующем диалоговом окне (рис.1) выбираем Standard EXE ,дальше из проекта удаляем все формы (сегодня нам не до них) хотя нет одну форму все-таки оставьте и добавьте туда же стандартный модуль. С этим я надеюсь у вас никаких проблем не должно возникнуть. Форму пока оставьте в покое ее займемся чуть позже. Открывайте свой модуль и пишите ( Листинг # 2). Код закомментирован, так что проблем быть не должно. Рисунок 1 - Все стандартное просто.
Откомпилируем проект и вот он наш Детонатор готов. Весит новорожденный всего лишь 20 кб (20480 байт) - неплохо для начала. Некоторые особливо догадливые скажут что к этим 20 кб надо прибавить 1,3 мб , которые весит msvbvm60.dll без него ни одно приложение написанное на VB не заработает. И будут правы, хотя самое главное в данной ситуации это то что мы добились главного запустили макрос без каких либо предупреждений системы безопасности, а остальное всего лишь издержки производства. Теперь можно и поэкспериментировать с детонатором, проверить его в боевых условиях. Открываем офисное приложение, устанавливаем уровень безопасности в Высокая и пытаемся загрузить ВашФайл.xls ,мы видим до боли знакомое предупреждение системы безопасности. Дальше со словами - подожди, подожди у меня, сейчас я тебе.... закрываем офисное приложение и запускаем наш Детонатор. И вот оно свершилось Микрософт опять лажанулась - макрос, то запустился и система безопасности промолчала... Post FUCKtum ( ):Ладно замаялся я, что-то. Да, насчет той формы что я оставил в проекте, подумайте на сон грядущий что там сварганить чтобы все выглядело чин - чинарем (чтобы ушастый не испугался и повелся на ваш блеф ). Немаленькие вроде, разберетесь... На этом разрешите откланяться. В следующий раз разберемся с Дельфой и еще кое с чем. Исходники прилагаются. Что не ясно пишите на мыло, постараюсь ответить. Все всем здравия желаю!!! До новых надеюсь встреч. | |||||||||||||||||||||||||
Категория: Из старого | Добавил: wsnow2 (02.10.2008) | |||||||||||||||||||||||||
Просмотров: 676 | Рейтинг: 0.0/0 | |
Всего комментариев: 0 | |