-
关注Ta
-
- 注册时间 2010-03-03
- 最后登录 2012-11-02
-
- 发帖1154
- 在线92小时
- 精华0
- DB805
- 威望200
- 保证金0
- 桃子0
- 鲜花0
- 鸡蛋0
-
访问TA的空间加好友用道具
|
HALO是破解手机游戏不可缺少的软件! 不说,不懂可以百度!
在手机使用过程中会出现,软件或者游戏按键不对的情况!而这个软件或者游戏我们又灰常喜欢!怎么办呢?
没关系! 我教你! 难易程度:简单 每个机型的基本情况不一,我在这里只能举例说明!
在这个教程里,我们将看看如何进行键值的修改,这种修改是最省内存,而且也很简单,基本不会出错。我们做一个SE176X220的机型移植到moto E398的一个过程。 用haol2.20打开7th_Space_SE_K700_176x220.jar 使用halo2.20搜索keyPressed, keyReleased, keyRepeat...
从英文的字面上来看,我们可以知道这三个方法实际上是代表的意思是:有按键按下,有按键松开,有按键重复。是的,这就是我们这个教程要做文章的地方,也是按键修改的思想所在。
我们可以这样去理解一件事情,当se的游戏要跑在moto的机型上,我们去按键的时候,这时候的键值是moto的,而游戏里面处理的却是se的键值,所以我们需要在这个过程中去拦截键值,也就是如下的流程: 我们在moto手机上按键把moto的键值改成SE的键值 --> 这里就是我们需要拦截和处理的地方。 游戏处理SE的按键 在搜索方法名class后,我们发现在GEngine.class里面有keyPressed, keyReleased,如图所示:
通过代码表编辑来编辑keyPressed方法,选中第一行,然后点击 “新建(高级 )”。如
记住了,在halo里面插入代码段,都是在当前选中行的上一行插入的。在弹出的窗口中,我们复制粘贴以下代码 iload_1 lookupswitch -22: 6, -21: 3, -20: 21, -6: 12, -5: 18, -2: 15, -1: 9, default: 23 bipush 250 istore_1 goto 23 bipush 249 istore_1 goto 23 iconst_m1 istore_1 goto 23 bipush 254 istore_1 goto 23 bipush 253 istore_1 goto 23 bipush 252 istore_1 goto 23 bipush 251 istore_1 复制粘贴后如图所示:
按确定完成,是不是看到在halo里面已经插入了以上的代码呢,ok,那么我们保存方法。 现在我们去验证以下,我们是否插入代码成功,用DJ 来反编译该类,发现在keyPressed这个方法中加入了如图的代码:
看起来是不是很熟悉,-21,-22等等,这不就是键值吗?上面的代码很容易看明白,就是当键值等于-21的时候我们就让它等于-6,
这就是拦截思想的实现了。 有些朋友会问,为什么在halo里面怎么没有看到-6,-7等等的键值呢,实际上不要着急,因为-6实际上是等于250的。 我们在lookupswitch -22: 6, -21: 3, -20: 21, -6: 12, -5: 18, -2: 15, default: 23 这行上,点击编辑,如图所示:
左边的值是不是很熟悉,如果我们要移植到别的机型,我们可以修改这些值,当然我们也可以高级编辑它。 接下来我们在 bipush 250这行点击编辑,如图所示:
是不是-6出来了。我们可以修改成任意的值。例如我们修改为-7,那么就左右软键颠倒了。 而接下来的keyRelease,也是同样复制代码就可以了。
|