首页
社区
课程
招聘
[原创]Unity3D游戏引擎Android下mono模式源码保护升级版
发表于: 2019-1-28 09:51 8814

[原创]Unity3D游戏引擎Android下mono模式源码保护升级版

2019-1-28 09:51
8814

对于Unity3D源码的保护前面也讨论过了一种自定义格式的方式(Unity3d保护level1)。现在继续分享一下一种自己公司保护用的方式--自定义opcode,希望对做游戏安全保护的童鞋能起到一定的启发作用。

首先需要对Unity3D的jit机制行进初步的了解,具体的可以移步gslab(Unity3D jit机制分析)。在对mono的jit编译过程有清晰的认识后,便可进行下面的自定义opcode的操作了。

这里先简单的理一遍Unity3D jit的编译过程:

在实际的编译中调用了一个关键的函数mono_method_to_ir(位于mono\mini\method-to-ir.c文件中),这里谈论的opcodde自定义,就是从这个函数入手的。

*ip 指向的是opcode,opcode的定义位于mono\cil\opcode.def中,形式如下所示:

其中关键的是第一位的opcode名称和倒数第二位的十六进制index,这里所做的保护是将第一位名称和index进行随机打乱,这里就需要自己实现一个映射表,并且去重新实现mono_method_to_ir函数中的 switch(*ip)里面的实际功能了。

这里只做简单的描述,需要自己动手去分析mono的源码和实现一下。在自己定义了libmono.so以后,需要加入Android so文件的保护,不然自定义的libmono.so被别人一分析很容易就能被分析出自定义的那个opcode表。同时也需要在游戏后台进行反外挂数据风控的部署,游戏的保护不仅仅在于前端客户端的保护,在后端的风控保护与前端客户端的保护相互配合才能更好的保护游戏。这些都是个人愚见,望轻喷。


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2019-1-28 09:52 被nsec编辑 ,原因: 代码整理
收藏
免费 4
支持
分享
最新回复 (15)
雪    币: 6573
活跃值: (3893)
能力值: (RANK:200 )
在线值:
发帖
回帖
粉丝
2
思路不错
2019-1-28 10:13
0
雪    币: 183
活跃值: (1218)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
感谢分享。
2019-1-28 10:23
0
雪    币: 12502
活跃值: (3053)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
感觉没必要一直来dll的保护了,后台检测好就足够,至于他改改dll,也仅仅是ui显示。
2019-1-28 14:37
0
雪    币: 26205
活跃值: (63302)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
5
感谢分享!
2019-1-28 14:52
0
雪    币: 6267
活跃值: (1082)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
LowRebSwrd 思路不错
多谢版主
2019-1-28 14:59
0
雪    币: 6267
活跃值: (1082)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
白菜大哥 感觉没必要一直来dll的保护了,后台检测好就足够,至于他改改dll,也仅仅是ui显示。
有的游戏需要再客户端实现功能数值的计算,您所说的那种只是需要在客户端做展示,确实没必要做dll的保护,自己后台风控做好就行。
2019-1-28 15:01
0
雪    币: 21
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
看不懂。学习下
2019-1-28 15:58
0
雪    币: 488
活跃值: (163)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
9
老哥厉害!
2019-1-28 17:13
0
雪    币: 120
活跃值: (1597)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
虽然我看不懂,但是我也要给你点个赞
2019-1-28 17:41
0
雪    币: 351
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
感谢分享
2019-1-29 11:05
0
雪    币: 6112
活跃值: (1212)
能力值: (RANK:30 )
在线值:
发帖
回帖
粉丝
12
老哥厉害!
2019-1-29 17:25
0
雪    币: 237
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
楼主厉害
最后于 2019-3-12 02:23 被酱油啊啊啊啊编辑 ,原因:
2019-2-7 15:08
0
雪    币: 1653
活跃值: (136)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
酱油啊啊啊啊 楼主能不能看看这个链接:https://share.weiyun.com/5J5oyq6 密码:wxyhg9 pe结构进行破坏了
真厉害啊,骗子。说是什么交流技术,就是特么找大佬破解。自己去卖钱
2019-2-8 02:44
0
雪    币: 237
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
拜膜kx大佬 真厉害啊,骗子。说是什么交流技术,就是特么找大佬破解。自己去卖钱[em_45
最后于 2019-3-12 17:13 被酱油啊啊啊啊编辑 ,原因:
2019-2-8 04:22
0
雪    币: 4584
活跃值: (2520)
能力值: ( LV4,RANK:55 )
在线值:
发帖
回帖
粉丝
16
mark
2019-4-30 13:59
0
游客
登录 | 注册 方可回帖
返回
//