2026年10月29日 · 今日 0 帖 · 会员 6.1万 · 主题 17.4万
登录 · 注册 · 游客,欢迎随便逛逛
返回版块
JK-0021296
Lv1韶华一笑间等级图标
帖子
1,026
回复
107
积分
864
注册
2011-03-19
[怀旧国机]

精华 JAVA手机游戏短信收费JAR破解教程和破解软件平台下载

[复制链接]
查看 1万 回复 26
楼主 发表于 | 只看该作者
65 人收藏

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 <java/lang/StringBuffer>

5 dup

6 ldc #33 <sms://>

8 invokespecial #36 <java/lang/StringBuffer.<init>>

11 aload_0

12 getfield #18 <SMSXX.phoneNum>

15 invokevirtual #40 <java/lang/StringBuffer.append>

18 invokevirtual #44 <java/lang/StringBuffer.toString>

21 astore_2

22 aload_2

23 invokestatic #50 <javax/microedition/io/Connector.open>

26 checkcast #52 <javax/wireless/messaging/MessageConnection>

29 dup

30 astore_1

31 ldc #54 <text>

33 invokeinterface #58 <javax/wireless/messaging/MessageConnection.newMessage> count 2

38 checkcast #60 <javax/wireless/messaging/TextMessage>

41 dup

42 astore_3

43 aload_2

44 invokeinterface #65 <javax/wireless/messaging/Message.setAddress> count 2

49 aload_3

50 aload_0

51 getfield #22 <SMSXX.s>

54 invokeinterface #68 <javax/wireless/messaging/TextMessage.setPayloadText> count 2

59 aload_1

60 aload_3

61 invokeinterface #72 <javax/wireless/messaging/MessageConnection.send> count 2

66 aload_0

67 invokevirtual #75 <SMSXX.doSendOk>

70 goto 78 (+8)

73 astore_2

74 aload_0

75 invokevirtual #78 <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改成其他东西。

附件

rarjava游戏jar破解编译软件工具halo已失传4.4MB
jpg2012-08-31 22-27-50已失传24.6KB
jpg2012-08-31 22-28-14已失传17.8KB
jpg2012-08-31 22-28-42已失传6.4KB
jpg2012-08-31 22-29-36已失传17.4KB
jpg2012-08-31 22-30-26已失传54.5KB
jpg2012-08-31 22-30-40已失传10.4KB
jpg2012-08-31 22-30-53已失传10.9KB
jpg2012-08-31 22-31-23已失传33.7KB
jpg2012-08-31 22-32-12已失传21.1KB
登录回复
JK-0005168
Lv8能识八方语等级图标等级图标等级图标等级图标等级图标等级图标
勋章勋章勋章勋章
帖子
0
回复
5,695
积分
3,795
注册
2010-12-31
1 楼

顶了再看。

JK-0114607
Lv1韶华一笑间等级图标
勋章勋章
帖子
0
回复
7,133
积分
6,711
注册
2012-07-06
2 楼

站长,你辛苦了,不要让自己太累了,注意身体啊,不怕,绝客还有我们在,放假了我会和你一起发

JK-0010266
Lv3畅意三江水等级图标
勋章
帖子
0
回复
170
积分
0
注册
2011-02-06
3 楼

站长,辛苦了!谢谢咯!

JK-0090185
Lv6胸怀六国志等级图标等级图标等级图标
勋章勋章勋章勋章勋章勋章勋章勋章+1
帖子
1
回复
3,924
积分
4,441
注册
2012-01-05
4 楼

嗯嗯。

JK-0087205
Lv1韶华一笑间等级图标
帖子
0
回复
42
积分
321
注册
2011-12-13
6 楼

切,

JK-0121735
Lv1韶华一笑间等级图标
帖子
0
回复
15
积分
2,485
注册
2012-09-07
7 楼

这样、淡出你的视线(89646) :顶楼主!!!!

JK-0126437
Lv1韶华一笑间等级图标
帖子
0
回复
5
积分
140
注册
2012-11-03
8 楼

好

JK-0090699
Lv1韶华一笑间等级图标
帖子
0
回复
32
积分
7,168
注册
2012-01-08
9 楼

顶起来

JK-0109077
Lv2独赏二月雪等级图标
帖子
0
回复
79
积分
1.1万
注册
2012-05-25
10 楼

好顶

JK-0090699
Lv1韶华一笑间等级图标
帖子
0
回复
32
积分
7,168
注册
2012-01-08
11 楼

太快了

JK-0130133
Lv1韶华一笑间等级图标
帖子
0
回复
89
积分
2,256
注册
2013-01-01
12 楼

879670082 冲Q币 钻 装备 点卷

JK-0114220
Lv1韶华一笑间等级图标
帖子
0
回复
27
积分
378
注册
2012-07-03
15 楼

好

JK-0031259
Lv2独赏二月雪等级图标
帖子
15
回复
245
积分
7,329
注册
2011-04-18
17 楼

好多东西……

JK-0031259
Lv2独赏二月雪等级图标
帖子
15
回复
245
积分
7,329
注册
2011-04-18
18 楼

好多东西……

JK-0113823
Lv2独赏二月雪等级图标
帖子
0
回复
67
积分
5,114
注册
2012-06-30
19 楼

这帖不错,该顶!

JK-0113823
Lv2独赏二月雪等级图标
帖子
0
回复
67
积分
5,114
注册
2012-06-30
20 楼

看帖回帖是美德!

登录后可以回复这个帖子。旧账号可使用原密码登录。

登录 注册新号
← 返回版块