发新话题
打印

[技巧] JAR游戏短信收费破解教程 随便为广大机油破解游戏

JAR游戏短信收费破解教程 随便为广大机油破解游戏

JAR游戏短信收费破解教程 随便为广大机油破解游戏             破解工具HALO下载


  (1.91 MB)

  (1.91 MB)

  (596.97 KB)


以上3个全部下载随意解压其中一个就可以,随意放在哪里都可以

HALO需要运行平台(这步很重要!!)
没有的朋友可以到搜索引擎上找
jdk-1_5_0-windows-i586
我也提供了三个下载地址


迅雷下载:
点击


163网盘下载地址:
点击进入
(账号chencyt  密码123456

纳米盘下载地址:
点击进入下载页面

纳米盘下载的人过多,建议选择上面2个



请认真看帖子,按帖子说的一步一步来肯定没问题的


第一:双击已下载好的HALO.EXE  (电脑装JAR平台才打得开






选择文件名的 第一个打开JAR文件 在文件里选择你要破解的游戏
以反恐精英 做例子 如下边的图  






第二: 选择工具---配置--- 选择对JAR进行破解 --然后点确定 如下图




假如你想改变 收费的文字如下图  




第三: 按-工程-编译-工程-打包  一定要这个顺序才可以 如下图

编译




打包




打包好过后在工程-运行 可以试玩游戏也是手机顽童感觉效果不是很好可以到下面下载最新版本的手机顽童试玩

破解好游戏如下图寻找游戏  在games文件夹里




用红色圈起来的那三个文件为:SRC    PROJECT  
BUIID文件夹,破解中产生的,破解成功后可删除
蓝的就是破解好的游戏





友情提示,JAR不支持中文名字的手机改下名字就可以只要不是中文什么都可以






破解游戏就是这么简单,你还在犹豫什么,赶紧找到你喜欢的游戏,体验游戏自己破解的感觉


   


在发个JAR模拟器,破解完成后可以在电脑上试玩下

  (1.51 MB)  手机顽童在电脑上玩JAR的模拟器

要我帮破解游戏,请你把游戏跟帖上传上来破解好的游戏我会上传到二楼记得以破解过的游戏不要发上来因为我在破解次你就玩不了我只会破解JAR游戏,SIS游戏我不会破解

JAR破解原理在七楼有爱好的朋友可以去看看
      以破解过的游戏在次破解碰到发短信收费的地方游戏会推出
破解过的,只能在改改文字
      此破解方法对于JAR网络游戏是没有用,网络游戏本身就不存在游戏中短信收费,目前发现了几款游戏对HALO做了调整破解过后他收不了费,我们也得不到发短信能得到的内容

有什么不明白,跟帖留言

下面几个推荐大家玩看看,很不错的游戏,我相信很多人都玩过了









刺客的信条

  



反恐精英 暴雪正版

  



孤岛余生

  



怪兽仙境





TOP

下载后记得改下名字我没有试玩,不敢保证每个游戏100%破解为了安全起见,调成离线玩时发短信看看在去通讯记录看看有发短信给SP的信息吗没有的话就是破解成功


为cmmei 破解游戏
  (256.88 KB)
  (403.13 KB)
  (285.14 KB)



gaosheng88
  破解游戏

  (233.51 KB)

  (84.76 KB)

  (327.8 KB)

  (223.44 KB)



gaosheng88
破解游戏
  (134.78 KB)



qiaobin521
破解游戏
  (108.86 KB)








TOP

谢谢分享了 希望好用




TOP

感谢分享,支持你!




TOP

感谢分享





TOP

有效吗




TOP

JAR破解原理

       首先来了解下利用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 %26lt;java/lang/StringBuffer>
5 dup
6 ldc 33 %26lt;sms://>
8 invokespecial 36 %26lt;java/lang/StringBuffer.%26lt;init>>
11 aload_0
12 getfield 18 %26lt;SMSXX.phoneNum>
15 invokevirtual 40 %26lt;java/lang/StringBuffer.append>
18 invokevirtual 44 %26lt;java/lang/StringBuffer.toString>
21 astore_2
22 aload_2
23 invokestatic 50 %26lt;javax/microedition/io/Connector.open>
26 checkcast 52 %26lt;javax/wireless/messaging/MessageConnection>
29 dup
30 astore_1
31 ldc 54 %26lt;text>
33 invokeinterface 58 %26lt;javax/wireless/messaging/MessageConnection.newMessage> count 2
38 checkcast 60 %26lt;javax/wireless/messaging/TextMessage>
41 dup
42 astore_3
43 aload_2
44 invokeinterface 65 %26lt;javax/wireless/messaging/Message.setAddress> count 2
49 aload_3
50 aload_0
51 getfield 22 %26lt;SMSXX.s>
54 invokeinterface 68 %26lt;javax/wireless/messaging/TextMessage.setPayloadText> count 2
59 aload_1
60 aload_3
61 invokeinterface 72 %26lt;javax/wireless/messaging/MessageConnection.send> count 2
66 aload_0
67 invokevirtual 75 %26lt;SMSXX.doSendOk>
70 goto 78 (8)
73 astore_2
74 aload_0
75 invokevirtual 78 %26lt;SMSXX.doSendFalse>
78 return

我们需要利用的就是67行跟75行这两段,我们只要把这两段的位置换一下就OK用HEX打开,定位(怎么定位请看另一篇文章,快速定位需要修改的16进制位置,
67行为:B6004B
75行为:B6004E
我们把004B跟004E两个位置换下,保存,然后反编译看看,是不是OK了,接下来我们要做的是为了确保不发出短信出去(当然在有提示的时候按否也是一样的,但是为防止按错还是保险起见把sms://这个改成其他字符吧,比如kim:// :,这样一运行到发短信的地方就发生异常,程序就运行catch中的doSendOk()了
另外一种思路要你对流程很了解,不直接修改发送的代码,而是看doSendOk()跟doSendFalse()这两个方法,既然发不出去会运行 doSendFalse(),而doSendFalse()跟doSendOk()二者只是一个变量的区别,那么我们把doSendFalse()中的        isSend = false改成        isSend = true,不就是跟doSendOk()只是方法名之间的区别了吗,同样道理,改完后再把sms改成其他东西(具体过程略,大家自己想想吧







TOP

裸奔支持




TOP

好贴,定你




TOP

支持





TOP

不错
大家都来




TOP

感谢感谢




TOP

楼主厉害




TOP







TOP

绝对顶你




JAR游戏短信收费破解教程 随便为广大机油破解游戏

TOP

发新话题