kjava的安全技术规范,关于kjava的产品安全,在我开发以前往往都是被忽略的,但是到发行的时候却往往被遗忘,导致了产品中出现安全隐患,第一,你的产品很容易就被人反编译;第二,你的图片,音效都会被人盗用,给公司造成重大的损失。我就曾经吃过这个亏,以前开发的几个东西被人盗用,并且在国内的几个网站上公开下载,我个人损失较小,但是公司如果遇到了这种情况,就损失很大了。
所以我觉得应该根据我以往开发的经验,整理出一套行之有效的公司kjava程序的安全规范,这也是非常有必要的。j 希望我这篇草稿文档能起到抛砖引玉的作用,得到大家的更多的好办法,我将不断的整理并且形成公司的技术规范。在次感谢你的关注!
下面先说说我的一些经验把,由于我本人的开发环境是wtk + uedit,所以我的经验也都是根据这方面来进行的,请大家注意,
第一,就是源代码的混淆,这是一个非常值得重视的问题。首先这方面所存在的问题在于wtk默认的混淆器是retroguard,而这个混淆器使用起来非常的方便,只需要把它放在wtk的bin目录下就可以了,我们通常在混淆的时候考虑到很多方面,retroguard最大的问题就在于他不能混淆nokia 60sdk开发包的,也就是说我们开发的nokia手机游戏是没有办法来混淆的,这可怎么办呢,还好我们找到了一个叫做proguard的工具,这个工具混淆的能力要比retroguard还要强,甚至他可以帮助你删除掉无用的代码,精简你的程序。
但是proguard的还有一个最大的不足就是他无法和wtk14集成,如果使用起来还需要自己手写脚本,这是非常令人恼火的,大大降低了开发的效率。如果集成到wtk20中确又违反了移动的规定,采用了jdk14来编译整个程序,移动测试很难通过,我当初就是吃了这个亏。
为了解决这个问题,我和几个作技术的朋友讨论商量了一个行之有效的办法,我们仍然采用wtk14来做开发(这也是移动的规范所规定的),但是我们需要对wtk的一些内容编辑,主要是把他们的默认的混淆其设置成retroguard,并且在midpapi.zip中将诺基亚的sdk打包进去。好的我现在来详细的说明一下具体过程。
请先看附件的"增强混淆wtk"的两个文件,ktools.properties和midpapi.zip这是我已经修改过的wtk系统文件,已经采用了设定默认的混淆器retroguard和打入nokia sdk的midpapi.zip(西门子,摩托等其他的开发抱环境也可以这么做)用他们去替换原有位置的文件就可以了,然后将retroguard放在bin的目录下,再点击wtk目录的混淆菜单就可以了
这种方法经过测试,其混淆是安全的,难以被破解的,同时也符合移动的规范(移动要求代码必须用jdk1.3来编译而不能使用jdk1.4来编译)所以还有一个工具jdk check 1.0(beta)(1).exe(见附件)它可以用来检查你的代码使用哪个版本的jdk来编译的,保证在移动的测试中能够顺利地通过!
我用过jbuilder中的混淆工具,也是retroguard,这是他自带的混淆工具,但是我发现他编译出来的东西也是jdk1.4这是我非常地迷惑,不知道是否能够通过移动的测试,希望同事们能够讨论这个问题。
其次,在于游戏资源的加密,打包和压缩,我推荐办法是采用restool.exe(附件有),采用这个工具可以将游戏中的资源变成一个资源文件,但是并没有加密,也没有作到太大的压缩,我觉得以后应该能够解决改善这个东西吧。
希望大家不断的能提出自己更好的经验之谈,我们一起来完成这个规范,我们今后交付合作伙伴的产品,都要经过严格的安全设置,降低公司的风险。谢谢大家!
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器