helloflo提问:点了编译后一直就显示“编译中-请等待”,就没反应了…
小编推荐答案:Halo的编译好像并不是将*.java源代码转换成*.class的过程,而是指Halo直接修改收费代码的过程(直接修改*.class,不过要通过preverify). Halo采用补丁式破解,跳过系统的MessageConnection接口,使用自定义的XConnection接口,而在这个自定义的接口中什么也不做(而不是像系统接口那样发送短信),从而达到破解目的. 那么Halo如何跳过系统接口呢,其实这就是编译阶段要做的事,大体上就是遇到调用MessageConnection的代码就将其替换为XConnection,当然,实际上比这复杂一些. 现在再来说一说Halo对于短信收费游戏破解失效的问题(多见于仙掌等公司的游戏).其实他们只是抓住了Halo处理的一个小漏洞,在XConnection中,numberOfSegments()返回了0,而系统接口返回的是实际发送短信的条数,因此一旦游戏中加入了对numberOfSegments是否大于零的判断,Halo就失效了... 这样看来,让失效的Halo重新生效也不是难事.在Halo的安装目录下有一个lib文件夹,其中有个emptyapi.jar,XConnection和XMessage就在这里. 如果你懂得J2me,那么就可以将XConnection反编译,把numberOfSegments()中return 0修改为return 9之类的大于零的数,然后编译,再存回emptyapi.jar. 这样,加强版的Halo就可以投入使用了,使用方法同标准Halo.根据我所掌握的手游的反破解水平,99%的短信收费(仅限于短信)手机游戏均可被我的加强版Halo破解. 如果不懂j2me或手头没有工具,那就接着往下看吧..这种方式比较麻烦,只能针对单一游戏,一次一个,不嫌麻烦你就用吧. 在采用普通方式对短信收费手机游戏进行破解之后,将Halo重启(很重要),然后打开破解后的那款手机游戏(games文件夹下,最好copy到其他地方),在Halo的"工程管理器"中找到XConnection,右键单击,选择Edit Class,进入Class Editor,在左侧的"方法"下找到numberOfSegments函数,双击,选择[0]Code,再在右侧选择代码编辑表标签,将第一条指令(应该是iconst_0吧)改为bipush,参数还是大于零就行(最好4以上,有的游戏一次发四条短信,钱啊...).(啊?不会修改指令?右侧不是有个"修改"按钮?) 最后,"保存方法"(很重要),然后"编译","打包".OK,破解完了,麻烦吧...
======================================
提问人的追问2011-12-12 16:22
晕,在网上复制我不会自己找啊,我的情况是点编译后就显示“编译中-请等待”就一直没反映了,怎么回事?编译一个得多长时间啊!
破解工具HALO应该怎样用?
时间:2018-09-11 12:09:46 阅读:2337+
来源:本站原创作者:苏有朋
“如果发现本网站发布的资讯影响到您的版权,可以联系本站!同时欢迎来本站投稿!