危险漫步博客
新鲜的“黑客思维”就是从全新的角度看待黑客技术,从更高的层面去思考;专注于黑客精神及技术交流分享的独立博客。
文章2306 浏览20581065

Java手机程序破解

今天一个美女问:“危险漫步,能帮我找一个叫美少女噩梦的免费版本的手机游戏么?”既然美女要求了,当然要答应下来了。晚上去网吧一看,都是正版的jar包,都要收费的。郁闷了一会儿,就只能自力更生了。

以这款游戏为例,和大家一起来破解Java。美少女噩梦是一个标准的Java程序,屏幕大小172*208,由申发软件开发的单机冒险类RPG手游。下载免费,收费方式为游戏过程中发送短信购买关卡。由于Java程序的通用性和可移植性,目前可以在Nokia、Sony Ericsson等多个品牌机、山寨机使用。

我们今天就针对它的短信验证来寻找突破。由于危险漫步我资金有限,就用手头仅有的几个手机来测试。分别为索爱:W830c K550c W550c和Nokia 7260,均能够运行这款游戏。下面我们一起来破解。

第一招:霸主硬上弓——拔SIM卡

这种方法是最简单的了,但操作也最为繁琐。我想大家都比我还懒吧?这样的方法对于这类买关卡的来说会需要经常拔SIM卡,不仅对手机盖有磨损,还要经常开关机。但是这种方法的优点是绝对不会产生费用了,要么成功,要么失败。另外千朵测试索爱有一个关闭无线电的功能,不必拆卸SIM即可绕过验证。至于是否能通用,还请有兴趣的读者自行测试!显然,这类方法不是完美的解决方案。

第二招:旁敲侧击——改设置

顾名思意,就是更改手机的设置来绕过这类验证。打开手机,进入短信设置,找到短信中心号码,记下来备份。然后将短信中心号码改为空号,或者其他号码。这样就阻止短信从手机中发送出去。这种方法的好处就是比前一种更加灵活,缺点还是不能从根本解决。

第三招:正面交锋—-破解Java程序

这种方法就是从源头来破解了。首先,我们需要Java平台,可以直接到下载。然后,我们安装Halo和手机顽童。Halo是一款破解手机游戏的软件。手机顽童是在PC上模拟手机环境,可以帮助我们在电脑上进行测试。

首先,进入Halo,打开我们需要破解的JAR文件。然后,点击工具一配置。如果不要修改游戏就把JAVAMagic的修改屏幕和键位关掉。然后我们点击Halo中的Class Editor编辑类。由于是短信验证,我们需要找到相应短信发送的函数。我们点击编辑一全文查找。记得把原来by current class改成by total classes(全部搜索)。

然后,我们输入发送短信的相关函数messageconnection。底下会出现。双击这行,我们跳到代码处。

这里就要靠经验了。大家可以反复琢磨怎么改。常规的方法是留下iconst_1,如果没有iconst_1可以自己新建一个或者留下iconst开头的双击它。把它改成1和return(ireturn也可以)其他的代码都可以删除。

但是对于这款游戏却不行,这样会导致PC上的模拟器直接崩溃、白屏、退出。我们下面就对这两个语句分析。

顾名思意javax.wireless.messaging.MessageConnection,这句就是连接发送的函数。javax.wkeless.messaging.TextMessage这句,就应该是发送短信的内容了。我们试着nop掉这两行语句,然后保存方法。

放到手机顽童里运行,发现依然崩溃。这就可能是堆栈不平衡,或者其他问题造成的。返回刚才的操作,我们只nop掉第一句,保存再运行,发现这次没问题。OK,成功了。但是到了关卡处依然会发现还是有提示收费的项目,怎么回事呢?原因就是我们只破解掉了函数,却还没有汉化翻译。我们跳回工程管理器。

直接修改提示信息就可以了。然后编译、压缩为jar,就可以传到手机玩了。经过我的测试,目前在以上提到的机型中运行无问题,无错误。这样,这款游戏就简简单单破解掉了。Halo的功能非常强大,有兴趣的读者可以跟踪调试。危险漫步希望大家能有些启发!

相关推荐