手机游戏破解-消除图片字

上传人:宝路 文档编号:3895022 上传时间:2017-08-13 格式:DOC 页数:7 大小:287KB
返回 下载 相关 举报
手机游戏破解-消除图片字_第1页
第1页 / 共7页
手机游戏破解-消除图片字_第2页
第2页 / 共7页
手机游戏破解-消除图片字_第3页
第3页 / 共7页
手机游戏破解-消除图片字_第4页
第4页 / 共7页
手机游戏破解-消除图片字_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《手机游戏破解-消除图片字》由会员分享,可在线阅读,更多相关《手机游戏破解-消除图片字(7页珍藏版)》请在金锄头文库上搜索。

1、六、消除图片字 选用的是 DC 的Christmas_Toy_Land 为什么要选用 DC 的游戏,因为 DC 的来修改图片字是最简单的,其在绘制文字的时候还保留着系统字绘制的方式,而采用图片字还是系统字进行显示是通过开关来控制的。也就是找到这个开关,就相当于可以让游戏绘制系统字。而目前我了解得 DC 的游戏基本上的开关都是在某个类里面,而这个类一般来说都是一开始的构造方法中(只有一两个特殊,在方法中) 。而这个开关的代码描述就是如下: if(image != null) 对,就是以上这段简单的代码。翻译成大家了解的语言就是,如果图片字所有的图片存在的话,那么就用图片字进行文字绘制,反过来说,

2、如果这个图片字初始化不存在的话,那么就会用系统字体来进行绘制。所以我们修改的思想就是让在进行图片字所需要的图片初始化存在判断之前让其这个条件不成立。也就是如下的代码段: image = null; / 这是在其之前添加的。 if(image != null) 那么(image != null) 这个条件肯定不成立。在这里说明给不会编程的朋友以下 != 的意思就是不等于。 那么记下来我们就要去找在 jar 里面那个类有这个特征,DC 的游戏很有规律,几乎所有的游戏都这个规律。了解一个,以后的修改就很简单了。而且对应的文本插件 HaloV1.0 就开放出来了。也就是黑帮 3 的插件。 那么我们采用

3、笨方法,用 DJ 一个个的反编译所有的类,幸运的是类不多,一会就能反编译完了。我们上面说了规律都出现在构造方法中,不会编程的朋友可能会问,什么是构造方法,这里就说一个规律把。大家记得就好了。不过还是希望有心搞修改的朋友学点专业知识。 如何识别构造方法: 假设反编译的文件名字是 a.class,那么构造方法就是以一般都是以如下的方式开始的 : public a(或者 private a( 或者 protected a( 这里的 a 就是文件的名字。 一般我们在 DJ 里面搜索 public a(,这个用的较多。 在经过几分钟的依次反编译后,我们发现了 Christmas_Toy_Land 的这个

4、 jar 的 b.class 含有这个规律。 实际上在这个图上我们也看到有一个单词是 font,这个中文就是字体的意思,也就是系统字绘制的意思。如果我们看完这个函数,我们会发现如果 image != null 这个条件不成立的话,那么就会使用到 font. 好了,我们现在知道这个开关在那里了,我们怎么去修改了。也就是如何在之前添加代码段,也就是: image = null; 下面我们就打开 halo,打开这个 jar。在 b.class 这个文件中,右键-edit class. 如图所示:打开以后会转到class editor窗口。在这个窗口会分析这个类结构,并且显示出来。我们在左边的属性结构

5、图中找到 b。class 这个文件的构造方法。其在方法这个节点上,而构造方法的名字是, init 是初始化的缩写。也就是初始构造的意思 。如图所示: 双击这个节点来打开它。然后会弹出 “code”,点击其,会出现左边相关的代码段。如图所示: 下面我们来确定 if(image != null) 在 halo 中所在的位置,用 DJ 打开 b.class 文件,记得设置里面打开 genernate jvm instructions. 如果所示: 对应的 halo 所在代码如下所示:现在我们已经找到了其位置,那么我们开始添加修改代码段,也就是 image = null; 其对应的 halo 中的代码

6、如下: aconst_null astore_1 这个代码段比较机械,大家可以记住。如果要了解原理的话,可以看虚拟机指令。需要注意的是 astore_1 中的这个“1”是根据之前的 if(image != null)而定的。我们看第三行是aload_1,这里是 1,那么 astore_1,也就是要是 1。依次,如果是 aload_2,那么就应该是 astore_2.依次类推. 选中第三行,点击“新建”按钮,初学者建议使用新建按钮,而不用采用 “新建(高级) ”。点击“新建” 按钮后出现如下窗口 选择 aconst_null,这个意思是说添加常量,因为我们现在要添加第一个代码段 .也就是acon

7、st_null.确定后我们会发现在 halo 里面第三行变为了 aconst_null. 那么我们成功了第一步了.接下来我们添加 astore_1 这个代码段. 还是点击新建按钮,还是弹出刚才的窗口, 这次我们选择,如图所示: 这个指令在 LocalVariableInstructions 的节点下. 选择后出现如下窗口: 在上面我们说了索引为 1 ,那么在右边的输入框输入 1,确定.这时候再 halo 的第四行就会出现 astore_1 ok,我们就完成了所有的添加, 不要忘记保存方法.编译打包.然后我们去汉化,怎么样, 是不是之前出现乱码的地方都能正常显示中文了. 也可以用 DJ 打开修改后的 b.class 进行验证.如图所示: 第七个教程 下接 12 楼 貌似我占楼占少了 汗、 、

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

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

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