惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
T
The Exploit Database - CXSecurity.com
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Security @ Cisco Blogs
T
Threat Research - Cisco Blogs
TaoSecurity Blog
TaoSecurity Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
腾讯CDC
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
The Blog of Author Tim Ferriss
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
F
Full Disclosure
博客园 - 【当耐特】
C
CERT Recently Published Vulnerability Notes
Engineering at Meta
Engineering at Meta
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
Threatpost
I
Intezer
V2EX - 技术
V2EX - 技术
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The Hacker News
The Hacker News
小众软件
小众软件
Google DeepMind News
Google DeepMind News
T
Tailwind CSS Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
B
Blog RSS Feed
Microsoft Security Blog
Microsoft Security Blog
N
News | PayPal Newsroom
MyScale Blog
MyScale Blog
AI
AI
Vercel News
Vercel News
Spread Privacy
Spread Privacy
美团技术团队
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
The GitHub Blog
The GitHub Blog
V
Vulnerabilities – Threatpost
Schneier on Security
Schneier on Security
Cyberwarzone
Cyberwarzone
G
GRAHAM CLULEY
Help Net Security
Help Net Security
Hacker News: Ask HN
Hacker News: Ask HN
Google DeepMind News
Google DeepMind News
MongoDB | Blog
MongoDB | Blog
L
LINUX DO - 热门话题
U
Unit 42
L
LangChain Blog
Recent Announcements
Recent Announcements

博客园 - SeanLin

Cocos2d-html5资源预加载列表自动扫描脚本 JSDoc参考注释模板 [转]Git常用操作命令 Cocos2d-html5 HelloWorld模板和引擎使用简介 Javascript API Document生成工具JSDoc HTML5游戏开发涉及到的安全问题 CCTextureCache的多线程加载原理和使用 引擎demo任务 引擎初始化过程 引擎开发数据记录 游戏引擎消息循环机制 渲染部分 几个需要思考的问题 【转】使用Jasob混淆javascript代码 【转】html5游戏开发引擎大全 【转】V8 Javascript 引擎设计理念 android 字体位置信息 【转】蓝牙协议中HCI层的研究与开发 【转】蓝牙协议的命令和事件
Javascript开发的HTML5游戏的知识产权保护
SeanLin · 2012-04-16 · via 博客园 - SeanLin

    Javascript开发的HTML5游戏的知识产权保护,其实这里面保护了两个部分,一个是及时注册相关商标和专利,一个是程序的核心算法,核心数据和用户数据的保护。

    本文主要讨论第二个方面,在当前这个时间点,有什么类型的保护方案,以及各个方案的限制。可以说,目前没有一个完美的解决方案,甚至接近完美的方案都没有。

    方案1:代码混淆

    代码混淆的做法是普遍的做法,但是其保护能力偏弱。要想完整的得到整个游戏的逻辑及进行修改,估计是难度很大的,毕竟一个引擎的代码都4-5w行了,再加上游戏的,混淆完,就很难阅读了,再怎么反向、再怎么格式化都很难阅读。但是,号称的无法反向或反向代价大是针对整个工程而言,如果只是想要其中的某一个片段,比如一些核心算法,则代价相对就小很多了,甚至只要抠出原函数,然后直接调用就好了,不管里面的具体实现。山寨产品很容易用这个方式得到他们想要的核心部分。

   总结,代码混淆是不可少的,保护作用有限,无法保护关键点的东西。

    方案2:服务器混搭方式

    在游戏的前端只做渲染或者也兼作部分游戏逻辑处理,核心算法和核心数据由服务器计算提供。 这种方式的保护的可靠性是比较高,暴力破解的成本较高,可以有效的解决较多的游戏安全问题。但是采用这种方式的话有几个不足的地方:1)成本高,一般计算量,一般通信量,一个服务器据说可以扛4000个用户左右,如果是页游,有大量的收入来源支撑,则不会是一个问题,如果是一个休闲类型的游戏,则没有这么多的收入来支撑服务器部分的支出。2)设计难度加大,会增加服务器数据同步、客户端通信延迟,通信协议设计等等工作。

    总结,有效保护,成本高难度大,不适合所有项目,只适合有高产出的大型游戏。 

    方案3:浏览器的保护机制(native code)

    这个方式其实也有点类似于方案2的服务器混搭方式,可以选择使用native code构建一个本地服务器,也可以选择直接做算法保护。这个算是当前方案比较合适的,但是悲催的是,目前就只有chrome提供这种方式,其他浏览器还没支持。

    总结:局部可用,不考虑跨浏览器的话,是优选方案,但是chrome的用户量。。。。。

    HTML5在游戏行业的推广,很大程度上会受代码安全的问题的影响,目前我就处于这样的阶段。客观上在当前环境下,没有一个完美的解决方案,浏览器特殊的环境决定了这个将是一个长期的话题,要能完美的解决这个问题,估计最后的突破口还是在浏览器的本身上面。

     转载请注明:SeanLin,cocos2d-html5和本文链接Javascript开发的HTML5游戏的知识产权保护