作者:风过回廊 文章来源:http://www.sf.org.cn
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软件技术文档 Java 是 Sun 公司推出的新的一代面向对象程序设计语言,特别适合于 Internet应用程序开发,它的平台无关性直接威胁到 Wintel 的垄断地位。一时间,“连Internet,用 Java 编程”,成为技术人员的一...
Java安全技术Java安全技术Java安全技术Java安全技术Java安全技术Java安全技术Java安全技术Java安全技术Java安全技术Java安全技术Java安全技术Java安全技术Java安全技术Java安全技术Java安全技术Java安全技术Java安全...
java软件工程师技术文档 java软件工程师技术文档 java软件工程师技术文档
API(应用程序编程接口)文档包含对应于导航栏中的项目的页面 版本:JavaTM 2 Platform Standard Edition 6 API 开发人员文档 除此下载打开为空白解决方案: 右键属性-勾选解除安全锁定,再次打开即可用。
Java的安全开发技术规范以及安全开发注意要点
java中文帮助文档java中文帮助文档java中文帮助文档java中文帮助文档java中文帮助文档java中文帮助文档java中文帮助文档java中文帮助文档java中文帮助文档
本文档是 Java 2 Platform Standard Edition 6.0 的 API 规范。 请参见: 描述 Java 2 Platform 软件包 java.applet 提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。 java.awt 包含...
java技术方面的知识,你可以找到java常用的技术知识,还有就是java方面的思想总结
这份“JAVA API官方文档 中文版”是对于Java开发者的宝贵资源,帮助他们理解和使用Java平台的各种功能。CHM(Compiled HTML Help)格式的文档通常包含了索引、搜索功能和组织良好的章节,方便用户快速查找所需信息。...
JavaAPI文档中文版,JavaAPI文档中文版,JavaAPI文档中文版,JavaAPI文档中文版,JavaAPI文档中文版,JavaAPI文档中文版,JavaAPI文档中文版,JavaAPI文档中文版,JavaAPI文档中文版,JavaAPI文档中文版,JavaAPI...
这个"java8中文文档API"是一个针对Java 8的中文开发文档,以.CHM(Microsoft帮助文件)格式提供,方便中国开发者查阅和学习。CHM文件是一种压缩的HTML帮助文件,通常包含了详细的类库、方法、接口和其他编程元素的...
标题《ElasticSearch Java API 中文文档》表明本篇文档的主要内容是关于ElasticSearch的Java API的中文使用说明和相关知识点介绍。ElasticSearch是一个基于Lucene构建的开源搜索引擎,它提供了一个分布式、多用户...
java开发详细设计文档模板java开发详细设计文档模板java开发详细设计文档模板java开发详细设计文档模板java开发详细设计文档模板
JDK1.8 API 中文谷歌翻译版 java帮助文档 JDK API java 帮助文档 谷歌翻译 JDK1.8 API 中文 谷歌翻译版 java帮助文档 Java最新帮助文档 本帮助文档是使用谷歌翻译,非人工翻译。准确性不能保证,请与英文版配合使用 ...
github-java-api技术文档资料
为了更好地学习和理解KJava开发,可以参考提供的"一步一步学会配置Kjava开发环境.pdf"文档,该文档详细介绍了整个配置过程,包括可能出现的问题及解决办法。同时,Nokia和Sun官方通常会提供丰富的开发文档和技术支持...
Java 8 API是Java开发的重要参考资料,它包含了Java 8版本的所有公共类、接口和...这个官方离线版的文档是每一个Java 8开发者必备的参考资料,它详尽地阐述了每个类和接口的功能与用法,有助于开发者快速查询和学习。
文档可能包含以下几个核心部分:需求分析、系统设计、技术选型、模块划分、接口设计、安全策略以及架构图示例等。 1. 需求分析:在架构设计文档的开头,通常会详细描述系统的业务需求和功能需求。这一步骤包括对...
Java API接口文档模板详解 Java API接口文档模板是Java初学者必须掌握的重要知识点之一。该文档模板提供了详细的接口输入输出定义,旨在帮助前后端开发人员快速了解和使用接口。下面我们将对该文档模板进行详细解释...
帮助文档可能包含了关于如何正确配置和使用安全策略、证书和密钥库的信息,以及关于Java加密API(如`java.security.KeyStore` 和 `java.security.cert.Certificate`)的使用说明。 此外,对于新特性或改进,比如...