Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
lua_CVE-2020-24370_AfterPatch — CVE-2020-24370に対応した修正版Lua 5.3インタプリタ。組み込みアプリケーションや自動化のためのセキュアなスクリプト環境を提供します。 | Kitploit
ツール/GitHubGitHub/renukaselvar/lua_cve-2020-24370_afterpatch
汎用ユーティリティ脆弱性分析エクスプロイトバイナリ解析
GitHubrenukaselvar/lua_cve-2020-24370_afterpatch

lua_CVE-2020-24370_AfterPatch

CVE-2020-24370に対応した修正版Lua 5.3インタプリタ。組み込みアプリケーションや自動化のためのセキュアなスクリプト環境を提供します。

リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
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は、ブラジルのリオデジャネイロのポンティフィカル・カトリック大学(PUC-Rio)の チームによって開発された、 パワフルで高速、軽量、組み込み可能なスクリプト言語です。 Luaは世界中の多くの製品やプロジェクトで使用されている フリーソフトウェアです。

Luaの 公式ウェブサイトでは、 Luaに関する完全な情報を提供しています。 これには エグゼクティブサマリーや 最新の ドキュメント、 特に リファレンスマニュアルが含まれます。 このマニュアルは、このパッケージに含まれる ローカルコピーと若干異なる場合があります。

Luaのインストール

Luaは ソース形式で配布されています。 使用する前にビルドする必要があります。 Luaは純粋なANSI Cで実装されており、ANSI Cコンパイラを持つすべての既知のプラットフォームで そのままコンパイルできるため、Luaのビルドは簡単なはずです。 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ディレクトリに3つのファイルが生成されます。 lua (インタプリタ)、luac (コンパイラ)、liblua.a (ライブラリ) です。

  4. Luaが正しくビルドされたことを確認するには、Luaのビルド後に "make test" を実行してください。 これによりインタプリタが実行され、バージョンが表示されます。

Linuxを実行していてコンパイルエラーが発生した場合は、 readline開発パッケージ(おそらく libreadline-dev または readline-devel という名前)が インストールされていることを確認してください。 その後もリンクエラーが発生する場合は、 "make linux MYLIBS=-ltermcap" を試してください。

Luaのインストール

Luaをビルドしたら、システムの公式な場所にインストールすることもできます。 その場合は、"make install" を実行してください。 公式な場所とファイルのインストール方法は Makefile で定義されています。 ファイルをインストールするには適切な権限が必要な場合があります。

ビルドとインストールを1つのステップで行うには、プラットフォーム名 xxx を指定して "make xxx install" を実行してください。

Luaをローカルにインストールするには、"make local" を実行してください。 これにより、サブディレクトリ bin、include、lib、man、share を持つ install ディレクトリが作成され、以下に示すように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を組み込むために必要です。

カスタマイズ

ファイルを編集することで、次の3種類のカスタマイズが可能です。

  • Luaのインストール先とインストール方法 — Makefile を編集します。
  • Luaのビルド方法 — src/Makefile を編集します。
  • Luaの機能 — src/luaconf.h を編集します。

makeを起動する際にコマンドラインで関連する変数を設定できるため、 実際にMakefileを編集する必要はありません。 ただし、加えた変更を記録するためにMakefileを編集して保存するのが最善でしょう。

一方、Luaの機能をカスタマイズする必要がある場合は、 Luaをビルドしてインストールする前に src/luaconf.h を編集する必要があります。 編集したファイルがインストールされ、ビルドするすべての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をライブラリとして使用するには、 コンパイラでライブラリを作成および使用する方法を知っている必要があります。 さらに、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で導入されたその他の変更点は以下の通りです。

言語

  • ユーザーデータは任意のLua値をユーザーバリューとして持つことができる
  • 床除算
  • 一部のメタメソッドのルールがより柔軟に

ライブラリ

  • ipairs とテーブルライブラリがメタメソッドを尊重する
  • string.dump のストリップオプション
  • テーブルライブラリがメタメソッドを尊重する
  • 新しい関数 table.move
  • 新しい関数 string.pack
  • 新しい関数 string.unpack
  • 新しい関数 string.packsize

C API

  • Cにおける継続関数のためのよりシンプルなAPI
  • lua_gettable と類似の関数が結果の値の型を返す
  • 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

ツールをダウンロード