即刻体验FairGuard加固方案!
免费试用游戏游戏安全保护, 对接专业技术服务!
Mono dll脚本是Unity前期包含现在还有很多游戏在使用的脚本方式,这种脚本可以使用工具(如dnspy)完全逆向。破解者改包和竞品分析的难度非常低。
很多有安全意识的游戏都会自己修改mono源码的mono_image_open_from_data_with_name函数,对DLL脚本进行加密。
不过这种的加密方式缺点比较明显。会在加载前进行一次性解密,游戏运行过程中,内存中存在解密后完整的DLL。
只要使用现成的工具就可以把DLL从内存里面扣出来。
如上图,使用GG修改器,使用9460301数值即可把所有的DLL脚本内存基础搜索出来。
目前很多手游加固厂商都还是使用这种加固方式。
第二代DLL加固,对DLL里面的函数进行加密,这种加密方式的优点是,使用的方法才会进行解密,不像整体加密那样,会一下子把完整的DLL解密到内存中。
一般游戏运行过程中不会用到所有方法,这样内存中就不会存在一个完整的DLL,方法解密的效果如下图所示:
原始未加密dnspy函数解析结果
函数加密后dnspy函数解析报错
第二代DLL加固存在的缺点是解析工具还是可以看到函数名及部分函数。于是出现了第三代DLL加固。
第三代加固我们称为DLL结构虚拟化。对DLL的文件结构进行自定义重构,并对文件结构数据进行高强度加密。处理完后,所有的工具都无法再解析出任何数据,对于专业的破解分析人员,要解密出里面的结构数据难度也是非常大。
标题虚拟化后dnspy无法识别DLL
DLL脚本使用的数据结构跟windows下面的可执行文件一样,都是PE结构,未DLL结构虚拟化时,使用010Editor可以解析出正常的PE结构。
虚拟化后的DLL结构010 Editor无法正常解析
第三代DLL加密为FairGuard独家首创,为手机游戏安全防护提供业界顶类加密方案。
丨结语
FairGuard 专注于游戏加固与反外挂,为 Unity / Cocos / UE 等引擎的游戏提供深度一体化加密保护方案。
目前产品已经被FunPlus、三七互娱、游族等多家头部公司采用。TapTap排行榜以及买量排行榜上亦有多个游戏使用。
产品咨询联系方式:
微信:fairguard01
免费试用游戏游戏安全保护, 对接专业技术服务!