手机游戏修改 第9话: 赛车游戏高度修改
这是很早修改着的一个游戏,修改后一直没拿出来。名字是法拉利经理人(Ferrari Manager)。一款集赛车和模拟经营要素的游戏。原版是S40的128*128,我计划改为MOTO C650的128*116。经过简单的处理后,游戏是可以运行了,但是高度的差距使得赛车在C650上无法显示出来,这个郁闷。好,那么就来修这个高度。
思路:drawImage(赛车图片,x横坐标,y纵坐标,anchor);
代码里肯定有这么一句来画赛车的,我们要做的就是改这个Y纵坐标!
我们先解开资源文件,找到赛车的图片playercar.png,然后反编译class,在e.class中找到:
a = Image.createImage("/playercar.png");
那么接着就是找drawImage(a,.....不出我们所料,找到这么一段:
public void c(Graphics g1)
{
int i1 = a.getHeight(); //图片高度
int j1 = a.getWidth() / 5; //图片宽度除以5(因为这张图包含了5个小图)
int k1 = (128 - j1) / 2; //128-图片宽度除以2,取得赛车中心点的位置
int l1 = 128 - (7 * i1) / 10 - b;
byte byte0;
if(H[0] < -450)
byte0 = 0;
else
if(H[0] < -150)
byte0 = 1;
else
if(H[0] < 150)
byte0 = 2;
else
if(H[0] < 450)
byte0 = 3;
else
byte0 = 4;
m(g1);
g1.clipRect(k1, l1, j1, i1);//以上几句是决定切割出赛车需要的的不同状态图象
g1.drawImage(a, k1 - j1 * byte0, l1, 20);//画赛车位置,可以看出l1是要害
a(g1, k1 j1 / 2, 128, (j1 * (2 - byte0)) / 6);
}
OK,既然l1是要害,那么上面这句int l1 = 128 - (7 * i1) / 10 - b;就很好理解了,把这里的128改为116。然后将修改后的class拖入jar包中,OK!原本本压在屏幕下方边界之外的赛车显示出来了!
好,这篇就讲到这里,虽然赛车是显示出来了,但是事关游戏中的碰撞检测,还需要进一步修改。
===============================
1.机型:三菱M350/M750
键 键值 对应16进制
左右软键 无定义 -
OK键 -6 FA
上键 -1 FF
下键 -2 FE
左键 -3 FD
右键 -4 FC
拨号 -5 FB
2.机型:NEC N108
键 键值 对应16进制
左右软键 无定义 -
OK键 -5 FB
上键 -1 FF
下键 -2 FE
左键 -3 FD
右键 -4 FC
拨号 -10 F6
3.机型:moto v220/c650/c381/E398
键 键值 对应16进制
左软键 -21 EB
右软键 -22 EA
中键 -20 EC
上键 -1
下键 -6
左键 -2
右键 -5
拨号 -10
数字0~9键:48~57
0 48 0000 0030
1 49
2 50
3 51
4 52 0000 0034
5 53
6 54 0000 0036
7 55 0000 0037
8 56
9 57 0000 0039
*键:42
#键:35
另:MOTO VXXX大屏幕系列的键值:左软 21;右软22;中键20;菜单23
更具体内容请查看MOTOSDK中DOCS目录内的API手册
4. 机型:飞利浦568
左软键 -202
右软键 -203
OK -5
方向键上 -1
向下 -2
向左 -3
向右 -4
拨号键 -200
5.机型:三星X108/X608
键 键值 对应16进制
拨号键:-5 FB
C键:-8 F8
左右软键 无定义
上键 -1 FF
下键 -2 FE
左键 -3 FD
右键 -4 FC
中键: -5 FB
数字0~9键:48~57
*键:42
#键:35
NOKIA手机的键值除了左右软键分别为 -6 和 -7 外和这一样。
另:三星部分手机的左右软键是有键值的分别为 -6 和 -7。
6.Alcatel OT557/556 /MOTO V600i
键 键值 对应16进制
左软键 -21 EB
左软键 -22 EA
OK键 -20 EC
上键 -1 FF
下键 -6 FA
左键 -2 FE
右键 -5 FB
7.多普达MIDP2.0模拟器
键 键值 对应16进制
左软键 无
左软键 -无
OK键 -5
上键 -1
下键 -2
左键 -3
右键 -4
8.索爱系列(K300、K500、K700、W800等)
键 键值 对应16进制
左软键 -6 FA
右软键 -7 F9
中键 -5 FB
上键 -1 FF
下键 -2 FE
左键 -3 FD
右键 -4 FC
拨号 无 --
C键 -8 F8
回退键 -11 F5
ok确定键:-5
1:49
2:50
............
9:57
0:48
*:42
#:35,
c键值为-8
9.MOTO V303:
键 键值 对应16进制
左软键 21
左软键 22
OK键 20
上键 1
下键 6
左键 2
右键 5
数字 2(上) 50
数字 8(下) 56
数字 4 (左) 52
数字 6(右) 54
数字 5(OK) 53
10.SHARP902 ,键值等同MOTO C650
索爱系列(K300、K500、K700、W800等)
键 键值 对应16进制
左软键 -6 FA
右软键 -7 F9
中键 -5 FB
上键 -1 FF
下键 -2 FE
左键 -3 FD
右键 -4 FC
拨号 无 --
C键 -8 F8
回退键 -11 F5
11.松下VS3
键 键值 对应16进制
左软键 -21
右软键 -22
中键 -20
上键 -1
下键 -6
左键 -2
右键 -5
拨号 -10
12.波导S689
屏幕大小:128*176(128*144)
键 键值 对应16进制
左软键 -7 F9
右软键 -6 FA
中键 -5 FB
上键 -1 FF
下键 -2 FE
左键 -3 FD
右键 -4 FC
13.东信ES1008触摸屏
上 -1
下 -2
左 -3
右 -4
OK -5
侧翻页键 0
14.moto C975
屏幕大小:176*204
键 键值
左软键 -21
右软键 -22
中键 -20
上键 -1
下键 -6
左键 -2
右键 -5
拨号 -10
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
0 48
* 42
# 35
15.波导M19
左软键-7 右软键-6
1 49 2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
* 42
0 48
# 35
OK -5
上 -1
下 -2
左 -3
右 -4
16.华为u636
键 键值
左软键 -6
右软键 -7
中键 -5
上键 -1
下键 -2
左键 -3
右键 -4
拨号 -10
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
0 48
* 42
# 35
clear -8
17.MOTO MPX220系列(智能机)
键值:
上:-1
下:-2
左:-3
右:-4
中键:-5
左软:-7
右软:-8
拨号键:-9
返回键:-6
数字键盘:有,键值略
结论:基本可以使用SE K700系列的游戏
19.西门子c65(X65系列)
m65,(c65,cx65,c75)
屏幕大小:128*128
s65
屏幕大小:132*176
键 键值 对应16进制
左键: -1
右键: -4
中键: -26 E6
菜单键: --
拨号键: -11
挂机键: -12
左方: -61 C2
右方: -62 C3
上方: -59 C5
下方: -60 C4
0到9数字键 48--57
*键 42
#键 35
20.nokia S40
键 键值 对应16进制
左键: -6
右键: -7
中键: -5
菜单键:--
拨号键:-10
挂机键:-11
左方: -3
右方: -4
上方: -1
下方: -2
21.飞利浦[email=9@9e]9@9e[/email]
左软键 105
右软键 106
中键 -5
上键 -1
下键 -2
左键 -3
右键 -4
拨号 -10
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
0 48
* 42
# 35
22.明基S700
左右软键 无定义
ok-20
上-1
下-1
左-2
右-5
*42
0 48
#35
23.机型:moto E1070
键 键值
左软键 -21
右软键 -22
中键 -20
上键 -1
下键 -6
左键 -2
右键 -5
拨号 -10
24.moto V3i
左软键 -21
中软键 -23
右软键 -22
中键 -20
上键 -1
下键 -6
左键 -2
右键 -5
拨号 -10
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
0 48
* 42
# 35
上网键 -104
短信键 -105
25.E1键盘键值:
拨号键:-10
按摇杆:-20
摇杆上:-1
摇杆下:-6
摇杆左:-2
摇杆右:-5
左软键:-21
菜单键:-23
右软键:-22
数字键1:49 数字键2:50 数字键3:51
数字键4:52 数字键5:53 数字键6:54
数字键7:55 数字键8:56 数字键9:57
* 号 键:42 数字键0:48 # 号 键:35
音量+:-100 音量—:-101 语音拨号键:-103
26.MOTO A768
左侧上:-1
左侧下:-2
中上:-3
中下:-4
右侧:-5
A768是大屏机 240X320
27.MOTO L6
屏幕大小:128*160
键值同C
28.MOTO L7
屏幕大小:176*220
键值同C
29.MOTO E1000/E1060/E1070/E1120
屏幕大小:240*320
键值同C
30.MOTO A668手机
左软键=21
右软键=22
左=17
右=18
上=15
下=16
中间=24
数字键可以用
31.夏新A675
键 键值
左软键 -6
右软键 -7
OK键 -5
上键 -1
下键 -2
左键 -3
右键 -4 FC
32.机型:飞利浦859
左软键 -202
右软键 -203
OK -5
方向键上 -1
向下 -2
向左 -3
向右 -4
拨号键 -20
==========================================
最近一期的箱子破解游戏似乎OS7以上的机型都不能安装,都会有授权失败的字样,最早我安装很多JAVA游戏的时候也有这种情况,开始我上网查了,好象没有专门介绍这方面的东西,后来自己找到了解决的办法,这里和大家分享下:
1.授权失败的解决办法:
通常授权失败是由于游戏文件是破解版的缘故,这里简单的说一下梦网游戏破解的简单道理和方法:每月的1号,11号,21号都是移动百宝箱更新新游戏的时候,“厚道”的移动会在推出新游戏的时候推出一次性试玩的游戏版本(S40,S60V1,SE,MOTO都有,但是惟独S60V2也就是7610的箱子没有)试玩的原理很简单,就是在原版游戏的基础上处理了下,自动生成几个class,通过生成存档来判定是否运行过一次,下下来的JAR文件会有一个com文件夹在里面,里面有fourthpass和sincetimes两个文件夹,破解的原理就是将里面处理RMS的代码进行修改,使得程序得以正常运行。一般说来,假如是直接每个游戏每次修改,理论是不会出现授权失败的问题,但是假如破解者为了省事,将一个修改好的文件直接替换,可能就会出现授权失败的问题。解决的办法其实很简单:
将下下来的JAR文件里面的COM文件夹删除,然后传到手机上,这样就不会存在安装失败的问题了,但是安装完后游戏不能运行了,再将没有删除COM文件夹的JAR文件传到手机上,用SELEQ复制到游戏安装目录下(SYSTEM/MIDLET/下,看你安装文件的名字就可以判定,不是在SYSTEM/APP下,那个只是安装产生的注册文件),覆盖原来安装的游戏,就可以正常运行了,原理和安装SIS原版游戏,然后用破解文件替换APP文件的原来是一样的不过操作相对麻烦点了。
2.文件无效的解决办法:
产生该情况的原因一般是因为JAR文件中的MF信息遭到了修改造成的,解决办法很简单,假如能找到原版的游戏,将里面的MF信息修改回来就可以了。用WINRAR打开JAR文件,里面有一个META-INF文件夹,里面的MANIFEST.MF文件就是信息了,用记事本打开,然后修改,重新保存,记住一定要用另存为,编码选择UTF-8格式。最保险的方法是你安装了WTK,新建一个工程,主MIDLET和游戏的MIDLET名字一样,把SETTING里面的信息写成游戏需要的信息,比如ICON,作者,版本什么的,这样就会在WTK的工程APP/工程文件/bin文件夹里自动生成一个MANIFEST.MF文件,使用这个文件替换原来的文件就可以解决文件无效的问题。
3.版本无效
一般是由于CLCD的版本造成的问题,同样是修改MANIFEST.MF文件,把MicroEdition-Configuration: 这一项修改,比如QD,6600都是MicroEdition-Configuration: CLDC-1.0,假如是MicroEdition-Configuration: CLDC-1.1就直接改成MicroEdition-Configuration: CLDC-1.0,但是这种方法只能解决安装的问题,不一定就能够正确运行,只有少数游戏虽然写的是1.1,但是实际上还是1.0的游戏可以,同样,QD也可以通过修改MIDP的版本来解决安装的问题,至于能不能运行就看游戏本身和RP了
附上一些整理的其他资料:
jad文件说明及解析:
其实JAD生成的信息都是游戏包内META-INF目录下MANIFEST.MF文件的信息。我们可以通过使用JAD生成器来生成。但是生成器生成的JAD文件未必正确,而且对中文支持力度不够,所以我们需要自己来修改。
打开JAD(使用记事本就可以):
Manifest-Version: 1.0
这个是META-INF的版本信息,必须有,而且推荐放在最前。
Created-By: 1.4.2-b28 (Sun Microsystems Inc.)
游戏打包的创建信息,无所谓,一般也无关紧要
MIDlet-Name: Adventure Island
游戏名称,想改中文名就是改这个拉~
MIDlet-1: Adventure Island, /i.png, Main
游戏信息,分别是:游戏名称,LOGO地址,主程序文件
注重这里的名称必须与上面的MIDlet-Name保持一致
MIDlet-Icon: /i.png
LOGO地址,必须与MIDlet-1内的保持一致
MIDlet-Version: 1.1.0
必选项,不可缺少
MIDlet-Vendor: Living Mobile GmbH
游戏开发者,随便填什么都可以
MIDlet-Data-Size: 1000
这也是个可选项,表示运行游戏必要的额外空间,以字节计算。假如空间不足安装时则会提示无效文件。
Media-Price: 免费
这个是软件价格,随便你填拉
MIDlet-Description: 冒险岛是一款FC移植游戏
这个是说明文字,也是可以随便改写,都无所谓的
MicroEdition-Profile: MIDP-1.0
MIDP标准,这个小召提过很多次了,MOTO手机都是MIDP2.0的,当然有时候分明2.0的游戏也会被标为1.0,这里MOTO就没有问题拉。这个是必选项。
MicroEdition-Configuration: CLDC-1.0
CLDC标准,MOTO C系列是1.0的,注重索爱一些游戏是CLDC-1.1的,这时就不能用了,会显示无效文件。
MIDlet-Jar-Size: 95052
JAR文件大小,使用JAD文件来链接安装游戏时这个参数必须正确,否则会显示无效文件。模拟器运行时可忽略。
MIDlet-Jar-URL: mxd.jar
JAR文件地址,前面没有路径就是同一目录咯~不能有错。以上这2项最好放在JAD文件的最后~
一般游戏不能玩,解决方式:
1、乱码
解压JAR包,查看其中META-INF目录下的MANIFEST.MF文件里面是否有乱码(用记事本就可以打开),假如有,则将其逐一修改为非乱码。产生乱码的地方主要是中文的游戏名、介绍开发商和游戏价格。就是以下4行:
游戏名:(红色标记的就是游戏名,改为自己想要的名字吧,注重2处保持一致)
MIDlet-Name: Adventure Island
MIDlet-1: Adventure Island, /i.png, Main
开发者:
MIDlet-Vendor: Living Mobile GmbH
游戏介绍:
MIDlet-Description: 冒险岛是一款FC移植游戏
游戏价格:
Media-Price: 免费
OK,把这上面4处的乱码全部修正就可以了!随便填什么都没有关系的!(注重标点符号用英文半角,每行的冒号和后面的文字之间有英文空格)然后另存为同名文件,选择UTF-8格式,再拖入JAR包替换原文件就可以了,重生JAD试试。
2、JAD格式有错误
JAD格式有错有2个可能,一个是JAD生成器不规范(例如生成的不是UTF-8格式的JAD文件),第二个还是MANIFEST.MF文件本身有错(箱子游戏可真麻烦呀)
JAD明显的错误包括,字符显示不完善,一串字符明显还有下文,他忽然间就断掉了。例如:
MIDlet-Description: 冒险岛是一款FC移植游戏,适用于MOTO C65 (应该是C650吧??)
MIDlet-1: Adventure Island, /i.png, Ma (Main的“in”上哪去啦??)
这个明显就是出问题。
这个时候还是手工来修 MANIFEST.MF了,方法同上
3、JAD生成器无效
还有这种事?的确有,JAD生成器的程序其实笨笨的,这个时候你去查看一下META-INF这个目录名是否皆为大写,有时候变成了Meta-inf,这个时候JAD生成器就不认了。
4、文件路径和容量一定要正确
这个不用多说了,不过从WAP上下载下来的游戏JAD路径多数不正确,重新生成一下
5、CLDC不能超出标准
MicroEdition-Configuration: CLDC-1.0
1.0是符合标准的,1.1就超出了C650的标准
6、内存不够
MIDlet-Data-Size: 1000 这个表示了至少保留1K的剩余空间,假如这个数字显示为1000000,则表示至少保留1M的剩余空间,这个时候假如剩余空间不足就会“无效文件”,把这行去掉就可以了
7、缺少必要项目
以下项目是JAD内必须具备的,其他的都是可选项,去掉也没关系。但是必选项内假如少了一项可就装不了了
Manifest-Version: 1.0
MIDlet-Name:
MIDlet-1:
MIDlet-Version:
MIDlet-Vendor:
MicroEdition-Profile:
MicroEdition-Configuration:
MIDlet-Jar-Size:
MIDlet-Jar-URL:
8、JAD和MANIFEST.MF文件内容不同
这个就是提醒我们修改了MANIFEST.MF后一定要重生JAD
=================
所需软件:
HexWorkS 这个很难找了,推荐使用ultraedit32 很好下载,由于容量有点大,不提供下载
小颖Java源代码反编译专家
javamagic 手机Java游戏某些兼容性问题而设计的软件
javafull 手机游戏全屏修改
手机顽童 手机模拟器,论坛里应该有
这是很早修改着的一个游戏,修改后一直没拿出来。名字是法拉利经理人(Ferrari Manager)。一款集赛车和模拟经营要素的游戏。原版是S40的128*128,我计划改为MOTO C650的128*116。经过简单的处理后,游戏是可以运行了,但是高度的差距使得赛车在C650上无法显示出来,这个郁闷。好,那么就来修这个高度。
思路:drawImage(赛车图片,x横坐标,y纵坐标,anchor);
代码里肯定有这么一句来画赛车的,我们要做的就是改这个Y纵坐标!
我们先解开资源文件,找到赛车的图片playercar.png,然后反编译class,在e.class中找到:
a = Image.createImage("/playercar.png");
那么接着就是找drawImage(a,.....不出我们所料,找到这么一段:
public void c(Graphics g1)
{
int i1 = a.getHeight(); //图片高度
int j1 = a.getWidth() / 5; //图片宽度除以5(因为这张图包含了5个小图)
int k1 = (128 - j1) / 2; //128-图片宽度除以2,取得赛车中心点的位置
int l1 = 128 - (7 * i1) / 10 - b;
byte byte0;
if(H[0] < -450)
byte0 = 0;
else
if(H[0] < -150)
byte0 = 1;
else
if(H[0] < 150)
byte0 = 2;
else
if(H[0] < 450)
byte0 = 3;
else
byte0 = 4;
m(g1);
g1.clipRect(k1, l1, j1, i1);//以上几句是决定切割出赛车需要的的不同状态图象
g1.drawImage(a, k1 - j1 * byte0, l1, 20);//画赛车位置,可以看出l1是要害
a(g1, k1 j1 / 2, 128, (j1 * (2 - byte0)) / 6);
}
OK,既然l1是要害,那么上面这句int l1 = 128 - (7 * i1) / 10 - b;就很好理解了,把这里的128改为116。然后将修改后的class拖入jar包中,OK!原本本压在屏幕下方边界之外的赛车显示出来了!
好,这篇就讲到这里,虽然赛车是显示出来了,但是事关游戏中的碰撞检测,还需要进一步修改。
===============================
1.机型:三菱M350/M750
键 键值 对应16进制
左右软键 无定义 -
OK键 -6 FA
上键 -1 FF
下键 -2 FE
左键 -3 FD
右键 -4 FC
拨号 -5 FB
2.机型:NEC N108
键 键值 对应16进制
左右软键 无定义 -
OK键 -5 FB
上键 -1 FF
下键 -2 FE
左键 -3 FD
右键 -4 FC
拨号 -10 F6
3.机型:moto v220/c650/c381/E398
键 键值 对应16进制
左软键 -21 EB
右软键 -22 EA
中键 -20 EC
上键 -1
下键 -6
左键 -2
右键 -5
拨号 -10
数字0~9键:48~57
0 48 0000 0030
1 49
2 50
3 51
4 52 0000 0034
5 53
6 54 0000 0036
7 55 0000 0037
8 56
9 57 0000 0039
*键:42
#键:35
另:MOTO VXXX大屏幕系列的键值:左软 21;右软22;中键20;菜单23
更具体内容请查看MOTOSDK中DOCS目录内的API手册
4. 机型:飞利浦568
左软键 -202
右软键 -203
OK -5
方向键上 -1
向下 -2
向左 -3
向右 -4
拨号键 -200
5.机型:三星X108/X608
键 键值 对应16进制
拨号键:-5 FB
C键:-8 F8
左右软键 无定义
上键 -1 FF
下键 -2 FE
左键 -3 FD
右键 -4 FC
中键: -5 FB
数字0~9键:48~57
*键:42
#键:35
NOKIA手机的键值除了左右软键分别为 -6 和 -7 外和这一样。
另:三星部分手机的左右软键是有键值的分别为 -6 和 -7。
6.Alcatel OT557/556 /MOTO V600i
键 键值 对应16进制
左软键 -21 EB
左软键 -22 EA
OK键 -20 EC
上键 -1 FF
下键 -6 FA
左键 -2 FE
右键 -5 FB
7.多普达MIDP2.0模拟器
键 键值 对应16进制
左软键 无
左软键 -无
OK键 -5
上键 -1
下键 -2
左键 -3
右键 -4
8.索爱系列(K300、K500、K700、W800等)
键 键值 对应16进制
左软键 -6 FA
右软键 -7 F9
中键 -5 FB
上键 -1 FF
下键 -2 FE
左键 -3 FD
右键 -4 FC
拨号 无 --
C键 -8 F8
回退键 -11 F5
ok确定键:-5
1:49
2:50
............
9:57
0:48
*:42
#:35,
c键值为-8
9.MOTO V303:
键 键值 对应16进制
左软键 21
左软键 22
OK键 20
上键 1
下键 6
左键 2
右键 5
数字 2(上) 50
数字 8(下) 56
数字 4 (左) 52
数字 6(右) 54
数字 5(OK) 53
10.SHARP902 ,键值等同MOTO C650
索爱系列(K300、K500、K700、W800等)
键 键值 对应16进制
左软键 -6 FA
右软键 -7 F9
中键 -5 FB
上键 -1 FF
下键 -2 FE
左键 -3 FD
右键 -4 FC
拨号 无 --
C键 -8 F8
回退键 -11 F5
11.松下VS3
键 键值 对应16进制
左软键 -21
右软键 -22
中键 -20
上键 -1
下键 -6
左键 -2
右键 -5
拨号 -10
12.波导S689
屏幕大小:128*176(128*144)
键 键值 对应16进制
左软键 -7 F9
右软键 -6 FA
中键 -5 FB
上键 -1 FF
下键 -2 FE
左键 -3 FD
右键 -4 FC
13.东信ES1008触摸屏
上 -1
下 -2
左 -3
右 -4
OK -5
侧翻页键 0
14.moto C975
屏幕大小:176*204
键 键值
左软键 -21
右软键 -22
中键 -20
上键 -1
下键 -6
左键 -2
右键 -5
拨号 -10
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
0 48
* 42
# 35
15.波导M19
左软键-7 右软键-6
1 49 2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
* 42
0 48
# 35
OK -5
上 -1
下 -2
左 -3
右 -4
16.华为u636
键 键值
左软键 -6
右软键 -7
中键 -5
上键 -1
下键 -2
左键 -3
右键 -4
拨号 -10
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
0 48
* 42
# 35
clear -8
17.MOTO MPX220系列(智能机)
键值:
上:-1
下:-2
左:-3
右:-4
中键:-5
左软:-7
右软:-8
拨号键:-9
返回键:-6
数字键盘:有,键值略
结论:基本可以使用SE K700系列的游戏
19.西门子c65(X65系列)
m65,(c65,cx65,c75)
屏幕大小:128*128
s65
屏幕大小:132*176
键 键值 对应16进制
左键: -1
右键: -4
中键: -26 E6
菜单键: --
拨号键: -11
挂机键: -12
左方: -61 C2
右方: -62 C3
上方: -59 C5
下方: -60 C4
0到9数字键 48--57
*键 42
#键 35
20.nokia S40
键 键值 对应16进制
左键: -6
右键: -7
中键: -5
菜单键:--
拨号键:-10
挂机键:-11
左方: -3
右方: -4
上方: -1
下方: -2
21.飞利浦[email=9@9e]9@9e[/email]
左软键 105
右软键 106
中键 -5
上键 -1
下键 -2
左键 -3
右键 -4
拨号 -10
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
0 48
* 42
# 35
22.明基S700
左右软键 无定义
ok-20
上-1
下-1
左-2
右-5
*42
0 48
#35
23.机型:moto E1070
键 键值
左软键 -21
右软键 -22
中键 -20
上键 -1
下键 -6
左键 -2
右键 -5
拨号 -10
24.moto V3i
左软键 -21
中软键 -23
右软键 -22
中键 -20
上键 -1
下键 -6
左键 -2
右键 -5
拨号 -10
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
0 48
* 42
# 35
上网键 -104
短信键 -105
25.E1键盘键值:
拨号键:-10
按摇杆:-20
摇杆上:-1
摇杆下:-6
摇杆左:-2
摇杆右:-5
左软键:-21
菜单键:-23
右软键:-22
数字键1:49 数字键2:50 数字键3:51
数字键4:52 数字键5:53 数字键6:54
数字键7:55 数字键8:56 数字键9:57
* 号 键:42 数字键0:48 # 号 键:35
音量+:-100 音量—:-101 语音拨号键:-103
26.MOTO A768
左侧上:-1
左侧下:-2
中上:-3
中下:-4
右侧:-5
A768是大屏机 240X320
27.MOTO L6
屏幕大小:128*160
键值同C
28.MOTO L7
屏幕大小:176*220
键值同C
29.MOTO E1000/E1060/E1070/E1120
屏幕大小:240*320
键值同C
30.MOTO A668手机
左软键=21
右软键=22
左=17
右=18
上=15
下=16
中间=24
数字键可以用
31.夏新A675
键 键值
左软键 -6
右软键 -7
OK键 -5
上键 -1
下键 -2
左键 -3
右键 -4 FC
32.机型:飞利浦859
左软键 -202
右软键 -203
OK -5
方向键上 -1
向下 -2
向左 -3
向右 -4
拨号键 -20
==========================================
最近一期的箱子破解游戏似乎OS7以上的机型都不能安装,都会有授权失败的字样,最早我安装很多JAVA游戏的时候也有这种情况,开始我上网查了,好象没有专门介绍这方面的东西,后来自己找到了解决的办法,这里和大家分享下:
1.授权失败的解决办法:
通常授权失败是由于游戏文件是破解版的缘故,这里简单的说一下梦网游戏破解的简单道理和方法:每月的1号,11号,21号都是移动百宝箱更新新游戏的时候,“厚道”的移动会在推出新游戏的时候推出一次性试玩的游戏版本(S40,S60V1,SE,MOTO都有,但是惟独S60V2也就是7610的箱子没有)试玩的原理很简单,就是在原版游戏的基础上处理了下,自动生成几个class,通过生成存档来判定是否运行过一次,下下来的JAR文件会有一个com文件夹在里面,里面有fourthpass和sincetimes两个文件夹,破解的原理就是将里面处理RMS的代码进行修改,使得程序得以正常运行。一般说来,假如是直接每个游戏每次修改,理论是不会出现授权失败的问题,但是假如破解者为了省事,将一个修改好的文件直接替换,可能就会出现授权失败的问题。解决的办法其实很简单:
将下下来的JAR文件里面的COM文件夹删除,然后传到手机上,这样就不会存在安装失败的问题了,但是安装完后游戏不能运行了,再将没有删除COM文件夹的JAR文件传到手机上,用SELEQ复制到游戏安装目录下(SYSTEM/MIDLET/下,看你安装文件的名字就可以判定,不是在SYSTEM/APP下,那个只是安装产生的注册文件),覆盖原来安装的游戏,就可以正常运行了,原理和安装SIS原版游戏,然后用破解文件替换APP文件的原来是一样的不过操作相对麻烦点了。
2.文件无效的解决办法:
产生该情况的原因一般是因为JAR文件中的MF信息遭到了修改造成的,解决办法很简单,假如能找到原版的游戏,将里面的MF信息修改回来就可以了。用WINRAR打开JAR文件,里面有一个META-INF文件夹,里面的MANIFEST.MF文件就是信息了,用记事本打开,然后修改,重新保存,记住一定要用另存为,编码选择UTF-8格式。最保险的方法是你安装了WTK,新建一个工程,主MIDLET和游戏的MIDLET名字一样,把SETTING里面的信息写成游戏需要的信息,比如ICON,作者,版本什么的,这样就会在WTK的工程APP/工程文件/bin文件夹里自动生成一个MANIFEST.MF文件,使用这个文件替换原来的文件就可以解决文件无效的问题。
3.版本无效
一般是由于CLCD的版本造成的问题,同样是修改MANIFEST.MF文件,把MicroEdition-Configuration: 这一项修改,比如QD,6600都是MicroEdition-Configuration: CLDC-1.0,假如是MicroEdition-Configuration: CLDC-1.1就直接改成MicroEdition-Configuration: CLDC-1.0,但是这种方法只能解决安装的问题,不一定就能够正确运行,只有少数游戏虽然写的是1.1,但是实际上还是1.0的游戏可以,同样,QD也可以通过修改MIDP的版本来解决安装的问题,至于能不能运行就看游戏本身和RP了
附上一些整理的其他资料:
jad文件说明及解析:
其实JAD生成的信息都是游戏包内META-INF目录下MANIFEST.MF文件的信息。我们可以通过使用JAD生成器来生成。但是生成器生成的JAD文件未必正确,而且对中文支持力度不够,所以我们需要自己来修改。
打开JAD(使用记事本就可以):
Manifest-Version: 1.0
这个是META-INF的版本信息,必须有,而且推荐放在最前。
Created-By: 1.4.2-b28 (Sun Microsystems Inc.)
游戏打包的创建信息,无所谓,一般也无关紧要
MIDlet-Name: Adventure Island
游戏名称,想改中文名就是改这个拉~
MIDlet-1: Adventure Island, /i.png, Main
游戏信息,分别是:游戏名称,LOGO地址,主程序文件
注重这里的名称必须与上面的MIDlet-Name保持一致
MIDlet-Icon: /i.png
LOGO地址,必须与MIDlet-1内的保持一致
MIDlet-Version: 1.1.0
必选项,不可缺少
MIDlet-Vendor: Living Mobile GmbH
游戏开发者,随便填什么都可以
MIDlet-Data-Size: 1000
这也是个可选项,表示运行游戏必要的额外空间,以字节计算。假如空间不足安装时则会提示无效文件。
Media-Price: 免费
这个是软件价格,随便你填拉
MIDlet-Description: 冒险岛是一款FC移植游戏
这个是说明文字,也是可以随便改写,都无所谓的
MicroEdition-Profile: MIDP-1.0
MIDP标准,这个小召提过很多次了,MOTO手机都是MIDP2.0的,当然有时候分明2.0的游戏也会被标为1.0,这里MOTO就没有问题拉。这个是必选项。
MicroEdition-Configuration: CLDC-1.0
CLDC标准,MOTO C系列是1.0的,注重索爱一些游戏是CLDC-1.1的,这时就不能用了,会显示无效文件。
MIDlet-Jar-Size: 95052
JAR文件大小,使用JAD文件来链接安装游戏时这个参数必须正确,否则会显示无效文件。模拟器运行时可忽略。
MIDlet-Jar-URL: mxd.jar
JAR文件地址,前面没有路径就是同一目录咯~不能有错。以上这2项最好放在JAD文件的最后~
一般游戏不能玩,解决方式:
1、乱码
解压JAR包,查看其中META-INF目录下的MANIFEST.MF文件里面是否有乱码(用记事本就可以打开),假如有,则将其逐一修改为非乱码。产生乱码的地方主要是中文的游戏名、介绍开发商和游戏价格。就是以下4行:
游戏名:(红色标记的就是游戏名,改为自己想要的名字吧,注重2处保持一致)
MIDlet-Name: Adventure Island
MIDlet-1: Adventure Island, /i.png, Main
开发者:
MIDlet-Vendor: Living Mobile GmbH
游戏介绍:
MIDlet-Description: 冒险岛是一款FC移植游戏
游戏价格:
Media-Price: 免费
OK,把这上面4处的乱码全部修正就可以了!随便填什么都没有关系的!(注重标点符号用英文半角,每行的冒号和后面的文字之间有英文空格)然后另存为同名文件,选择UTF-8格式,再拖入JAR包替换原文件就可以了,重生JAD试试。
2、JAD格式有错误
JAD格式有错有2个可能,一个是JAD生成器不规范(例如生成的不是UTF-8格式的JAD文件),第二个还是MANIFEST.MF文件本身有错(箱子游戏可真麻烦呀)
JAD明显的错误包括,字符显示不完善,一串字符明显还有下文,他忽然间就断掉了。例如:
MIDlet-Description: 冒险岛是一款FC移植游戏,适用于MOTO C65 (应该是C650吧??)
MIDlet-1: Adventure Island, /i.png, Ma (Main的“in”上哪去啦??)
这个明显就是出问题。
这个时候还是手工来修 MANIFEST.MF了,方法同上
3、JAD生成器无效
还有这种事?的确有,JAD生成器的程序其实笨笨的,这个时候你去查看一下META-INF这个目录名是否皆为大写,有时候变成了Meta-inf,这个时候JAD生成器就不认了。
4、文件路径和容量一定要正确
这个不用多说了,不过从WAP上下载下来的游戏JAD路径多数不正确,重新生成一下
5、CLDC不能超出标准
MicroEdition-Configuration: CLDC-1.0
1.0是符合标准的,1.1就超出了C650的标准
6、内存不够
MIDlet-Data-Size: 1000 这个表示了至少保留1K的剩余空间,假如这个数字显示为1000000,则表示至少保留1M的剩余空间,这个时候假如剩余空间不足就会“无效文件”,把这行去掉就可以了
7、缺少必要项目
以下项目是JAD内必须具备的,其他的都是可选项,去掉也没关系。但是必选项内假如少了一项可就装不了了
Manifest-Version: 1.0
MIDlet-Name:
MIDlet-1:
MIDlet-Version:
MIDlet-Vendor:
MicroEdition-Profile:
MicroEdition-Configuration:
MIDlet-Jar-Size:
MIDlet-Jar-URL:
8、JAD和MANIFEST.MF文件内容不同
这个就是提醒我们修改了MANIFEST.MF后一定要重生JAD
=================
所需软件:
HexWorkS 这个很难找了,推荐使用ultraedit32 很好下载,由于容量有点大,不提供下载
小颖Java源代码反编译专家
javamagic 手机Java游戏某些兼容性问题而设计的软件
javafull 手机游戏全屏修改
手机顽童 手机模拟器,论坛里应该有

