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، ويوفر بيئة نصية آمنة للتطبيقات المضمنة والأتمتة.

عرض المستودع

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
منذ سنة واحدةلم تتم المراجعة بعد
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 يجب أن يكون مباشرًا لأن 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.

لست بحاجة فعليًا لتحرير ملفات Makefiles لأنه يمكنك تعيين المتغيرات ذات الصلة في سطر الأوامر عند استدعاء make. ومع ذلك، من الأفضل على الأرجح تحرير وحفظ ملفات Makefiles لتسجيل التغييرات التي أجريتها.

من ناحية أخرى، إذا كنت بحاجة إلى تخصيص بعض ميزات 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:

اللغة

  • يمكن لبيانات المستخدم أن تحتوي على أي قيمة Lua كقيمة مستخدم
  • قسمة الأرضية
  • قواعد أكثر مرونة لبعض الطرق الفوقية

المكتبات

  • ipairs ومكتبة الجداول تحترم الطرق الفوقية
  • خيار strip في string.dump
  • مكتبة الجداول تحترم الطرق الفوقية
  • دالة جديدة table.move
  • دالة جديدة string.pack
  • دالة جديدة string.unpack
  • دالة جديدة string.packsize

واجهة برمجة التطبيقات C

  • واجهة برمجة تطبيقات أبسط لدوال الاستمرار في C
  • lua_gettable والدوال المماثلة تُرجع نوع القيمة الناتجة
  • خيار strip في lua_dump
  • دالة جديدة: 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.

يُمنح الإذن بموجب هذا، مجانًا، لأي شخص يحصل على نسخة من هذا البرنامج والملفات المرتبطة به ("البرنامج")، للتعامل في البرنامج دون قيود، بما في ذلك دون حصر حقوق الاستخدام، النسخ، التعديل، الدمج، النشر، التوزيع، الترخيص من الباطن، و/أو بيع نسخ من البرنامج، والسماح للأشخاص الذين يتم تزويدهم بالبرنامج بفعل ذلك، مع مراعاة الشروط التالية:

يجب تضمين إشعار حقوق النشر أعلاه وهذا الإذن في جميع النسخ أو الأجزاء الجوهرية من البرنامج.

البرنامج مُقدم "كما هو"، دون أي ضمان من أي نوع، صريح أو ضمني، بما في ذلك على سبيل المثال لا الحصر ضمانات القابلية للتسويق، الملاءمة لغرض معين وعدم الانتهاك. في أي حال، لا يتحمل المؤلفون أو أصحاب حقوق النشر المسؤولية عن أي مطالبة، أضرار أو غيرها من المسؤوليات، سواء في إطار عقد أو تقصير أو غير ذلك، الناشئة عن، خارج أو فيما يتعلق بالبرنامج أو الاستخدام أو التعاملات الأخرى في البرنامج.

آخر تحديث: Mon Jun 18 22:57:33 -03 2018

تنزيل الأداة