J2ME手机游戏汉化技术基础

对国外手机游戏进行的汉化,使用该技术甚至可以辅助换皮技术,对公司已有手机游戏进行技术处理,替换掉游戏中的故事介绍、公司名称、公司标示,一切和原游戏有关的文字信息。

技术分析:

汉化分以下几种情况,分别详细说明。

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. 将修改后的游戏传到手机里。可以看到被修改的信息。

时间: 2024-08-31 07:07:19

J2ME手机游戏汉化技术基础的相关文章

国内知名单机游戏汉化组3DM正式解散

由于中国盗版异常猖獗,这直接导致了大量单机游戏商倒闭或者退出中国,这让中国玩家一度无法玩到任何的中文版单机游戏. 在玩家一次次的要求下,慢慢出现了民间的汉化组织,3DM就是其中之一,近年来他们为中国玩家汉化了一个有一个的经典单机游戏. 2010年1月25日,几经周折,国内著名游戏汉化组3DM汉化组宣布解散.负责人"不死鸟"在论坛上发帖表示,汉化界的不正当竞争导致了的各种问题,对汉化工作和个人生活产生了严重的影响,遂决定解散汉化组.因为 版权等诸多问题,3DM汉化组曾经历诸多沉浮,在广大

游戏汉化小组3DM今天凌晨宣布正式解散

国内玩家相当熟悉的游戏汉化小组3DM今天凌晨宣布正式解散.汉化组负责人"不死鸟"在论坛发出公告称,由于游戏汉化业内的恶性竞争,她本人的心态已经无法保证团队高效运行,因此决定解散3DM小组.在3DM解散后,其成员将分化为多个新生的小组,分别面向各个类别游戏的汉化工作. 以下为"不死鸟"公告全文: 经过长时间的考虑,我决定不再进行具体的游戏汉化工作,而目前又没有合适的人去接手我的工作,所以3DM工作室于今天正式解散.以后游戏界将不会出现3DM工作室汉化的作品. 解散的原

J2ME手机游戏开发日记1

J2ME新手,做了一个游戏的项目,其中有些体会,觉得有些东西还是可以拿出来和大家分享.说错了还请包涵. 开发环境: windows2000+JBuilder X+semc_j2me_sdk_2_1_4_beta 从来没有接触过这个方面,因为小组一个项目要开始学J2ME,看了两天的书,发现其实JDK还是很简单的.总共也就那几个类.只是如果要考虑到资源和性能的最佳优化的话,算法和数据结构的要求比较高. 先说环境的搭建:1.windows2000(这个不用说了)2.JBuilder X(其他版本的JB

模拟经营一招鲜 开罗游戏汉化精选

冒险迷宫村&百货商店日记相信大多数游戏玩家都不会对开罗游戏(Kairosoft)这个名字感到陌生,尤其是 模拟经营游戏迷们,更是对Kairosoft的游戏赞不绝口.开罗游戏是一家专门致力于开发各种像素类模拟经营游戏的公司,而且除此之外,从不涉及其它游戏类型.看似他们经营范围非常狭窄,但正所谓一招鲜,吃遍天,他们每发布一款游戏,都能成为模拟经营游戏中的经典被玩家追捧.不过一般开罗游戏都只有日文和英文两种语言版本,让不少中国的玩家望而却步.幸好国内有一些汉化团队已经为我们汉化了开罗游戏中的一些经典作

Eclipse中开发J2ME手机游戏

问题描述 从网上下载了J2ME的手机游戏源码,是一个文件夹THUNDER.该文件夹中有两个文件夹,分别为:BOLT(源代码)和ICONS(图片资源).请问:在Eclipse中怎么样部署这个程序?怎么运行它啊? 解决方案 解决方案二: 把thunder文件夹直接拷贝到wtk的apps下解决方案三: 在eclipse里新建j2me工程,然后把源码拷到src,把图片拷到res.如果找不到新建j2me工程的地方,那就是还没装j2me开发的插件.解决方案四: 同意上面的方法!解决方案五: 先装Eclips

关于J2ME手机游戏开发图片镜像翻转问题

问题描述 大家都知道一般锚点都选择在左上角那个点,我不懂一个图片镜像翻转后锚点位置到底变不变,是还在原位置还是跑到了镜像的左上角呢.这是一个手机游戏NPC转身时遇到的问题大家说说啊谢谢了!!急死了快 解决方案 解决方案二:不变的,图片左上角坐标是(5,5)那么翻转后左上角的坐标还是(5.5)这个要吧试出来的解决方案三:en谢谢了啊解决方案四:楼主..你是做手机游戏的??.恩,我能做你徒弟吗?我刚开始JAVA...要是可以的话450027009(QQ)yangjie5574@163.com无限感激

J2ME手机游戏引擎程序架构

在游戏开发以及任何软件的设计都需要建立一个稳定的引擎结构体,来作为软件设计的基本架构,是软件体系结构的核心支撑框架,一切功能的实现以及扩展都在这个基础架构之上来完成.一个游戏的设计涉及到游戏控制.角色.游戏场景.道具.游戏声效以及游戏过程事件监听机制等元素,因此建立良好的游戏引擎能对以上各元素进行有效的控制.本文介绍在J2ME游戏设计中游戏引擎的基本程序架构. 游戏引擎可以建立不同的结构体来实现,但是任何游戏的设计都离不开通过设计一个主循环loop来重复控制整个游戏过程,当然整个游戏的核心结构(

J2ME手机游戏引擎程序结构简述

游戏引擎的结构很多,不过基本上都是在一个游戏主循环内实现.程序里面的主循环包含了程序框架的最主要的结构体.J2ME的程序一般都包含两个class文件,一个是MIDlet,一个是Displayable.一般我都是把游戏的主要代码放在Displayable这个类里面.这个类是基于事件驱动的程序,有三个主要相应函数void paint(Graphics g),void keyPressed(int keyCode),void keyReleased(int keyCode). 1.使用Runnable

手机游戏虚火:平台难抉择SNS化或成新出路

11月22日报道,"上联:机会面前横竖都是活;下联:台风来了是猪都会飞.横批:唯快不破."这副对联曾被众多国内移动互联网人士引用,以彰显当前无线领域创业之利好. 事实果真如此吗? 在摩卡世界CEO宋啸飞看来,无论是基于苹果iOs,还是谷歌 Android平台,众多移动互联网应用只是表面热闹,呈现虚火症状,在手机游戏领域尤为严重. 眼下,整个游戏行业,PC端正在萎缩,网页游戏快速发展期已过,而高端智能机将手机游戏和电脑游戏在感观方面的差距拉近,这一领域正变得炙手可热,成为许多创业者瞄准的