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

kremnev8

Пользователи
  • Публикации

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

  • Посещение

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


  1. Подсказка: длину таблицы не обязательно хранить в самой таблице. Ее можно получить так

    for i=1,#Admins do
    sayMsg("Warning! " .. Admins[i].. ", in bank offenders!",Admins[i])
    end

    Почти ! Я когда писал помнил что так можно , но еше поставил шаг и была ошибка.


  2. Решил попробовать написать это .

    Пока реализован только первый пункт , за исключением монитора так как не знаю как делать много-задачность. если научюсь делать много-задачность - сделаю .

    ami с низу , кб сверху , редстоун сигнал ( сигнализация) выдается справа.

    приватное сообшение пишется нарушителю и админам .

    единственный недостаток - долго запрашивает время , изза этого игрока система может его отправить на спавн через ~10 - 30 сек.

    http://pastebin.com/PrEGry27 .


  3. Это не взлом, это дешифрование проводимое ключом "1". Взлом подразумевает, что ключ тебе не известен.

    И причем здесь Bitnet?

    вобше не причем я просто решил использовать его , ее можно переписать и на реднет . хотя мне кажется всетаки на малое растояние шифровка не особо востребована, ибо есть провода

     

    это взлом симитричного шифрования . а в этих стойках ключ либо зашифрован либо просто открыт(асимитричное ширование)


  4. Написал программу которая позволяет взламывать шифры криптографической стойки .
    Для этого надо : Bitnet антенна , криптографическая стойка .

    Код можно скачать здесь: http://pastebin.com/n5967tMd .

    m = peripheral.wrap("top")
    ca = peripheral.wrap("right")
    algos = {"AES","Blowfish","DES","DESede","RC2"}
    --запрос данных с вышки битнет
    while true do
    M = {1,1}
    while true do
    A = {1,1,1}
    A[1] ,A[2],A[3] = os.pullEvent()
    if A[1] == "bitnet_message" then
    --print(A[3])
    M[1] = A[3]
    end
    A[1] ,A[2],A[3] = os.pullEvent()
    if A[1] == "bitnet_message" then
    --print(A[3])
    M[2] = A[3]
    break
    end
    end
    --разшифровка
    local function decryp(key,text,Method)
    key2 = ca.decodeKey(Method, key)
    text2 = key2.decrypt(Method, text)
    return text2
    end
    --главный цикл
    for i =1 ,5,1 do
    re,res = pcall(decryp,M[1],M[2],algos[i])
    if re == true then
    print(re)
    print(algos[i])
    print(res)
    if res == "password" then
    break
    end
    if re == true then
    break
    end
    end
    end
    end
    

    algos = {"AES","Blowfish","DES","DESede","RC2"}

    список возможных кодировок , от ARCFOUR пришлось отказатся так как он реагирует на все

     

    A[1] ,A[2],A[3] = os.pullEvent()
    if A[1] == "bitnet_message" then

    прием шифра производися через битнет  . для приема иcпользую os.pullEvent() и фильтрую на тип "bitnet_message". для полного приема это действие производится два раза

     

    key2 = ca.decodeKey(Method, key)
    text2 = key2.decrypt(Method, text)

    сам метод разшифровки , первое разшифровка ключа , второе разшифровка текста

     

    re,res = pcall(decryp,M[1],M[2],algos)

    безопасный вызов функций decryp(). метод подбора шифра шифра состоит в том что метод при неверном алгоритме крашится, необходима функция pcall.

    re - ответ , успешно ли программа сработала. res результат , выводит разшифрованный текст.  M[1] и M[2] это ключ и текст

     

     

    так же программа передачи и приема :

     

    http://pastebin.com/HTxrtezc --передача

    http://pastebin.com/EP6rgpR7 --прием

     

    они взяты с вики:http://computercraft.ru/wiki/Cryptographic_accelerator .

     

    (к сожалению что то с загрузкой картинок, поэтому картинки залил на Яндекс Диск: https://yadi.sk/i/3wYBJmuzeAPrp , https://yadi.sk/i/4-w9nPTHeAPrk , https://yadi.sk/i/h9MR3ANheAPrt , https://yadi.sk/i/VPoSkAi4eAPrv)

    post-11484-0-25197600-1421934542_thumb.png

    post-11484-0-07946000-1422013947_thumb.png

    post-11484-0-95629800-1422013951_thumb.png

    post-11484-0-95802900-1422013954_thumb.png

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