軟件保護(hù)工具VMProtect用戶手冊之內(nèi)置功能(2)——關(guān)于表的操作
VMProtect是一種很可靠的工具,可以保護(hù)應(yīng)用程序代碼免受分析和破解,但只有在應(yīng)用程序內(nèi)保護(hù)機(jī)制正確構(gòu)建且沒有可能破壞整個(gè)保護(hù)的嚴(yán)重錯(cuò)誤的情況下,才能實(shí)現(xiàn)最好的效果。
本文繼續(xù)對VMProtect中強(qiáng)大的內(nèi)置腳本的使用進(jìn)行介紹,希望對您有所幫助。
VMProtect具有內(nèi)置的強(qiáng)大腳本語言LUA,極大地增強(qiáng)了VMProtect在每個(gè)保護(hù)階段的默認(rèn)保護(hù)功能。LUA語法非常類似于JavaScript,但與之不同的是,LUA不包含顯式類。不過,腳本語言允許輕松地實(shí)現(xiàn)類、繼承和事件等面向?qū)ο蟮木幊虣C(jī)制。
對于如何使用腳本語言,可以進(jìn)行以下三類的介紹:
- 類
- 內(nèi)置功能
- 事件
第二部分:內(nèi)置功能
除了腳本語言的類方法和屬性之外,VMProtect還為用戶提供了執(zhí)行基本操作的各種函數(shù)。一般的系統(tǒng)功能包括處理字符串、日期和數(shù)字、處理應(yīng)用程序的命令行和顯示消息;和專門的功能,以配合VMProtect的核心和水?。?/span>
- 字符串
- 表格
- 運(yùn)算
- bit32
- IO
- OS
- vmprotect
表操作
該庫為表操作提供了通用函數(shù),它在table表中提供所有函數(shù)。出于性能原因,這些函數(shù)執(zhí)行的所有表訪問都是原始的。
table.concat (list [, sep [, i [, j]]])
給定一個(gè)列表,其中所有元素都是字符串或數(shù)字,返回字符串list[i]..sep..list[i+1] ··· sep..list[j]。默認(rèn)值為sep空字符串,默認(rèn)i值為1,默認(rèn)j值為is #list。如果i大于j,則返回空字符串。
table.insert (list, [pos,] value)
在列表中的位置pos處插入元素值,向上移動元素列表[pos],列出[pos + 1],...,列表[#list]。 pos的默認(rèn)值是#list + 1,因此調(diào)用table.insert(t,x)在列表t的末尾插入x。
table.pack (···)
返回一個(gè)新表,其中所有參數(shù)都存儲在鍵1,2等中,并且字段“n”包含參數(shù)總數(shù)。 請注意,結(jié)果表可能不是序列。
table.remove (list [, pos])
從列表中刪除位置pos處的元素,返回已刪除元素的值。 當(dāng)pos是1和#list之間的整數(shù)時(shí),它向下移動元素列表[pos + 1],列表[pos + 2],...,列表[#list]并刪除元素列表[#list]; 當(dāng)#list為0或#list + 1時(shí),索引pos也可以為0; 在這些情況下,該函數(shù)刪除元素列表[pos]。
pos的默認(rèn)值是#list,因此調(diào)用table.remove(t)刪除列表t的最后一個(gè)元素。
table.sort (list [, comp])
按列表[1]到列表[#list]對給定順序中的元素進(jìn)行排序。 如果給出了comp,那么它必須是一個(gè)接收兩個(gè)列表元素的函數(shù),并且當(dāng)?shù)谝粋€(gè)元素必須在最后一個(gè)順序中的第二個(gè)元素之前返回時(shí)返回true(所以不是comp(list [i + 1],list [i]) 在排序之后將是真實(shí)的)。 如果沒有給出comp,則使用標(biāo)準(zhǔn)Lua運(yùn)算符。
排序算法是不穩(wěn)定的,也就是說,被給定順序認(rèn)為相等的元素可能會通過排序改變它們的相對位置。
table.unpack (list [, i [, j]])
返回給定表中的元素。 這個(gè)功能相當(dāng)于
return list[i], list[i+1], ···, list[j]
默認(rèn)情況下,i為1,j為#list。
- 持續(xù)更新中 -
VMProtect正版授權(quán)專享在線訂購特享超低價(jià)格!還不趕緊加入你的訂購清單?>>更多詳情可點(diǎn)擊咨詢購買
掃描關(guān)注“慧聚IT”微信公眾號,及時(shí)獲取最新動態(tài)及最新資訊