J2ME手机游戏汉化技术底子[Java编程]
本文“J2ME手机游戏汉化技术底子[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
对国外手机游戏举行的汉化,利用该技术乃至可以帮助换皮技术,对公司已有手机游戏举行技术处理,替换掉游戏中的故事介绍、公司名称、公司标示,一切和原游戏有关的文字信息.
技术解析:
汉化分以下几种情形,辨别具体阐明.
1. 从内容上说
(1)对国外游戏的汉化.对国外游戏举行汉化,就是将非汉语翻译过来,转化为汉语.
(2)国内游戏的“汉化”.对国内游戏,就是更改游戏相关信息,配合换皮利用.
2. 从存储方法说
(1)相关信息存储在.class文件中.游戏相关信息存储在程序中.
(2)相关信息存储在单独得资源文件中.假如没有加密还不难,加了密,就看运气好坏了.这里只谈论不加密的情形.
技术原理:关于存储在资源文件中的游戏信息.只要替换掉便可以.关于存储在程序中的游戏信息,是本教程谈论的重点.在程序中的信息用相关工具翻开 *.class文件找到全部包含游戏信息的类.
替换掉内容,就ok了.
汉化工具 :Java反编译器、jdk 、winRAR、Uedit32.
假若有 Java IDE工具更好.
汉化流程:
1.成立一个 a.java,内容以下:
public class a{
static{
String s= "一个不能少一个也不多";
System.exit (0);
}
}
程序非常简单,到背面会用到,假若有IDE 就用IDE 编译.
假如没有IDE,用任何版本的 jdk(比方jdk1.3.1_16)编译也可以.a.class文件备用.
2.用winRAR找到存有游戏信息的*.class文件.解压该文件到肆意位置,用Uedit32翻开.可以看到*.class 文件的十六进制情势(截图1).
3.关于游戏信息是英文的,可以直接在十六进制右边看到字符串.而关于游戏信息是汉语的,能看到不可读的汉语(像乱码).我们就是要改正这些信息.先说汉语的情形,在.class文件中,我们最关心字符串的存储格局,汉字在.class文件中以字符串长度的三倍字节存储,比方10个汉字的字符串,在.class中就需求30个字节存储字符串本身,而汉化就是替换掉呼应字节存储区,等长或不等长的字符串.等长只要替换掉便可以,不等长(外文转汉语)需求更改字符串字节区域的长度属性.见截图1,阴影下的是十个汉字所占的字节,长度30个字节.红色框内+紫色框是字节长度00 1E 转化为十进制恰好30.紫色框内涵这里为00,对我们没有效.而相关于英文替换和汉语替换类似.不过要改正字节长度这个属性值(字符串长度*3)适应新大小.
注意:一定要保证字符串字节区大小等于其呼应长度属性.
4.解压存有游戏信息的*.class类.见截图2.
5.找到相关汉字字节区域.见截图3阴影所示30字节.
6.在前面a.java文件中写入你要替换的文本.编译后,将a.class用Uedit32翻开,可以看到汉字乱码,呼应粘贴到游戏的*.class的阴影位置,替换掉本来字节.
7.用winRAR 翻开游戏文件,找到改正*.class文件的目录,采取替换方法,加学习改后的*.class文件.
8. 将改正后的游戏传到手机里.可以看到被改正的信息.
以上是“J2ME手机游戏汉化技术底子[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |