- 201
- 265
Краткое описание
Скрипт предоставляет вам возможность шифровать данные прямо в игре.
Подробности
Используется алгоритм AES, по умолчанию с размером ключа 256 бит и в режиме CBC (можно изменить в переменной aesParams).
Открыть главное меню можно командой /cmsg, за перезагрузку конфигурации отвечает команда /reloadcmsg.
Возможности:
Автоматическое шифрование
Опция "Auto Encryption" - шифровать все исходящие сообщения (под сообщением имеется ввиду не чат, а любой обрабатываемый текст, будь-то ответ на диалог, чат-бабл и т.д.).
"Auto Decryption" - автоматически расшифровывать входящие сообщения.
Inline Encryption
Фича, позволяющая зашифровать только необходимую часть сообщения. По умолчанию, "необходимая часть" - текст обернутый в тэги $CS (Crypto Start) и $CE (Crypto End) в начале и в конце соответственно, имеенуемый inline expression (inline-выражение).
Имеется поддержка нескольких inline-выражений в одном сообщении (по правде говоря именно на реализацию нескольких выражений я убил 3 дня).
Тэги можно изменить, но имейте ввиду примечание к переменной formatInlinePattern, а также то, что ваш собеседник должен будет также их поменять.
Ручное шифрование
С помощью команд /encrypt и /decrypt вы можете зашифровать и расшифровать сообщение соответственно.
Наборы символов Base64
Ввиду жалоб на срабатывает различных систем анти-рекламы, реагирующих на большое количество цифр, была реализована возможность выбора набора символов Base64.
По умолчанию, к вашим услугам 2 набора: цифры и спец. символы.
Дополнительно
Зависимости
[Скачать / changelog]
[Исходный код] (см. ветку develop)
К теме прикреплён архив со скриптом и всеми зависимостями, но я настоятельно рекомендую установить все зависимости вручную из источников и скачать сам скрипт из репозитория.
Скрипт предоставляет вам возможность шифровать данные прямо в игре.
Подробности
Используется алгоритм AES, по умолчанию с размером ключа 256 бит и в режиме CBC (можно изменить в переменной aesParams).
Открыть главное меню можно командой /cmsg, за перезагрузку конфигурации отвечает команда /reloadcmsg.
Возможности:
- Автоматические шифрование и расшифровка сообщений: вы и ваш(и) собеседник(и) будете видеть сообщения без изменений, в то время как игрока без скрипта и нужного пароля будут видеть сообщения зашифрованными
- Шифрование лишь нужной части сообщения (см. ниже фичу Inline Encryption)
- Отдельно стоит отметить, что скрипт работает с библиотекой SAMP.Lua и даёт возможность выбирать события которые будут обрабатываться
Автоматическое шифрование
Опция "Auto Encryption" - шифровать все исходящие сообщения (под сообщением имеется ввиду не чат, а любой обрабатываемый текст, будь-то ответ на диалог, чат-бабл и т.д.).
"Auto Decryption" - автоматически расшифровывать входящие сообщения.
Inline Encryption
Фича, позволяющая зашифровать только необходимую часть сообщения. По умолчанию, "необходимая часть" - текст обернутый в тэги $CS (Crypto Start) и $CE (Crypto End) в начале и в конце соответственно, имеенуемый inline expression (inline-выражение).
Имеется поддержка нескольких inline-выражений в одном сообщении (по правде говоря именно на реализацию нескольких выражений я убил 3 дня).
Тэги можно изменить, но имейте ввиду примечание к переменной formatInlinePattern, а также то, что ваш собеседник должен будет также их поменять.
Ручное шифрование
С помощью команд /encrypt и /decrypt вы можете зашифровать и расшифровать сообщение соответственно.
Наборы символов Base64
Ввиду жалоб на срабатывает различных систем анти-рекламы, реагирующих на большое количество цифр, была реализована возможность выбора набора символов Base64.
По умолчанию, к вашим услугам 2 набора: цифры и спец. символы.
Цифры: $CSvOWJadWIvSIbnkoUC1fz9I61IG8Fg6+fyIJrl5ZM/Bs=$CE
Спец. символы: $CS+siVBHKDd,mWLas@hsOA|rXU;TNb?gETzYxZckFl@RM=$CE
Спец. символы: $CS+siVBHKDd,mWLas@hsOA|rXU;TNb?gETzYxZckFl@RM=$CE
Дополнительно
- Добавить свои события для обработки можно в функции setHooks. Таблица hooks состоит из таблиц, которые имеют следующую структуру: название события; список аргументов события, которые нужно обработать (порядковый номер); разрешить использование inline-выражений; разрешить автоматическое шифрование; расшифровка ли.
- Скрипт хранит конфигурацию в папке moonloader/config. Если у вас её нет - создайте её.
- Нет, я не забыл убрать дебаг-сообщения. Это dev-версия, поэтому они по умолчанию включены. Если хотите отлючить их - установите debugMode на false.
Зависимости
- Moonloader (тестировалось на 0.26, возможно работает и на 0.25)
- aeslua
- SAMP.Lua
- inspect.lua (необязательно, необходим для более подробных дебаг-сообщений)
[Скачать / changelog]
[Исходный код] (см. ветку develop)
К теме прикреплён архив со скриптом и всеми зависимостями, но я настоятельно рекомендую установить все зависимости вручную из источников и скачать сам скрипт из репозитория.
Я решил переписать скрипт с нуля, т.к. код старого хоть и был рабочим, но не устраивал меня по качеству. Я постарался максимально следовать принципу don't repeat yourself, скрипт обзавёлся новым функциональном и GUI, а самое главное - адекватной структурой. Также, в связи с этим, я начал счёт версий заново.
Вложения
Последнее редактирование: