手机游戏破解方法.docx

上传人:牧羊曲112 文档编号:3537560 上传时间:2023-03-13 格式:DOCX 页数:5 大小:39.01KB
返回 下载 相关 举报
手机游戏破解方法.docx_第1页
第1页 / 共5页
手机游戏破解方法.docx_第2页
第2页 / 共5页
手机游戏破解方法.docx_第3页
第3页 / 共5页
手机游戏破解方法.docx_第4页
第4页 / 共5页
手机游戏破解方法.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《手机游戏破解方法.docx》由会员分享,可在线阅读,更多相关《手机游戏破解方法.docx(5页珍藏版)》请在三一办公上搜索。

1、手机游戏破解方法去除java游戏中的短信陷阱操作的简单教程首先来了解下利用java实现短信发送的原理,这个使用的是j2me的可选包Wireless Messaging API (WMA,JSR120)来进行操作的,这是个敏感API,在未取得授权或认证,使用之前必须提示使用者是否要进 行操作。对于有的型号的手机可以直接设置程序是否可以进行短信操作。所以一般来说,不会出现无缘无故发出短信而扣费的情况,除非你设置了总是允许操作这项。当然很多免费短信软件如悠信,XROSE什么的都是利用的这个API啦。 由于设置了短信的游戏中目的只是为了收费,而且一般一条短信的价格都不菲,但是很多地方不发短信又无法继续

2、进行游戏,那么,如果想继续免玩下去,就得对短信操作进行处理。 首先是工具,必备的工具就是java反编译软件,UE或HEX等16进制编辑器,另外为了方便查看字节码还需 要jclasslib。 首先我们来看一段代码,一般的短信发送都是类似的,当然,你也可以利用这个自己写个免费发短信的东西: import java.io.IOException; import java.io.PrintStream; import javax.microeditio.io.Connection; import javax.microedition.io.Connector; import javax.wireles

3、s.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).s

4、etAddress(s1); textmessage.setPayloadText(s); messageconnection.send(textmessage); doSendOk; catch(IOException _ex) doSendFalse; void doSendOk System.out.println(Send Ok); sSend = true; void doSendFalse System.out.println(Send False); isSend = false; 通常,发送成功之后会有个判断或者是进行接着的方法,有的发送的方法本身就返回boolean变量,如果

5、发送成功就返回true,反之就返回false。上面的例子属于一般情况,我们可以用以下几个思路来考虑。 1发送成功后会运行doSendOk方法,而发送失败就会运行doSendFalse,那么我们只要把这两个方法 的位置换一下,那么即使发送失败,那么程序仍然会运行doSendOk方法。我们用jclassli打开该class ,然后查看sendSms方法,看字节码:0 aconst_null 1 astore_1 2 new #31 <java/lang/StringBuffer> 5 dup 6 ldc #33 <sms:/> 8 invokespecial #36 <java

6、/lang/StringBuffer.<init>> 11 aload_0 12 getfield #18 <SMSXX.phoneNum> 15 invokevirtual #40 <java/lang/StringBuffer.append> 18 invokevirtual #44 <java/lang/StingBuffer.toString> 21 astore_2 22 aload_2 23 invokestatic #50 <javax/microedition/io/Connector.open> 26 checkcast #52 &

7、ltjavax/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

8、/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 alod_3 61 invokeinterface #72 <javax/wireless/messaging/MessageConnection.send> count 2 66

9、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打开, 67行为:B6004B 75行为:B6004E 我们把004B和004E两个位置换下,保存,然后反编译看看,是不是OK了,接下来我们要做的是为了确保不发出短信出去把sms:/这个改成 其他字符吧,比如kim:/ :),这

10、样一运行到发短信的地方就发生异常,程序就运行catch中的 doSendOk了。 另外一种思路要你对流程很了解,不直接修改发送的代码,而是看doSendOk和doSendFalse这两个方 法,既然发不出去会运行doSendFalse,而doSendFalse和doSendOk者只是一个变量的区别,那么我们把doSendFalse中的 isSend = false改成 isSend = true,不就是和doSendOk只 是方法名之间的区别了吗,同样道理,改完后再把sms改成其他东西。双击HALO图标运行HALO,单击“文件名”, 打开一个需要破解或者修改的JAR文件。 3.打开jar文件后

11、,点击“工具”-“配置”, 把“对JAR进行破解”勾上,如果不要修改游戏就把JAVAMAGIC 的修改屏幕和键位关掉。点击“应用”-“确定”,设置完成。 4.修改游戏的屏幕和键位。点击“工具”- “配置”-“javaMagic”,开启键位修改,选择机型键值可以 “查看”,点击“修改”,可以修改屏幕宽度和高度;键位修改后 “选择API”为目标机型才可以满屏幕显示。设置完成后单击“确定”。 5.编辑jar文件。在“工程管理器”工具栏, 纵向排列着这个JAR文件里面的所有jar“*.class”文件, 在原文区域双击想要修改的字符串,在下面的翻译栏就 会显示这个字符串,左边是原文栏,右边是译文栏,

12、修改后的新字符串,单击下面的“提交”, 在上面译文栏里面就更新了字符串! 6.完成之后,点击“工程”-“编译”,完成后点击“工程”-“打包” , 这样破解或者修改工作就完成了。 7.破解或者修改完的JAR文件可以在电脑模拟运行测试, 点击“工程”-“运行”就打开“手机顽童模拟器”。 8.破解或者修改完的JAR文件默认存放在HALO安装目录下的 games文件夹(如D:HALOgames)。也可以设置处理jar资源存放路径: 点击“工具”-“配置”-“lmage Extract”-浏览”-“确定”, 设置完成后单击“应用”-“确定 看完上面的教程后,你可以到网上去下载所需的软件,用Google搜索一下就可以了,照着破解就是了!祝你破解成功!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号