HOME 首頁(yè)
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營(yíng)
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專(zhuān)注品牌策劃15年

    lua腳本保護(hù)(lua腳本作用)

    發(fā)布時(shí)間:2023-04-24 09:55:13     稿源: 創(chuàng)意嶺    閱讀: 145        

    大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于lua腳本保護(hù)的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。

    開(kāi)始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話(huà)答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,有小程序、在線(xiàn)網(wǎng)頁(yè)版、PC客戶(hù)端和批量生成器

    官網(wǎng):https://ai.de1919.com。

    本文目錄:

    lua腳本保護(hù)(lua腳本作用)

    如何調(diào)用lua腳本進(jìn)行防御快速入門(mén)

    先編寫(xiě) Lua腳本 /root/lua_script_modsecurity/ xss_detect.lua
    vim xss_detect.lua
    local string_find = string.find
    local m_getvars = m.getvars
    local m_log = m.log
    function main()

    lua腳本語(yǔ)言環(huán)境與全局環(huán)境以及錯(cuò)誤處理的理解?

    2.2 – 環(huán)境與全局環(huán)境
    后面在 §3.2 以及 §3.3.3 會(huì)討論, 引用一個(gè)叫 var 的自由名字(指在任何層級(jí)都未被聲明的名字) 在句法上都被翻譯為 _ENV.var 。 此外,每個(gè)被編譯的 Lua 代碼塊都會(huì)有一個(gè)外部的局部變量叫 _ENV (參見(jiàn) §3.3.2), 因此,_ENV 這個(gè)名字永遠(yuǎn)都不會(huì)成為一個(gè)代碼塊中的自由名字。
    在轉(zhuǎn)譯那些自由名字時(shí),_ENV 是否是那個(gè)外部的局部變量無(wú)所謂。 _ENV 和其它你可以使用的變量名沒(méi)有區(qū)別。 這里特別指出,你可以定義一個(gè)新變量或指定一個(gè)參數(shù)叫這個(gè)名字。 當(dāng)編譯器在轉(zhuǎn)譯自由名字時(shí)所用到的 _ENV , 指的是你的程序在那個(gè)點(diǎn)上可見(jiàn)的那個(gè)名為 _ENV 的變量。 (Lua 的可見(jiàn)性規(guī)則參見(jiàn) §3.5)
    被 _ENV 用于值的那張表被稱(chēng)為 環(huán)境。
    Lua 保有一個(gè)被稱(chēng)為 全局環(huán)境 特別環(huán)境。它被保存在 C 注冊(cè)表 (參見(jiàn) §4.5)的一個(gè)特別索引下。 在 Lua 中,全局變量 _G 被初始化為這個(gè)值。 (_G 不被內(nèi)部任何地方使用。)
    當(dāng) Lua 加載一個(gè)代碼塊,_ENV 這個(gè)上值的默認(rèn)值就是這個(gè)全局環(huán)境 (參見(jiàn) load)。 因此,在默認(rèn)情況下,Lua 代碼中提及的自由名字都指的全局環(huán)境中的相關(guān)項(xiàng) (因此,它們也被稱(chēng)為 全局變量 )。 此外,所有的標(biāo)準(zhǔn)庫(kù)都被加載入全局環(huán)境,一些函數(shù)也針對(duì)這個(gè)環(huán)境做操作。 你可以用 load (或 loadfile)加載代碼塊,并賦予它們不同的環(huán)境。 (在 C 里,當(dāng)你加載一個(gè)代碼塊后,可以通過(guò)改變它的第一個(gè)上值來(lái)改變它的環(huán)境。)
    2.3 – 錯(cuò)誤處理
    由于 Lua 是一門(mén)嵌入式擴(kuò)展語(yǔ)言,其所有行為均源于宿主程序中 C 代碼對(duì)某個(gè) Lua 庫(kù)函數(shù)的調(diào)用。 (單獨(dú)使用 Lua 時(shí),lua 程序就是宿主程序。) 所以,在編譯或運(yùn)行 Lua 代碼塊的過(guò)程中,無(wú)論何時(shí)發(fā)生錯(cuò)誤, 控制權(quán)都返回給宿主,由宿主負(fù)責(zé)采取恰當(dāng)?shù)拇胧ū热绱蛴″e(cuò)誤消息)。
    可以在 Lua 代碼中調(diào)用 error 函數(shù)來(lái)顯式地拋出一個(gè)錯(cuò)誤。 如果你需要在 Lua 中捕獲這些錯(cuò)誤, 可以使用 pcall 或 xpcall 在 保護(hù)模式 下調(diào)用一個(gè)函數(shù)。
    無(wú)論何時(shí)出現(xiàn)錯(cuò)誤,都會(huì)拋出一個(gè)攜帶錯(cuò)誤信息的 錯(cuò)誤對(duì)象 (錯(cuò)誤消息)。 Lua 本身只會(huì)為錯(cuò)誤生成字符串類(lèi)型的錯(cuò)誤對(duì)象, 但你的程序可以為錯(cuò)誤生成任何類(lèi)型的錯(cuò)誤對(duì)象, 這就看你的 Lua 程序或宿主程序如何處理這些錯(cuò)誤對(duì)象。
    使用 xpcall 或 lua_pcall 時(shí), 你應(yīng)該提供一個(gè) 消息處理函數(shù) 用于錯(cuò)誤拋出時(shí)調(diào)用。 該函數(shù)需接收原始的錯(cuò)誤消息,并返回一個(gè)新的錯(cuò)誤消息。 它在錯(cuò)誤發(fā)生后棧尚未展開(kāi)時(shí)調(diào)用, 因此可以利用棧來(lái)收集更多的信息, 比如通過(guò)探知棧來(lái)創(chuàng)建一組?;厮菪畔ⅰ?同時(shí),該處理函數(shù)也處于保護(hù)模式下,所以該函數(shù)內(nèi)發(fā)生的錯(cuò)誤會(huì)再次觸發(fā)它(遞歸)。 如果遞歸太深,Lua 會(huì)終止調(diào)用并返回一個(gè)合適的消息。

    lua腳本保護(hù)(lua腳本作用)

    [lua]怎么才能使用string函數(shù)庫(kù)? 提示我:attempt to index global 'string' (a nil value)

    出現(xiàn)這種問(wèn)題 說(shuō)明你的string庫(kù)找不到
    如果是宿主語(yǔ)言調(diào)用lua 你可以看一下是不是loadlib了
    如果你是直接在lua腳本里運(yùn)行發(fā)現(xiàn)這個(gè)問(wèn)題 可能
    1、string被保護(hù) 那么就無(wú)解
    2、在module里 如果一個(gè)module里 可以把module(...)改成module(...,package.seeall) 或者在module之前執(zhí)行 local string = string

    手機(jī)游戲用Cocos2d游戲引擎的開(kāi)發(fā)代碼如何保障不會(huì)被逆向綠色?

    目前針對(duì)Cocos2d游戲引擎的開(kāi)發(fā)代碼防逆向主要是通過(guò)隱藏lua腳本文件,根據(jù)愛(ài)加密介紹,通過(guò)隱藏lua腳本文件,可以保護(hù)代碼不被黑客給逆向,從而保護(hù)游戲邏輯的安全性。希望可以采納,謝謝!

    以上就是關(guān)于lua腳本保護(hù)相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢(xún),客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。


    推薦閱讀:

    lua端游腳本(lua端游腳本開(kāi)發(fā))

    lua語(yǔ)言編寫(xiě)腳本(lua腳本語(yǔ)言語(yǔ)法)

    ChatGPT真的很強(qiáng)大嗎-(chatplus)

    重磅!2022最新中國(guó)十大電商代運(yùn)營(yíng)公司出爐(附全榜單)

    地理四大區(qū)域(地理四大區(qū)域手抄報(bào))