playjava吧 关注:346贴子:1,002
  • 8回复贴,共1

破解Java游戏教程2

取消只看楼主收藏回复

转载


IP属地:江西来自Android客户端1楼2018-02-20 11:05回复
    首先,需要必备的手机软件有“minicommander”“classtranslate”“classtranslator”“jasmin”“disassembler2jasmin”“jclazzme”等。(由于前一篇说的并不是都有用)
    好,准备好这些软件后就可以开始破解了。我们以《隋唐英雄传》为例。


    IP属地:江西来自Android客户端3楼2018-02-20 11:05
    回复
      2026-04-24 05:37:36
      广告
      不感兴趣
      开通SVIP免广告
      下面说一下原理与修改方法。
      游戏《隋唐英雄传》的收费类g.class用jclazzme反编译后的源码g.java如下:


      IP属地:江西来自Android客户端5楼2018-02-20 11:06
      回复
        import javax.microedition.io.*;
        import javax.wireless.messaging.*;
        public final class g
        {
        public g()
        {
        }
        public static synchronized boolean a(String string_1, String string_2)
        {
        MessageConnection messageconnection_1 = null;
        int int_1 = 1;
        string_1 = new StringBuffer().append("sms://").append(string_1).toString();
        messageconnection_1 = ((MessageConnection) Connector.open(new StringBuffer().append("sms://").append(string_1).toString()));
        TextMessage textmessage_1 = ((TextMessage) ((MessageConnection) Connector.open(new StringBuffer().append("sms://").append(string_1).toString())).newMessage("text"));
        ((TextMessage) ((MessageConnection) Connector.open(new StringBuffer().append("sms://").append(string_1).toString())).newMessage("text")).setAddress(string_1);
        textmessage_1.setPayloadText(string_2);
        messageconnection_1.send(textmessage_1);
        int_1 = 0;
        int_1 = 0;
        if (null != messageconnection_1)
        {
        messageconnection_1.close();
        System.out.println("smsconn.close() error!!!");
        return false;
        return int_1;
        }
        return false;
        }
        }


        IP属地:江西来自Android客户端7楼2018-02-20 11:08
        回复
          具体怎么寻找到收费方法在哪个类里,请看前面一篇我写的《手机破解游戏》。
          我们的思路是让发送失败的返回为真(也就是让发送失败继续游戏)。
          怎么用修改代码实现呢?如下:
          “我们先将sms改成kms这样必将导致发送短信失败,发送失败就不能继续游戏了,我们要使发送失败继续进行游戏,只有改变发送失败的方法,也就是将return false;修改成return true;我们通过修改g.j来实现(因为修改g.java是编译不回去的,而g.j可以通过jasmin编译成g.class)”
          下面是用Disassembler2Jasmin脱壳g.class生成的g.j:


          IP属地:江西来自Android客户端8楼2018-02-20 11:08
          回复
            ; File: g.j
            ; Generated by Disassembler2Jasmin
            .class public final g
            .super java/lang/Object
            .method public <init>()V
            .limit stack 1
            .limit locals 1
            aload_0
            invokespecial java/lang/Object/<init>()V
            return
            .end method


            IP属地:江西来自Android客户端9楼2018-02-20 11:09
            回复
              .method public static synchronized a(Ljava/lang/String;Ljava/lang/String;)Z
              .limit stack 2
              .limit locals 5
              aconst_null
              astore_2
              iconst_1
              istore_3
              Label4:
              new java/lang/StringBuffer
              dup
              invokespecial java/lang/StringBuffer/<init>()V
              ldc "sms://"
              invokevirtual java/lang/StringBuffer/append(Ljava/lang/String;)Ljava/lang/StringBuffer;
              aload_0
              invokevirtual java/lang/StringBuffer/append(Ljava/lang/String;)Ljava/lang/StringBuffer;
              invokevirtual java/lang/StringBuffer/toString()Ljava/lang/String;
              dup
              astore_0
              invokestatic javax/microedition/io/Connector/open(Ljava/lang/String;)Ljavax/microedition/io/Connection;
              checkcast javax/wireless/messaging/MessageConnection
              dup


              IP属地:江西来自Android客户端11楼2018-02-20 13:24
              回复
                astore_2
                ldc "text"
                invokeinterface javax/wireless/messaging/MessageConnection/newMessage(Ljava/lang/String;)Ljavax/wireless/messaging/Message; 2
                checkcast javax/wireless/messaging/TextMessage
                dup


                IP属地:江西来自Android客户端13楼2018-02-20 13:24
                回复
                  2026-04-24 05:31:36
                  广告
                  不感兴趣
                  开通SVIP免广告
                  被吞的厉害,教程放这里
                  https://pan.baidu.com/s/1i6v9xvJ 密码:Java


                  IP属地:江西来自Android客户端18楼2018-02-20 13:31
                  回复