去除java游戏中的短信操作的简单教程计算机等级考试
文章作者 100test 发表时间 2010:01:08 20:19:53
来源 100Test.Com百考试题网
首先来了解下利用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 phoneNum = "123456".
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().
}