每日资源更新列表 | 机型论坛 | 游戏下载 | 电子书下载 | 铃声下载 | 主题下载 | 电影下载 | 收藏本页
发新话题
打印

[经验分享] 手机游戏破解软件及教程

手机游戏破解软件及教程

中午发了个教程,管理员让把两个教程合并,我就简单整理一下~献给大家~~

这里要用到的软件有JAVA软件和Halo(附件里有).大家下载完后解压,然后先安装JAVA软件(否则Halo打不开),然后双击“Halo.exe"打开Halo.
以下方法是本人用过之后总结的,自己摸索了一下~呵~~破解了好多游戏~与大家分享一下这种方法~不知道这种方法是否正确,但可以破解~~
注意:此软件只是对短信破解,有的游戏是要用HTTP传送的,这个是破解不了的.破解游戏的时候要注意!

主要有两种类型:(也是目前本人会破解的两类)

一种是可以找到明显的数字(也就是发短信要花的钱),这里举两个例子,过程如下:

我们以八大狐仙做为例子:        
第一:双击"Halo.exe"打开后,选择要破解的手机游戏.(图1)
第二:选择工具--配置,选择对JAR进行破解,然后点确定.(如图2)


如果你想改变收费的文字.如下图:(也可以该成你喜欢的名字.比如:已有XXX破解.切记:文件不是都可以修改的,只该汉字就可以了.)(图3)


最后:按工程--编译.工程--打包.一定要按这个程序才可以.(如图4)


此时游戏已经破解好了,打开安装目录后:如下图(图5)



上面的是最简单的,下面看另外一个例子,三国猛将:
步骤与上面的一样,只有改数字的地方不一样,这个数字不是很好找,大家仔细找找噢~(如图6)





另外一种是找不到明显的数字:
破解的步骤跟第一个例子一样,也是修改的地方不一样,就直接删除那个sms://  (如图7)


这一步估计是删除了发短信那个程序,猜测```

本人已经用上面的方法破解了许多游戏~但还有一部分游戏破解不了~~就请哪位高手再补充咯~~


[ 本帖最后由 qunqun211 于 2008-6-13 18:12 编辑 ]
附件: 您所在的用户组无法下载或查看附件,请先 登陆注册

TOP

[教程]去除java游戏中的短信操作的简单教程

另外还有一种比较专业的破解方法,也传上来大家看看!比较复杂~~


首先来了解下利用java实现短信发送的原理,这个使用的是j2me的可选包Wireless Messaging API(WMA,JSR120)来进行操作的,这是个敏感API,在未取得授权或认证,使用之前必须提示使用者是否要进行操作。对于有的型号的手机可以直接设置程序是否可以进行短信操作。所以一般来说,不会出现无缘无故发出短信而扣费的情况,除非你设置了总是允许操作这项(相信没几个人会这么做)。当然很多免费短信软件如悠信,XROSE什么的都是利用的这个API啦。
由于设置了短信的游戏中目的只是为了收费,而且一般一条短信的价格都不菲,但是很多地方不发短信又无法继续进行游戏,那么,如果想继续免费玩下去,就得对短信操作进行处理。(一般来说发短信和连网不一样,不是必须发才可以实现结果的,同样是进下一关,网络下载就是必须进行的操作,而短信买关就不一样,那关其实是存在的,但是必须进行这一操作才可继续玩)
首先是工具,必备的工具就是java反编译软件,UE或HEX等16进制编辑器,另外为了方便查看字节码还需要jclasslib。
首先我们来看一段代码,一般的短信发送都是类似的,当然,你也可以利用这个自己写个免费发短信的东西:)
import java.io.IOException;
import java.io.PrintStream;
import javax.microedition.io.Connection;
import javax.microedition.io.Connector;
import javax.wireless.messaging.*;
class SMSXX
{
               String ph;
               String s = 发送的内容;
               boolean isSend = false;
               void sendSms()
               {
                       MessageConnection messageconnection = null;
                       try
                       {
                           String s1 = sms://  phoneNum;
                           TextMessage textmessage;
                           (textmessage = (TextMessage)(messageconnection = (MessageConnection)Connector.open(s1)).newMessage(text)).setAddress(s1);
                           textmessage.setPayloadText(s);
                           messageconnection.send(textmessage);
                           doSendOk();
                       }
                       catch(IOException _ex)
                       {
                           doSendFalse();        }
               }
               void doSendOk()
               {
                       System.out.println(Send Ok);
                       isSend = true;
               }
               void doSendFalse()
               {
                       System.out.println(Send False);
                       isSend = false;
               }
}
通常,发送成功之后会有个判断或者是进行接着的方法,有的发送的方法本身就返回boolean变量,如果发送成功就返回true,反之就返回false。上面的例子属于一般情况,我们可以用以下几个思路来考虑。
1.发送成功后会运行doSendOk()方法,而发送失败就会运行doSendFalse(),那么我们只要把这两个方法的位置换一下,那么即使发送失败,那么程序仍然会运行doSendOk()方法。我们用jclasslib打开该class,然后查看sendSms()方法,看字节码:
0 aconst_null
1 astore_1
2 new #31  
5 dup
6 ldc #33  
8 invokespecial #36 java/lang/StringBuffer.
11 aload_0
12 getfield #18  
15 invokevirtual #40  
18 invokevirtual #44  
21 astore_2
22 aload_2
23 invokestatic #50  
26 checkcast #52  
29 dup
30 astore_1
31 ldc #54  
33 invokeinterface #58   count 2
38 checkcast #60  
41 dup
42 astore_3
43 aload_2
44 invokeinterface #65   count 2
49 aload_3
50 aload_0
51 getfield #22  
54 invokeinterface #68   count 2
59 aload_1
60 aload_3
61 invokeinterface #72   count 2
66 aload_0
67 invokevirtual #75  
70 goto 78 (8)
73 astore_2
74 aload_0
75 invokevirtual #78  
78 return

我们需要利用的就是67行和75行这两段,我们只要把这两段的位置换一下就OK。用HEX打开,定位,
67行为:B6004B
75行为:B6004E
我们把004B和004E两个位置换下,保存,然后反编译看看,是不是OK了,接下来我们要做的是为了确保不发出短信出去(当然在有提示的时候按否也是一样的,但是为防止按错还是保险起见)把sms://这个改成其他字符吧,比如kim:// :),这样一运行到发短信的地方就发生异常,程序就运行catch中的doSendOk()了。
另外一种思路要你对流程很了解,不直接修改发送的代码,而是看doSendOk()和doSendFalse()这两个方法,既然发不出去会运行doSendFalse(),而doSendFalse()和doSendOk()二者只是一个变量的区别,那么我们把doSendFalse()中的        isSend = false改成        isSend = true,不就是和doSendOk()只是方法名之间的区别了吗,同样道理,改完后再把sms改成其他东西。(具体过程略,大家自己想想吧)。
介绍俩个软件:1 UltraEdit(16进制编辑器,汉化必备基本工具)下载地址:http://www.onlinedown.net/soft/7752.htm
                    2 小颖JAVA源代码反编译超级引擎(强有力的汉化助手)下载地址:http://www.skycn.com/soft/8252.html

TOP

哈哈,不会吧。把我的图片传到你的帖子里。小颖JAVA源代码反编译超级。好象是软件类别: 国产软件 / 共享软件 / 编译工具 。

TOP

嘿嘿~~我把你的贴子跟我的贴子合并在了一起~~看起来方便~不觉得更好麽?呵呵~~

TOP

找好久了 支持一下 嘿嘿

TOP

ding

TOP

deinga

TOP

hao dong xi a

TOP

ni ding ni ding shui a

TOP

DDDDDD!!!!!!!!!!~~~LZ

TOP

ding ding ding ding ding

TOP

ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd

TOP

太棒了

图片呢,好好!

TOP

发新话题
Google