在做urho3d的是時候使用的是lua進行開發,需要對lua進行加密處理,因為go省去各種dll的麻煩,用起來比較方便,所有直接使用go寫了
實現目的
使用命令列形式,方便些批處理
需要輸入引數是,輸入目錄,輸出目錄,頭標記,密碼
輸入目錄獲取所有的lua檔案
對lua檔案進行加密
寫入到輸出目錄
基本就這些功能
**直接貼上
package main
/// 目的是讀取指定目錄下的所有檔案進行拷貝,並對lua檔案進行加密
)//獲取指定目錄及所有子目錄下的所有檔案,可以匹配字尾過濾。
func walkdir(dirpth, suffix string) (files string, err error)
if fi.isdir()
if strings.hassuffix(strings.toupper(fi.name()), suffix)
return nil
}) return files, err
}func codeclua(indir string, outdir string, sign string, key string)
for _, v := range files
// fmt.println(k, newpath, v, newpath)
os.mkdirall(newpath, os.modeperm)
buffer := bytes.newbuffer(signbytes)
buffer.write(outbytes)
ioutil.writefile(newfilepath, buffer.bytes(), os.modeperm)
} else }}
func main()
indir := os.args[1]
outdir := os.args[2]
sign := os.args[3]
key := os.args[4]
fmt.println("**********==>>> codec lua *****==>")
fmt.println("indir:", indir)
fmt.println("outdir:", outdir)
fmt.println("sign:", sign)
fmt.println("key:", key)
codeclua(indir, outdir, sign, key)
}
Lua 使用lfs遍歷檔案目錄
到公司了,開始學習 lua,看的 programming in lua 大致看了五章,公司培訓出的題。嘗試用lua指令碼寫乙個檔案系統訪問的 要求遍歷目錄,輸出檔名 檔案型別 檔案或是目錄 以及檔案的字尾名 果然小白,搞了近3個小時。乙個很重要的工具是lfs,即luafilesystem,幫助我們訪...
對 Lua 位元組碼進行加密
由於 luajit 不支援 64 位,quick 新的版本預設使用 lua 5.1.5 版本,並提供將 lua 原始碼打包成通用位元組碼的工具 luac 為了增強安全性,quick 提供了乙個基本加密方案,使開發者可以對位元組碼作自定義的加密,防止對位元組碼的簡單反編譯工作。此方案配合原有的xxte...
Lua對table進行深拷貝
有時候,在開發當中,想對乙個table進行相關的操作,但是操作完之後能夠不對原本的table產生修改,這時候就需要對table進行乙個拷貝,然後使用這個拷貝的table進行相關的操作。直接對table進行等號賦值,那是不行的,這樣拿到的還是原本table的引用,修改時會把原本table的值一起修改 ...