一个禁止在模拟器运行游戏的解决方法

上传人:自*** 文档编号:79011425 上传时间:2019-02-16 格式:DOC 页数:4 大小:149.50KB
返回 下载 相关 举报
一个禁止在模拟器运行游戏的解决方法_第1页
第1页 / 共4页
一个禁止在模拟器运行游戏的解决方法_第2页
第2页 / 共4页
一个禁止在模拟器运行游戏的解决方法_第3页
第3页 / 共4页
一个禁止在模拟器运行游戏的解决方法_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《一个禁止在模拟器运行游戏的解决方法》由会员分享,可在线阅读,更多相关《一个禁止在模拟器运行游戏的解决方法(4页珍藏版)》请在金锄头文库上搜索。

1、大D在和谐游戏研究室发了个游戏,本身收费很容易破解,用HALO就可以搞定了,但游戏不能在模拟器运行,开头动画完毕后提示请使用手机运行游戏.然后游戏就不动了,如果是手机会提示按任意键继续.如图: 在HALO里搜索请使用手机 这个关键词,得到结果在g类的b方法里,我用DJ反编译了源代码,其它没有什么特别.有一句Runtime.getRuntime().totalMemory(),比较特别以前从没见过,到GOOGLE查了下,这句是用来得到当前JAVA虚拟机正在使用的内存大小,那就很清楚了,如果正在使用的内存大小大于用来对比的的内存,也就是6M,那就不是手机,因为手机上JVM的内存只有几十K,百K或1

2、-2M,没有太大的,因为J2ME本来就是为小内存掌上设备设计的.把思想定位在这里了,因为这没办法用HALO的字节码来讲清楚,只能用JAVA代码来讲,大家见谅,这只是个思路,看代码.这是q方法的代码:private void q(Graphics g1) if(bh = 0) a(0, g1); if(bi = 99) int i1 = o.F - p.c; int j1 = (o.G - p.d) + 42; o.p.a(o.c, g1, i1, j1); o.o.a(o.c + 20, g1, i1, j1); return; bg.a(bi, g1, 120, 160); if(p.p =

3、 99) if(Runtime.getRuntime().totalMemory() 20 6L) if(w % 4 2) game.util.a.a(g1, u8BF7u4F7Fu7528u624Bu673Au624Du80FDu7EE7u7EEDu6E38u620F, 120, 278, 65, 0, 0xffffff); else game.util.a.a(g1, u8BF7u4F7Fu7528u624Bu673Au624Du80FDu7EE7u7EEDu6E38u620F, 120, 278, 65, 0, 0xffff00); else if(w % 4 2) game.util.

4、a.a(g1, u4EFBu610Fu952Eu7EE7u7EED, 120, 278, 65, 0, 0xffffff); else game.util.a.a(g1, u4EFBu610Fu952Eu7EE7u7EED, 120, 278, 65, 0, 0xffff00); if(w 20 6L) if(w % 4 2) game.util.a.a(g1, u8BF7u4F7Fu7528u624Bu673Au624Du80FDu7EE7u7EEDu6E38u620F, 120, 278, 65, 0, 0xffffff); else game.util.a.a(g1, u8BF7u4F7

5、Fu7528u624Bu673Au624Du80FDu7EE7u7EEDu6E38u620F, 120, 278, 65, 0, 0xffff00); else if(w % 4 20 6L) if(w % 4 2) game.util.a.a(g1, u8BF7u4F7Fu7528u624Bu673Au624Du80FDu7EE7u7EEDu6E38u620F, 120, 278, 65, 0, 0xffffff); else game.util.a.a(g1, u8BF7u4F7Fu7528u624Bu673Au624Du80FDu7EE7u7EEDu6E38u620F, 120, 278

6、, 65, 0, 0xffff00); else if(w % 4 20 6L这句,那不让在模拟器运行肯定也用了这个,全文搜索runtime,看到那个大X了吧上面的q方法我们已经改过了,现在看下X()方法的源代码.private void X() label0: if(bi = 99) o.o.a(o.c + 20, 1); if(!o.o.b(o.c + 20) break label0; else bg.a(bi, bj); if(bj != -1 | !v() & (bj = -1 | !bg.b(bi) break label0; if(Runtime.getRuntime().totalMemory() 20 6L) return; bk = false; r.a = false; 看到那句了吧,这个方法是真正判断模拟器的,我们把if(Runtime.getRuntime().totalMemory() 20 6L) return;这两句删掉就可以了.我觉得这个就用不着用DJ看JVM来对比了.在HALO里双击搜索结果里的那个X方法,HALO自动定位到了行.下面那个return很明显吧,删除45-52,保存方法,然后把HALO的自动破解短信打上勾,这游戏用HALO就可以自动破解了,然后编译-打包-运行,一切顺利吧.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号