最新消息:欢迎来到 艺宵网,有任何问题或建议请联系!在线留言

深入解析Lua脚本加密技术,给游戏代码加上“紧箍咒”

Jacky 艺宵网

不少安全专家表示,在互联网上失去对代码的控制,就像把银行的设计图交给抢劫犯一样。

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源码,luac,luajit三种的表现形式,接下来会详细的介绍每一种形式以及自身现有的保护以及所暴漏出来的优缺点。

2.1Lua源码

目前市面上用到Lua源码本身在游戏中呈现的并不是很多,但是在一些热更下发中会比较多;因此从源码保护的思路会很容易的想到针对Lua源码本身进行混淆保护的方案;目前市面上针对Lua源码进行混淆的厂家主要有以下这几家:

XFuscator:

Luraph:

Syanpse Xen:

Ironbrew:

Verdict: 

对于这种基于源码的混淆,优点是是Lua经过处理以后更加的复杂化了,增大了攻击者进行分析的成本和难度;由于攻防升级,对于上面的混淆也有相对的反混淆处理方式。同时混淆除了自己混淆本身所表现出来的兼容性问题以外,对于开发者也有以下这几个问题:

1.同一段代码的混淆在不同时间进行混淆,所得到的混淆效果是不同的:

由于混淆器为了增大混淆的程度和难度,里面会有随机的代码要进行热更,热更的时候会进行比较,这样没办法进行热更处理;

2.针对Lua语法混淆的兼容性问题:

由于Lua语法的灵活性,因此去混淆处理的兼容性问题比较多;

3.开发者接入问题:

对于开发者而言进行接入以及出现问题跟第三方进行沟通解决的成本比较大;

2.2luac的形式

 luac是作为自己的语言的字节码格式,与其他脚本语言python等虚拟机中所表现的出来是一样的,等Lua加载到内存中以后,虚拟机会加载对应的字节码,由于lua主要有5.1、5.2、5.3三个版本,因此也会有对应的三个格式的luac版本,目前在手游中主流是5.2的版本;

虽然说luac不会以源码的形式出现,但是由于Lua字节码的执行以及格式可以根据在Lua源码中进行探知到,比如luadec反编译工具,因此luac形式还是不安全的。目前市面上对于这种保护主要有三个形式:

2.2.1:Luac的加密

从Lua的虚拟机源码处可以得知在luaL_loadbuffer函数会加载Lua,因此有安全意识的厂家会对Lua进行加密。修改这个源码,在真正的执行前进行解密;

但是由于虚拟机的执行过程是开源的,并且由于cocos工程编译处理需要静态链接对应的引擎库,这样对应的引擎so文件是有符号的,因此对于攻击者来说,在luaL_loadbuffer函数处可以进行内存的DUMP得到正常的字节码,然后使用反编译工具进行处理,进行进一步的修改;

image.png

2.2.2:修改Lua虚拟机中opcode的顺序

对于Lua这种解释性语言,无论是虚拟机,还是对应反编译工具都是有一个固定的opcode的顺序,有意识的安全厂商会通过修改对应的opcode的顺序进行保护,如下图所示:左边是正常opcode的顺序,右边是进行随机化以后的opcode的;

1602558142502658.png

这样从新编译处理完以后的luac可以看到如下图所示:对应的opcode是不一样的;

1602558189341005.png

opcode不一样以及对应的解释顺序是如下:

1602558194188447.png

目前对于这种自定义修改opcode的处理方式,目前攻击者可以根据通过目标虚拟机加Lua文件跟正常虚拟机编译的luac进行对比“吐出”对应的映射表,然后进一步的借助于反编译工具进行反编译处理进一步的处理;

或者由于Lua自身的opcode不是很多,如上图所示可以很轻松的定位到正常的执行顺序;因此这种处理方式也不是很安全。

2.2.3:对于Lua的虚拟机执行过程进行保护

可以看到有的游戏厂商对Lua虚拟机进行安全编译处理,也就是复杂化整个虚拟机的解释流程,这种做法其实“治标不治本”。

类似如下图所示:左右是相同功能的一个函数,只是右边是经过安全编译器处理的:

对于上面这种处理方式存在的两个问题:

一是由于Lua本身是开源的,经过安全编译处理完以后,对应的符号还是存在;攻击者很容易的定位;

二是对于攻击者而言其实不用太关心中间的虚拟化解释执行过程,因此从整个保护的角度来讲,实质性作用不大。

2.2.4小结:

目前的以luac为主要表现形式的游戏厂商主要是对于上面三种保护的综合使用,但是经过分析可以看到从根本上没有起到一个好的作用,只能阻止部分初级的攻击者,对于真正的攻击点的保护没有抓住。

2.3luajit的形式

由于考虑到Lua的执行效率问题,luajit诞生了,从名字上可以看出,luajit是Lua的即时编译器生成的,一个用手写汇编实现的Lua解释器和一个可以直接生成机器代码的JIT编译器;根据dynasm动态生成buildvm_xxx.h的文件,进一步的解释执行;

目前很多的游戏厂家,为了进一步的保护游戏中的脚本,将Lua处理为luajit的格式,对于luajit而言,也有对应的反编译工具,ljd或者luajit-lang-toolkit或者luajit-decomp因此进而一些游戏厂商在经过luajit形式以后会进行加密处理;

借助于cocos自带的加密,大部分的厂商会通过如下设置自己私有的key和sign值;

1602558241308963.png

以及调用对应的XXTEA的加密算法,可以看到经过加密以后得到如下的luajit的编码形式:

1602558245168500.png

面对上面这种加密的处理方式,解密也非常

大家都在看

incaseformat病毒大面积爆发,请早做防范
科技资讯

incaseformat病毒大面积爆发,请早做防范

观威海 2021-01-14 536浏览 0评论

近期,部分单位政务网、互联网电脑感染“incaseformat病毒”,病毒可通过U盘、光盘等移动介质传播,导致删除大量文件且无法恢复,请各单位及时更新杀毒软件病毒库,专杀工具互联网下载地址:http://59.224.26.143。下班后关闭不使用的电脑,不要长期使电脑处于待机状态。...

2021年需要关注的10个IT趋势
科技资讯

2021年需要关注的10个IT趋势

Danny 2021-01-13 637浏览 0评论

当行业分析师和技术专家在2020年年初做出年度预测时,他们专注于云计算、人工智能、机器人等技术将如何改变市场。他们预测,对IT人才的需求将会供不应求,数据科学将继续发挥重要作用,数字化转型将决定组织业务的成败。但他们却没有预料到在全球爆发的新冠病毒疫情会从根本上改变人们工作和个人生活的各个方面。...

阿里百度等互联网平台上线“绿网计划”
科技资讯

阿里百度等互联网平台上线“绿网计划”

郑合惠子 2020-11-28 898浏览 0评论

每一年,涌入互联网平台的非正常搜索高达数百亿次。这些搜索背后,可能暗藏着试图自杀的人的挣扎与呼救。让每一次搜索背后的求助都能得到回应,而不是冰冷的报错与拦截,阿里百度等互联网平台上线“绿网计划” ,用暖心的宣导呼吁来取代“抱歉,这个页面找不到”。...

云麦科技出席CNBC全球科技大会,探讨智能健康未来
科技资讯

云麦科技出席CNBC全球科技大会,探讨智能健康未来

Jacky 2020-11-20 512浏览 0评论

以东西方科技对话为主题的2020CNBC全球科技大会,于2020年11月17日在广州召开。作为智能运动健康领域的头部企业,云麦科技受邀参加本次大会,云麦科技创始人CEO Wyatt出席,并与古德菲力CEO许捷一同参与《结构后疫情时代健康产业趋势》主题圆桌会谈。 疫情期间,大众对健康的关注度大幅提升,希望通过运动增强免疫,根据CBNDATA调...

奥克斯率先携手中国标准化研究院,联合共建首个符合GB/T33658热舒适实验室!
科技资讯

奥克斯率先携手中国标准化研究院,联合共建首个符合GB/T33658热舒适实验室!

Jacky 2020-11-20 476浏览 0评论

11月17日上午,奥克斯与中国标准化研究院在人类工效学领域达成共识,进行了合作签约,并在奥克斯创研中心举行了热舒适联合共建实验室揭牌仪式。中国标准化研究院作为国家级科研机构,拥有国内唯一经CNAS认可的人类工效学实验室。这是家电企业首次联合中国标准化研究院共建热舒适实验室,对奥克斯乃至整个家电行业来说意义非...

2020电子政务与智慧城市解决方案提供商100强
科技资讯

2020电子政务与智慧城市解决方案提供商100强

Danny 2020-11-18 1328浏览 0评论

智慧城市是电子政务的延伸与拓展,赋予了电子政务新的内涵。某种意义而言,电子政务与智慧城市就是同气连枝的共生关系,电子政务与智慧城市解决方案提供商正是将二者的发展做到“曲尽其妙”之境的重要推手。...

K歌人的狂欢,电商赛拉开2020全民K歌年度盛典大幕
科技资讯

K歌人的狂欢,电商赛拉开2020全民K歌年度盛典大幕

Jacky 2020-11-16 923浏览 0评论

日前,2020全民K歌年度盛典线上大赛电商赛场正式开赛,比赛将从主播、商家和品牌三个维度进行比拼,最终决出年度电商带货主播和商家的优胜者,跨界音乐人们将在这里实现自我价值的又一次飞跃。 除电商赛场之外,今年的年度盛典还设置了其余6大赛道公会、个人、粉丝团、歌房、家族和星计划,平台上的每位主播都将开足火力全...

新技术驱动新商业 网易创新企业大会看点前瞻
科技资讯

新技术驱动新商业 网易创新企业大会看点前瞻

Jacky 2020-11-16 912浏览 0评论

突如其来的疫情对传统商业模式的冲击,让各大企业看到了数字化技术和能力对于商业模式创新和商业生态系统重构的助力。AI、5G、云计算、超高清、VR/AR新技术层见迭出,线上零售、在线会议、互联网医疗、AI 营销新商业模式不断显现,正在重塑全行业。那么企业该如何利用新技术驱动新商业,获得创新发展呢? 11月28日,网易旗...

奢护四季 吾衣例外,COLMO洗衣机 X 例外打造奢品护理季,掀全国奢护美学风暴
科技资讯

奢护四季 吾衣例外,COLMO洗衣机 X 例外打造奢品护理季,掀全国奢护美学风暴

Jacky 2020-11-16 183浏览 0评论

高端衣物的背后,究竟有何奢护美学?自10月17日开始,从北京到重庆、上海、成都等全国十几座城市,高端AI科技家电品牌COLMO携手国内一线时装品牌例外,打造奢品护理季,让1%菁英群体零距离尊享空气洗体验,与数千位对品质生活有着无限追求的消费者一道,共同完成了一场奢护四季吾衣例外高端衣物奢护美学之旅。 尊享奢洗五 步...

网易数帆入选2020年电子信息行业自主创新成果
科技资讯

网易数帆入选2020年电子信息行业自主创新成果

Jacky 2020-11-16 515浏览 0评论

11月12日,2020第二十四届中国国际软件博览会(以下简称软博会),在杭州白马湖国际会展中心开幕。大会以软件铸魂,数智转型为主题,展现软件产业发展新特点、新模式、新业态。会上,中国电子信息行业联合会正式发布《2020年电子信息行业自主创新成果推广目录》。网易数帆基础软件平台成功入编该目录,荣膺自主创新应用称号...

发表我的评论
取消评论
昵称 (必填) 手机号 (必填)

网友最新评论【查看所有评论

阅读原文 阅读 100000+