Minisoyo社区's Archiver

欢迎注册泡面三国

saga. 发表于 2008-5-21 19:34

[分享]修改手机游戏分辨率[转]

[size=3]刚才找了一下,发现关于修改分辨率的教程很少,大多是教如何用JM修改分辨率的办法,但JM不管用的情况太多了,所以分享一篇手动修改分辨率的教程。[/size]
[size=3][/size]
[size=3][/size]
[size=3][/size]
[size=3]所谓暴力移植游戏,就是用WINHEX等16进制修改工具直接编辑游戏的CLASS,要运用这种方法,首先要安装
JAVA反编译工具(最好找个国产的,用外国的反编译出来中文是不能正常显示的,所以我开始时都是要猜位置,现在习惯了所以还是用DJ),16进制编辑工具,中文模拟器,JavaMagic(主要是懒于自己修改键位),计算器。而移植的游戏主要是针对S60的游戏,而且解压出来有图片的游戏移植更加容易。

工具齐了,就开始移植,先用JavaMagic修改好键位,然后用模拟器试运行,可以了然后解压,反编译CLASS文件,然后正式开始移植了。

首先CLASS反编译出来的文件直接用CTRL+F搜索draw,其中图片显示的函数是drawImage,文字显示的函数是drawString,搜索draw是确定CLASS文件中是否有需要改的地方,那么找到文件了,比如a.class反编译的a.jad中搜索出drawImage或drawString,就是说里面有决定JAVA文字或图片的函数,其格式通常是:
drawImage(a, 10, 20, 20)
drawString(b, 100, 208, 20)或drawString("文字", 10, 20, 20)
(还有其他的一些DRAWXXXX函数不一一细说了,都是差不多的,主要是我不甚记得其意义)
10,20代表图片文字开始显示的位置,左上角那点表示0,0前面那个是横 后面那个是纵

其中a和b是被定义图片文字的代码在上面你基本上可以搜索到
a = xx("xxx.png")
b = xxx("文字")

其中不是用中文软件反编译的文字是不能正常显示的。

地方找到了,就要开始修改,用WINHEX等直接打开a.class,
搜索100A(16进制的10)1014(16进制的20)(需要用计算器将10进制改为16进制),搜索前最好确定上文中有多少个10,20这样的组合以确定位置,搜索到了就直接修改,比如改为0,0:
100A1014 —— 10001000,这样就达到修改的目的,而a所代表的图片的起始位置就到了0,0,同样文字也是这样修改。

所以通常是先用模拟器确定需要修改的图片显示位置,再改到适合位置,不断调试。

还有要说明的是数值显示的方式
通常是
0-5 03-08(通常有一些比较小的数字是这样显示的)
0-127 1000-107F
128-208 110080-1100D0


比如132,你就要搜索110084

方法是这样了,那么下面就谈一下技巧

技巧一:
因为S60的游戏是176*208的,而移植的目的是改为132*176
而很多图片是从中间显示的,比如(88,XX),只要改为(66,XX)就可以显示到中间了,即将1058改为1042,当然改的时候要搜索清楚才改。
还有是有一些可以直接改176,208,成为132,176就可以的,即是1100B01100D0改为1100841100B0

技巧二:
有一些游戏其位置是用字母显示的,比如a+k,b+y等,见到这种情况的话就先看前面有没有写a = xx,b=xx,x=xx,y=xx,应为有一些是自动适应高度长度的,比如a=getlength那就不用改,但是要是没有的话就要改成适当的数字

技巧三:
有一些是集合数字和字母的,字母就看有没有定义个别的数值,比如A=176等,而数字就要改到适当位置。

技巧四:
有一些位置直接修改图片而不用修改文件可以达到移植的目的。[/size]

则卷 发表于 2008-5-21 19:44

留作纪念
完全看不懂T T

000011112222 发表于 2008-5-21 20:07

也許是我太笨了:疑问 ,看了兩次都看不懂:没办法

发表于 2008-5-21 20:12

嗯..某些游戏用halo就可以改
比如确定是176X208的游戏搜索这两个数字
然后改...
只是某些游戏而已...

myvoice 发表于 2008-5-24 07:05

好好学习,天天向上

zhbzhb 发表于 2008-6-18 13:39

[quote]原帖由 [i]囧[/i] 于 2008-5-21 20:12 发表 [url=http://www.minisoyo.com/redirect.php?goto=findpost&pid=2630434&ptid=130338][img]http://www.minisoyo.com/images/common/back.gif[/img][/url]
*** 作者被禁止或删除 内容自动屏蔽 *** [/quote]
狂人终于被禁言了,引以为戒~

rtscb 发表于 2008-6-21 14:06

我多希望我能看懂啊。。。貌似智商的问题?~

蓝优灵 发表于 2008-7-10 16:57

完全不知所云呃。。。

soft 发表于 2008-7-11 04:41

不解...看來我跟這篇文章無緣了@@

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.