简单的java游戏代码Halo2.0系列教程[wap修改]
一,破解wap收费或者gprs收费教程。教程选用游戏《鬼面劫》。类型:wap
收费。难度:中等。
步骤:
1.用halo打开鬼面劫的jar。废话。。。。附件有该原始jar!
接下来在class editor窗口!一定要在这个窗口搜索。不然搜索会根据当前界面来搜索。通过工具->全文搜索。首先我们先搜索"HttpConnection",不包含双引号.记得选择搜索模式是"total class",为什么要搜索这个关键字呢,因为目前的wap或者grps收费都是通过http连接来进行收费的,通俗的来讲,也就是手机通过登陆移动梦网访问页面进行业务的订购。如图001所示:
2.由于对所有的class文件进行搜索的数据量较大,可能需要消耗几秒中:),在几秒的YY后,搜索结果如下图002所示:
3.我们发现在h.class和o.class里面都含有HttpConncetion这个字段,那也就是说在这两个类里面都出现了要进行http的联网。这个游戏有些特殊,实际
上h这个文件是一个所谓游戏用来下载关卡的,实际上实际上是用来给他们的论坛发送消息用的,不是真的下载关卡,具体怎么知道,这里我就不细说了。所以o.class这个文件才是真正要想网络收费的实现。搜索一共有四个结果。那么现在我们来缩小搜索的范围,这次我们搜索选择“current class”,记得这时候已经在搜索结果中双击o.class来打开o这个文件。我们这时候输入搜索条件"Connector/open",这时候是不是只有了一个结果,如下图003所示:
搜索结果如下:004
4.也就是在o文件中的for方法中进行网络的连接,那是不是代表就是要修改这里了呢,先别着急。根据经验,我们要到是谁调用了o文件的这个for方法。
接下来我们搜索“invokestatic o/for”,发现一共有三个结果,我们继续往下搜索,第一个方法调用的地方,也就是"invokestatic o/try",这次采用total class 搜索。一个有两个结果,我们搜索第二个“invokestatic o/do”,如下图005所示:
5.出现了一个结果,双击打开n文件,发现出现的地方是run方法,这里说明一个小技巧,wap收费的方法一般都是run。根据经验判断,wap收费的一系列动作应该都在这个方法里了,也就是n文件的run方法中了。之前的一系列搜索,需要用户自己根据经验一步步来摸索-_-。
我们用DJ Java Compiler来反编译n文件,发现这个文件很简单,基本上就一个run方法。而且我们也发现了一些很有趣的东西。我们是不是看到了smsmoney,还有什么+200,+100,联系之前游戏所看,是不是有影响,也就是花2元可以得到200增值币,如果一下子花6元,除了得到600增值币以外,还会得到100的增值币。有些编程经验的朋友可以看到,这个run方法实际上是个循环,初步猜想每次扣费2
元,通过选择的方式是否一次扣费,还是多次扣费。而我们刚才知道,o这个文件是用来联网收费的,那么我们的修改方案就是把o文件所有相关的地方去掉,直接让其默认收费成功。所以以下的代码段我们应该都要删除:如图006
我们知道要删除哪些代码呢,那么我们在halo里面怎么做到呢。这时候我们在DJ里面中的setting选项,设置Decompile Setting,把Generate JVM instructions as comments打勾。如图007:
这时候我们发现:如图007.1
这段是从12行开始的,在DJ里面行数是0开始的,而在Halo里面是从1开始的,那么这行对应在halo应该是从13开始的,如图008所示:
恩,都是aload_0这个指令。那么就没错了。接下来我们结束的地方。如图008.1
6.107!!!那么对应halo就是108,我们去验证看看。呵呵,halo的108和109行跟DJ的107和108的代码都是一样的,都是一样的:如图009
7.那么最后,我们知道了,我们只需要删除从halo的13行到109行的代码段就可以了。打开代码标编辑。选择,然后删除。如图010