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
General Purpose UtilitiesVulnerability AnalysisExploitationBinary Analysis
GitHubrenukaselvar/lua_cve-2020-24370_afterpatch

lua_CVE-2020-24370_AfterPatch

패치된 Lua 5.3 인터프리터로, CVE-2020-24370를 해결하여 임베디드 애플리케이션 및 자동화를 위한 안전한 스크립팅 환경을 제공합니다.

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
1년 전아직 검토되지 않음
Lua 5.3 읽어보기 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는 브라질 리우데자네이루의 폰티피셜 가톨릭 대학교(PUC-Rio)의 팀이 개발한 강력하고 빠르며 가벼운 내장형 스크립트 언어입니다. Lua는 자유 소프트웨어로서 전 세계 많은 제품과 프로젝트에서 사용됩니다.

Lua의 공식 웹 사이트에서는 Lua에 대한 완전한 정보를 제공하며, 실행 요약 및 업데이트된 문서(특히 참조 매뉴얼)를 포함합니다. 참조 매뉴얼은 이 패키지에 포함된 로컬 복사본과 약간 다를 수 있습니다.

Lua 설치

Lua는 소스 형태로 배포됩니다. 사용하기 전에 빌드해야 합니다. Lua는 순수 ANSI C로 구현되어 ANSI C 컴파일러가 있는 모든 알려진 플랫폼에서 수정 없이 컴파일되므로 빌드는 간단해야 합니다. Lua는 C++로도 수정 없이 컴파일됩니다. 아래 제공된 Lua 빌드 지침은 Unix 계열 플랫폼을 위한 것입니다. 다른 시스템에 대한 지침 및 사용자 지정 옵션도 참조하세요.

직접 Lua를 컴파일할 시간이나 의향이 없다면 LuaBinaries에서 바이너리를 받으세요. 또한 다양한 기능을 포함하는 멀티 플랫폼 Lua 배포판인 LuaDist도 시도해보세요.

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가 올바르게 빌드되었는지 확인하려면 Lua를 빌드한 후 "make test"를 실행하세요. 그러면 인터프리터가 실행되고 버전이 출력됩니다.

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에 있는 파일은 C 또는 C++ 프로그램에 Lua를 내장하는 데 필요합니다.

사용자 지정

파일을 편집하여 사용자 지정할 수 있는 세 가지 종류가 있습니다:

  • Lua를 설치할 위치와 방법 — Makefile 편집.
  • Lua 빌드 방법 — src/Makefile 편집.
  • Lua 기능 — src/luaconf.h 편집.

make를 호출할 때 명령줄에서 관련 변수를 설정할 수 있으므로 Makefile을 실제로 편집할 필요는 없습니다. 그럼에도 불구하고 변경 사항을 기록하려면 Makefile을 편집하여 저장하는 것이 가장 좋습니다.

반면, 일부 Lua 기능을 사용자 지정해야 하는 경우 Lua를 빌드하고 설치하기 전에 src/luaconf.h를 편집해야 합니다. 편집된 파일이 설치되며, 일관성을 유지하기 위해 빌드하는 모든 Lua 클라이언트에서 사용됩니다. 전문가의 경우 Lua 소스를 편집하여 추가 사용자 지정이 가능합니다.

다른 시스템에서 Lua 빌드

일반적인 Unix 도구를 사용하지 않는 경우 Lua 빌드 지침은 사용 중인 컴파일러에 따라 다릅니다. 라이브러리, 인터프리터 및 컴파일러를 빌드하기 위해 다음과 같이 프로젝트(또는 컴파일러가 사용하는 것)를 생성해야 합니다:

library:
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
interpreter:
library, lua.c
compiler:
library, luac.c

자신의 프로그램에서 Lua를 라이브러리로 사용하려면 컴파일러로 라이브러리를 생성하고 사용하는 방법을 알아야 합니다. 또한 Lua용 C 라이브러리를 동적으로 로드하려면 동적 라이브러리를 생성하는 방법을 알아야 하며 Lua API 함수가 해당 동적 라이브러리에서 액세스 가능하도록 해야 합니다. 단, 각 동적 라이브러리에 Lua 라이브러리를 링크하지 마십시오. Unix의 경우 Lua 라이브러리를 호스트 프로그램에 정적으로 링크하고 해당 심볼을 동적 링크용으로 내보낼 것을 권장합니다. src/Makefile은 Lua 인터프리터에 대해 이 작업을 수행합니다. Windows의 경우 Lua 라이브러리를 DLL로 사용할 것을 권장합니다. 모든 경우에 컴파일러 luac는 정적으로 링크되어야 합니다.

위에서 언급한 대로, Lua를 빌드하기 전에 src/luaconf.h를 편집하여 일부 기능을 사용자 지정할 수 있습니다.

Lua 5.2 이후 변경 사항

다음은 Lua 5.3에 도입된 주요 변경 사항입니다. 참조 매뉴얼에는 도입되어야 했던 비호환성이 나열되어 있습니다.

주요 변경 사항

  • 정수(기본적으로 64비트)
  • 32비트 숫자 공식 지원
  • 비트 연산자
  • 기본 UTF-8 지원
  • 값 패킹 및 언패킹 함수

다음은 Lua 5.3에 도입된 기타 변경 사항입니다:

언어

  • userdata는 모든 Lua 값을 uservalue로 가질 수 있음
  • 바닥 나눗셈
  • 일부 메타메서드에 대한 더 유연한 규칙

라이브러리

  • ipairs 및 table 라이브러리가 메타메서드를 존중함
  • string.dump의 strip 옵션
  • table 라이브러리가 메타메서드를 존중함
  • 새로운 함수 table.move
  • 새로운 함수 string.pack
  • 새로운 함수 string.unpack
  • 새로운 함수 string.packsize

C API

  • C에서 연속 함수를 위한 더 간단한 API
  • lua_gettable 및 유사 함수가 결과 값의 유형을 반환함
  • lua_dump의 strip 옵션
  • 새로운 함수: lua_geti
  • 새로운 함수: lua_seti
  • 새로운 함수: lua_isyieldable
  • 새로운 함수: lua_numbertointeger
  • 새로운 함수: lua_rotate
  • 새로운 함수: lua_stringtonumber

Lua 독립 실행형 인터프리터

  • 계산기로 사용 가능; '=' 접두사 불필요
  • arg 테이블을 모든 코드에서 사용 가능

라이선스

[osi certified] Lua는 아래에 복제된 MIT 라이선스 조건에 따라 배포되는 자유 소프트웨어입니다. 상업적 목적을 포함한 모든 목적으로 비용 없이 사용할 수 있으며 문의할 필요가 없습니다.

유일한 요구 사항은 Lua를 사용하는 경우 제품이나 문서에 적절한 저작권 표시를 포함하여 우리에게 크레딧을 제공해야 한다는 것입니다.

자세한 내용은 여기를 참조하세요.

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

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

마지막 업데이트: Mon Jun 18 22:57:33 -03 2018

도구 다운로드