Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- freeze.lua
- local function blockSystem()
- -- Supprime tous les moyens de modifier le PC
- fs.delete(".nocreate") -- Empêche la création de nouveaux fichiers importants
- local file = fs.open(".nocreate", "w") -- Verrouille ce fichier
- file.write("")
- file.close()
- -- Écrase les commandes principales pour bloquer toute action
- shell.setAlias("delete", "false")
- shell.setAlias("edit", "false")
- shell.setAlias("lua", "false")
- shell.setAlias("reboot", "false")
- shell.setAlias("shutdown", "false")
- shell.setAlias("label", "false")
- -- Empêche de forcer le démarrage sans `startup`
- if fs.exists(".settings") then
- fs.delete(".settings")
- end
- local file = fs.open(".settings", "w")
- file.write('{"shell.allow_disk_startup": false}')
- file.close()
- end
- local function disableCtrlT()
- -- Capture et bloque les événements de "termination"
- while true do
- local event = os.pullEventRaw()
- if event == "terminate" then
- -- Ignore complètement Ctrl+T
- else
- os.queueEvent(event)
- end
- end
- end
- local function fakeTerminal()
- -- Interface réaliste qui simule CraftOS
- while true do
- term.clear()
- term.setCursorPos(1, 1)
- term.setTextColor(colors.yellow)
- print("CraftOS 1.8")
- term.setTextColor(colors.white)
- print("View the documentation at https://tweaked.cc")
- term.setTextColor(colors.yellow)
- write("> ")
- term.setTextColor(colors.white)
- -- Curseur clignotant
- local cursor = true
- while true do
- term.setCursorBlink(false)
- if cursor then
- write("_")
- else
- write(" ")
- end
- cursor = not cursor
- sleep(0.5)
- term.setCursorPos(3, 3) -- Replace le curseur à la bonne position
- end
- end
- end
- local function installTrap()
- -- Crée un programme de "freeze" dans le fichier startup
- local startupFile = fs.open("startup", "w")
- startupFile.write([[
- parallel.waitForAny(
- function()
- while true do
- term.clear()
- term.setCursorPos(1, 1)
- term.setTextColor(colors.yellow)
- print("CraftOS 1.8")
- term.setTextColor(colors.white)
- print("View the documentation at https://tweaked.cc")
- term.setTextColor(colors.yellow)
- write("> ")
- term.setTextColor(colors.white)
- -- Curseur clignotant
- local cursor = true
- while true do
- term.setCursorBlink(false)
- if cursor then
- write("_")
- else
- write(" ")
- end
- cursor = not cursor
- sleep(0.5)
- term.setCursorPos(3, 3) -- Replace le curseur à la bonne position
- end
- end
- end,
- function()
- while true do
- local event = os.pullEventRaw()
- if event == "terminate" then
- -- Bloque Ctrl+T
- else
- os.queueEvent(event)
- end
- end
- end
- )
- ]])
- startupFile.close()
- print("Piège installé. Redémarrage...")
- sleep(2)
- os.reboot()
- end
- -- Étape 1 : Bloque complètement le système
- blockSystem()
- -- Étape 2 : Installe le piège
- if not fs.exists("startup") then
- installTrap()
- else
- -- Démarre immédiatement le "freeze" si déjà installé
- parallel.waitForAny(fakeTerminal, disableCtrlT)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement