Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

редактор скриптов mIRC (встроенный)

Язык сценариев mIRC (часто неофициально сокращенно « mSL » [3] [4] ) - это язык сценариев, встроенный в mIRC , клиент IRC для Windows .

Основное использование [ править ]

  • Канальная и персональная защита от любых типов атак (флуд, спам, CTCP флуд и др.).
  • Диалоговые окна могут быть созданы в mIRC для лучшей совместимости с пользователем.
    • Популярные Mirc диалогового расширение включает MDX ( м IRC - D ialog Пример натяжение) и DCX ( D ialog C ontrol Ex натяжения). Есть также несколько версий mdx.dll и dcx.dll, модифицированных IRC-хакерами.
  • Боты, которые обеспечивают автоматическое управление IRC-каналом, викторины или другие игры, а также другие желаемые функции для болтовни.
  • Команды, которые сохраняют набор текста или иным образом упрощают жизнь в IRC (например, автоматическое определение владельца псевдонима).

Хранилище скриптов [ править ]

Сценарии хранятся либо в виде текстовых файлов, обычно с расширением файла .mrc , либо в виде файлов INI . Однако их можно хранить с любым расширением. За один раз можно загрузить несколько файлов сценариев, хотя в некоторых случаях один сценарий будет конфликтовать с другим, что приведет к неправильной работе одного или обоих из них.

Особенности языка [ править ]

Язык сценариев mIRC использует свою собственную номенклатуру для обозначения языковых конструкций. (Однако, хотя это может немного сбить с толку новичков, они не влияют на функциональность mSL.)

  • Встроенные функции называются командами или, если они возвращают значение, идентификаторами .
  • Пользовательские скриптовые функции называются псевдонимами . Псевдонимы, возвращающие значение, называются настраиваемыми идентификаторами . Оба вызываются из командной строки или других частей сценария так же, как встроенные команды и идентификаторы (и даже могут заменять их).
  • Всплывающие окна - это элементы контекстного меню со сценарием . Всплывающие окна вызываются, когда они выбираются пользователем. Первоначально этот термин относился к меню, которое всплывает при щелчке правой кнопкой мыши. Он до сих пор используется в руководстве таким образом.
  • Пульты - это сценарии обработки событий . Пульты вызываются, когда происходит событие, которое они обрабатывают.
  • Все переменные динамически типизируются .
  • Скрипты mIRC используют сигилы . Идентификаторам (настраиваемым или встроенным) предшествует $, двоичным переменным предшествует &, а другим переменным (локальным или глобальным) предшествует %. Командам и псевдонимам не предшествует какой-либо конкретный символ (хотя при вводе из командной строки окна им, как правило, должен предшествовать префикс команды /).

Обработка файлов [ править ]

  • Скрипты могут читать и записывать в файлы [ $read(file,[args])| /write]

Вышеупомянутое предназначено для единственного доступа к файлу. Потому что каждый раз вы выпускаете $readили /writeоткрываете и закрываете файл для доступа. Множественный доступ, например, во время цикла, лучше всего обрабатывать через /fopen, /fwriteи /fclose. Поскольку это открывает файл только один раз. В некоторых случаях /filterи /savebufявляется еще более эффективным способом (не Scripted цикла).

  • Скрипты также могут копировать и удалять файлы. [ /copy| /remove]

Двоичные переменные [ править ]

  • Содержат неограниченное количество (8192 байта до mIRC 6.1) необработанных данных
  • Доступен глобально через команды и идентификаторы
  • Автоматически сбрасывается, когда скрипт возвращает управление mIRC (а не другой части скрипта)
  • С префиксом &(например &Variable)
  • Доступ к ним возможен только через /breadи /bwrite, поэтому эти переменные не могут быть переданы в другие части скрипта.

Хеш-таблицы [ править ]

  • Может содержать неограниченное количество двоичных данных или до 4150 (950 до mIRC 6.32) байтов обычного текста. Это ограничение накладывается ограничением длины строки собственного парсера сценариев mIRC (если не назначена двоичная переменная)
  • Доступен глобально через команды и идентификаторы
  • Автоматически сбрасывается при выходе из mIRC, так как они хранятся только в памяти
  • Можно сохранить для дальнейшего использования
  • Без префикса
  • Быстрее, чем доступ из файла, поскольку хеш-таблицы хранятся в памяти, а не на жестком диске
  • Размер ограничен только лимитами памяти компьютера.
  • Позволяет использовать ведро любого размера

Глобальные переменные [ править ]

  • Может содержать до 4150 (950 до mIRC 6.32) байтов данных, включая его имя (однако из-за ограничений длины строки в парсере сценариев mIRC, максимум 4146 байт может быть явно назначен с помощью / set или / var - это число уменьшается по мере того, как имя переменной становится длиннее)
  • Невозможно сохранить NUL (ASCII 0) или конечные пробелы
  • Доступен во всем мире
  • Не сбрасывать автоматически, если не используется переключатель (автоматически сохраняется в файле инициализации mIRC)
  • С префиксом %(например %Variable)
  • Создано с помощью setкоманды или var -gили %Variable = valueобозначения

Локальные переменные [ править ]

  • Может содержать до 4150 (950 до mIRC 6.32) байтов данных, включая имя переменной (однако из-за ограничений длины строки в парсере сценариев mIRC максимум 4146 байт может быть явно назначен с помощью команд / set или / var - это число уменьшается по мере того, как имя переменной становится длиннее)
  • Может хранить NUL (ASCII 0) или конечные пробелы
  • Уничтожаются при завершении сработавшего псевдонима или события
  • С префиксом %(например %Variable)
  • Создано с помощью varкоманды. varявляется просто внутренним псевдонимом для, set -lно varпредоставляет средства для объявления нескольких локальных переменных в одной строке (например, var %a = 1, %b, %c = 2)

Ограничения [ править ]

  • Синтаксический анализатор сценариев поддерживает максимум 8 292 (950 до mIRC 6.32) символов в строке (не включая символы новой строки или отступы).
  • Строки не заключены синтаксически, что создает неоднозначность в коде, где символы, обозначенные как буквальные строки, рассматриваются как часть синтаксиса языка .
  • Каждая строка кода разбита на набор токенов, разделенных пробелами. Поскольку синтаксический анализатор mIRC не поддерживает нулевые токены, а язык не предоставляет синтаксиса, позволяющего четко отличать буквальные строки от кода; До mIRC версии 6.2 было невозможно передать несколько последовательных пробелов любой команде или псевдониму. Однако это было исправлено с введением команды возврата, которая позволяет сохранять пробелы.

Примеры кода [ править ]

Приведенный ниже код находится в формате удаленных скриптов. Если они помещены в файл псевдонимов, перед именами команд не должно стоять слово " alias". Комментарии к тесту включают общие /* comment */и ;comment.

Вот пример псевдонима Hello World :

; Определяет псевдоним hello в удаленном скрипте; Примечание: если это помещено в сценарий псевдонима,; часть псевдонима должна быть удалена (результат: hello {); Использование: / helloпсевдоним привет { ; Отображает (/ echo) 'Hello World!' в активное окно (-a) echo -a Привет, мир!}

Удаленный скрипт для автоматического ответа на определенный текст

; Размещен в удаленном скрипте; Когда пользователь набирает Hello! в канале,; вы отвечаете: Здравствуйте, [ник]!on *: ТЕКСТ: Привет!: #: {msg $ chan Привет, $ nick $ +! }; Когда пользователь набирает Hello! в личном сообщении,; вы отвечаете: Здравствуйте, [ник]!on *: ТЕКСТ: Привет!:?: {msg $ nick Привет, $ nick $ +! }; Вот скрипт, который автоматически озвучивает пользователя; кто присоединяется к определенному каналу (у бота или пользователя должен быть HOP)on *: JOIN: # ?: {mode $ chan + v $ nick}; Скрипт с плохим словомна *: Текст: die *: #: {.mode $ chan + b $ nick | пинайте $ chan $ nick Не говори это снова}

См. Также [ править ]

  • Интернет-чат
  • mIRC

Ссылки [ править ]

  1. ^ «Возможности - AdiIRC - Поддержка AdiIRC / Ошибки / Запросы функций» . Пер Амундсен. Архивировано из оригинала на 2 декабря 2020 года . Дата обращения 2 декабря 2020 .
  2. ^ «Сценарии - AdiIRC - Поддержка AdiIRC / Ошибки / Запросы функций» . Пер Амундсен. Архивировано из оригинала на 2 декабря 2020 года . Дата обращения 2 декабря 2020 .
  3. ^ a b «Подробное сравнение mIRC и AdiIRC по состоянию на 2020 год - Slant» . Pärli, Inc. Архивировано из оригинала 2 декабря 2020 года . Дата обращения 2 декабря 2020 .
  4. ^ Mirc Язык сценариев - WikiChip , WikiChip LLC, архивируются с оригинала на 2 декабря 2020
  • Смит, Крис. (2004). «Уловка №20, автоматизирующая IRC с помощью сценариев» в IRC Hacks: 100 промышленных советов и инструментов . Пол Маттон, изд. O'Reilly Media, Inc., стр. 71–74. (Подробный пример функций и использования скрипта)
  • Хосе Назарио (2004) Стратегии защиты и обнаружения от интернет-червей . Artech House, 2004. с. 53, 55. (Обсуждается атака сценария mIRC 1997 года.)
  • Кен Данхэм, Джим Мельник (2008) Вредоносные боты: взгляд изнутри в киберпреступное подполье Интернета . CRC Press. п. 7-31. (Углубленный анализ / реверс-инжиниринг вредоносного бота на основе mIRC-скрипта)
  • Питер Сор (2005). Искусство исследования и защиты компьютерных вирусов . Pearson Education. Гл. 3.7.7.
  • Дэвид Харли, Роберт С. Виберт (2007). Руководство AVIEN по защите от вредоносных программ для предприятий . Эльзевир. п. 147. (использование в скриптовых атаках)
  • Эшаренана Э. Адоми (2008). Безопасность и программное обеспечение для интернет-кафе . Idea Group Inc (IGI). п. 173.
  • Маркус Якобссон, Зульфикар Рамзан. (2008). Преступное ПО: понимание новых атак и средств защиты . Эддисон-Уэсли Профессионал. п. 194.

Внешние ссылки [ править ]

  • Официальный сайт mIRC
  • Онлайн-версия файла справки mIRC
  • WikiChip страницы mIRC  - справочная система на основе Wiki, поддерживаемая пользователями, в первую очередь, для сценариев mIRC.
  • Справка по скриптам mIRC  - Турецкий / английский Справка по скриптам mIRC неофициальная