Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
lua_CVE-2020-24370_AfterPatch — Исправленный интерпретатор Lua 5.3, устраняющий уязвимость CVE-2020-24370, предоставляющий безопасную среду сценариев для встраиваемых приложений и автоматизации. | Kitploit
Инструменты/GitHubGitHub/renukaselvar
/lua_cve-2020-24370_afterpatch
Утилиты общего назначенияАнализ уязвимостейЭксплуатацияАнализ Бинарных Файлов
GitHubrenukaselvar/lua_cve-2020-24370_afterpatch

lua_CVE-2020-24370_AfterPatch

Исправленный интерпретатор Lua 5.3, устраняющий уязвимость CVE-2020-24370, предоставляющий безопасную среду сценариев для встраиваемых приложений и автоматизации.

Репозиторий
1 год назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Lua 5.3 readme blockquote, .display { border: solid #a0a0a0 2px ; border-radius: 8px ; padding: 1em ; margin: 0px ; } .display { word-spacing: 0.25em ; }

dl.display dd { padding-bottom: 0.2em ; }

tt, kbd, code { font-size: 12pt ; }

Lua Добро пожаловать в Lua 5.3

о Lua · установка · изменения · лицензия · справочное руководство

О Lua

Lua — это мощный, быстрый, легковесный, встраиваемый скриптовый язык, разработанный командой из PUC-Rio, Папского католического университета Рио-де-Жанейро, Бразилия. Lua — это свободное программное обеспечение, используемое во многих продуктах и проектах по всему миру.

Официальный веб-сайт Lua предоставляет полную информацию о Lua, включая краткий обзор и обновлённую документацию, в особенности , которое может незначительно отличаться от , распространяемой в этом пакете.

справочное руководство
локальной копии

Установка Lua

Lua распространяется в исходном виде. Перед использованием его необходимо собрать. Сборка Lua должна быть простой, поскольку Lua реализован на чистом ANSI C и компилируется без изменений на всех известных платформах, имеющих компилятор ANSI C. Lua также компилируется без изменений как C++. Приведённые ниже инструкции по сборке Lua предназначены для Unix-подобных платформ. Смотрите также инструкции для других систем и варианты настройки.

Если у вас нет времени или желания компилировать Lua самостоятельно, вы можете получить бинарный файл с LuaBinaries. Попробуйте также LuaDist, мультиплатформенный дистрибутив Lua, включающий батарейки.

Сборка Lua

На большинстве Unix-подобных платформ просто выполните "make" с подходящей целью. Вот подробности.

  1. Откройте окно терминала и перейдите в главный каталог, который называется lua-5.3.5. Файл Makefile в нём управляет как процессом сборки, так и процессом установки.

  2. Выполните "make" и проверьте, есть ли ваша платформа в списке. В настоящее время поддерживаются следующие платформы:

    aix bsd c89 freebsd generic linux macosx mingw posix solaris

    Если ваша платформа есть в списке, просто выполните "make xxx", где xxx — имя вашей платформы.

    Если вашей платформы нет в списке, попробуйте ближайшую или posix, generic, c89 в указанном порядке.

  3. Компиляция занимает всего несколько минут и создаёт три файла в каталоге src: lua (интерпретатор), luac (компилятор), и liblua.a (библиотека).

  4. Чтобы проверить, что Lua собран правильно, выполните "make test" после сборки Lua. Эта команда запустит интерпретатор и выведет его версию.

Если вы используете Linux и получаете ошибки компиляции, убедитесь, что у вас установлен пакет разработки readline (вероятно, он называется libreadline-dev или readline-devel). Если после этого возникают ошибки компоновки, попробуйте "make linux MYLIBS=-ltermcap".

Установка Lua

После сборки Lua вы можете установить его в стандартное место в вашей системе. В этом случае выполните "make install". Стандартное место и способ установки файлов определены в файле Makefile. Вероятно, вам понадобятся соответствующие права для установки файлов.

Чтобы собрать и установить Lua одним шагом, выполните "make xxx install", где xxx — имя вашей платформы.

Чтобы установить Lua локально, выполните "make local". Это создаст каталог install с подкаталогами bin, include, lib, man, share, и установит Lua в указанные ниже места.

Чтобы установить Lua локально, но в другой каталог, выполните "make install INSTALL_TOP=xxx", где xxx — выбранный вами каталог. Установка начинается в каталогах src и doc, так что будьте внимательны, если INSTALL_TOP не является абсолютным путём.

bin:
lua luac
include:
lua.h luaconf.h lualib.h lauxlib.h lua.hpp
lib:
liblua.a
man/man1:
lua.1 luac.1

Это единственные каталоги, необходимые для разработки. Если вы хотите только запускать программы на Lua, вам понадобятся только файлы в bin и man. Файлы в include и lib необходимы для встраивания Lua в программы на C или C++.

Настройка

Три аспекта можно настроить, отредактировав файл:

  • Где и как устанавливать Lua — редактируйте Makefile.
  • Как собирать Lua — редактируйте src/Makefile.
  • Возможности Lua — редактируйте src/luaconf.h.

На самом деле вам не нужно редактировать Makefile'ы, так как вы можете задать соответствующие переменные в командной строке при вызове make. Тем не менее, лучше отредактировать и сохранить Makefile'ы, чтобы зафиксировать сделанные изменения.

С другой стороны, если вам нужно настроить некоторые возможности Lua, вам придётся отредактировать src/luaconf.h перед сборкой и установкой Lua. Отредактированный файл будет установлен, и он будет использоваться всеми вашими Lua-клиентами для обеспечения согласованности. Дополнительная настройка доступна экспертам путём редактирования исходных кодов Lua.

Сборка Lua на других системах

Если вы не используете обычные инструменты Unix, инструкции по сборке Lua зависят от используемого вами компилятора. Вам нужно будет создать проекты (или то, что использует ваш компилятор) для сборки библиотеки, интерпретатора и компилятора следующим образом:

библиотека:
lapi.c lcode.c lctype.c ldebug.c ldo.c ldump.c lfunc.c lgc.c llex.c lmem.c lobject.c lopcodes.c lparser.c lstate.c lstring.c ltable.c ltm.c lundump.c lvm.c lzio.c lauxlib.c lbaselib.c lbitlib.c lcorolib.c ldblib.c liolib.c lmathlib.c loslib.c lstrlib.c ltablib.c lutf8lib.c loadlib.c linit.c
интерпретатор:
библиотека, lua.c
компилятор:
библиотека, luac.c

Чтобы использовать Lua в качестве библиотеки в ваших собственных программах, вам нужно знать, как создавать и использовать библиотеки с вашим компилятором. Кроме того, для динамической загрузки библиотек C для Lua вам нужно знать, как создавать динамические библиотеки, и нужно убедиться, что функции API Lua доступны для этих динамических библиотек — но не подключайте библиотеку Lua к каждой динамической библиотеке. Для Unix мы рекомендуем, чтобы библиотека Lua была статически скомпонована с главной программой, а её символы экспортированы для динамической компоновки; src/Makefile делает это для интерпретатора Lua. Для Windows мы рекомендуем, чтобы библиотека Lua была DLL. Во всех случаях компилятор luac должен быть скомпонован статически.

Как упоминалось выше, вы можете отредактировать src/luaconf.h, чтобы настроить некоторые возможности перед сборкой Lua.

Изменения по сравнению с Lua 5.2

Вот основные изменения, внесённые в Lua 5.3. В справочном руководстве перечислены несовместимости, которые пришлось ввести.

Основные изменения

  • целые числа (по умолчанию 64-битные)
  • официальная поддержка 32-битных чисел
  • побитовые операторы
  • базовая поддержка utf-8
  • функции для упаковки и распаковки значений

Вот другие изменения, внесённые в Lua 5.3:

Язык

  • userdata может иметь любое значение Lua в качестве uservalue
  • целочисленное деление
  • более гибкие правила для некоторых метаметодов

Библиотеки

  • ipairs и библиотека table учитывают метаметоды
  • опция strip в string.dump
  • библиотека table учитывает метаметоды
  • новая функция table.move
  • новая функция string.pack
  • новая функция string.unpack
  • новая функция string.packsize

C API

  • упрощённый API для функций продолжения на C
  • lua_gettable и подобные функции возвращают тип полученного значения
  • опция strip в lua_dump
  • новая функция: lua_geti
  • новая функция: lua_seti
  • новая функция: lua_isyieldable
  • новая функция: lua_numbertointeger
  • новая функция: lua_rotate
  • новая функция: lua_stringtonumber

Автономный интерпретатор Lua

  • можно использовать как калькулятор; не нужно ставить символ '=' в начале
  • таблица arg доступна для всего кода

Лицензия

[сертифицировано OSI] Lua — это свободное программное обеспечение, распространяемое на условиях лицензии MIT, воспроизведённой ниже; его можно использовать для любых целей, включая коммерческие, абсолютно бесплатно, без необходимости спрашивать нас.

Единственное требование: если вы используете Lua, вы должны указать нас, включив соответствующее уведомление об авторских правах где-нибудь в вашем продукте или его документации.

За подробностями обращайтесь к этому.

Copyright © 1994–2017 Lua.org, PUC-Rio.

Настоящим предоставляется разрешение бесплатно любому лицу, получившему копию этого программного обеспечения и сопутствующей документации (далее — «Программное обеспечение»), без ограничений распоряжаться Программным обеспечением, включая, без ограничений, права на использование, копирование, изменение, слияние, публикацию, распространение, сублицензирование и/или продажу копий Программного обеспечения, а также разрешать лицам, которым предоставляется Программное обеспечение, делать это при соблюдении следующих условий:

Указанное выше уведомление об авторских правах и данное уведомление о разрешении должны быть включены во все копии или существенные части Программного обеспечения.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ КОНКРЕТНОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УБЫТКИ ИЛИ ДРУГУЮ ОТВЕТСТВЕННОСТЬ, КАК В СВЯЗИ С ИСКОМ ИЛИ ДЕЛИКТОМ, ТАК И В ДРУГИХ СЛУЧАЯХ, ВОЗНИКАЮЩИХ ИЗ, В РЕЗУЛЬТАТЕ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ЕГО ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ ДЕЙСТВИЯМИ В НЁМ.

Последнее обновление: Mon Jun 18 22:57:33 -03 2018

Скачать инструмент