不少安全专家表示,在互联网上失去对代码的控制,就像把银行的设计图交给抢劫犯一样。
Lua是一种被广泛用于游戏开发中的计算机语言,方便开发者定制自己所需的功能。其中,红遍全球的《愤怒的小鸟》就是由Lua语言用Wax开发的。此外,梦幻西游、奇迹暖暖、开心消消乐、放置奇兵、最强蜗牛等手游也采用了Lua语言进行编写。
近年来,Lua脚本在游戏行业长期流行,但Lua脚本泄露事件屡见不鲜,其安全性也引起关注。不法分子通过开私服、开外挂等途径,实现对游戏代码的商业变现,这给游戏开发者造成巨大经济损失,也危及游戏玩家包括账号、物件在内的虚拟资产安全。
本文将聚焦Lua脚本加密,深入阐述Lua常见的三种加密方式,并探索如何进一步的保护Lua代码。
一、背景
“Lua”在葡萄牙语中是“月亮”的意思,1993年由巴西的Pontifical Catholic University开发。
作为小巧的解释性语言,Lua具有简单、轻量、易维护的特点,且可以根据自身的特性来模拟面向对象,因此其被嵌入到越来越多的应用中,特别是游戏中,为游戏开发带来了很大的便捷性。例如,Cocos引擎的主流游戏、U3D游戏中的热更框架xlua都会用到Lua语言。
同时,由于Lua语言自身的这些特性,Lua代码本身并不安全,很多时候攻击者可以获取Lua源码进行阅读,分析,盗用以及篡改等,然后进一步的重打包,给游戏本身带来了很大的安全隐患。
二、Lua现有的保护
对于这种脚本解释性语言,从代码保护的角度跟它自身所表现的形式是密不可分的,对于Lua而言,目前市面上手游包中可以看到的主要是lua源码