为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

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

2017-09-02 7页 doc 158KB 33阅读

用户头像

is_105949

暂无简介

举报
手机游戏破解-消除图片字手机游戏破解-消除图片字 六、消除图片字 选用的是DC的《Christmas_Toy_Land》 为什么要选用DC的游戏,因为DC的来修改图片字是最简单的,其在绘制文字的时候还保留着系统字绘制的方式,而采用图片字还是系统字进行显示是通过开关来控制的。也就是找到这个开关,就相当于可以让游戏绘制系统字。而目前我了解得DC的游戏基本上的开关都是在某个类里面,而这个类一般来说都是一开始的构造方法中(只有一两个特殊,在方法中)。而这个开关的代码描述就是如下: if(image != null) 对,就是以上这段简单的代码。翻...
手机游戏破解-消除图片字
手机游戏破解-消除图片字 六、消除图片字 选用的是DC的《Christmas_Toy_Land》 为什么要选用DC的游戏,因为DC的来修改图片字是最简单的,其在绘制文字的时候还保留着系统字绘制的方式,而采用图片字还是系统字进行显示是通过开关来控制的。也就是找到这个开关,就相当于可以让游戏绘制系统字。而目前我了解得DC的游戏基本上的开关都是在某个类里面,而这个类一般来说都是一开始的构造方法中(只有一两个特殊,在方法中)。而这个开关的代码描述就是如下: if(image != null) 对,就是以上这段简单的代码。成大家了解的语言就是,如果图片字所有的图片存在的话,那么就用图片字进行文字绘制,反过来说,如果这个图片字初始化不存在的话,那么就会用系统字体来进行绘制。所以我们修改的思想就是让在进行图片字所需要的图片初始化存在判断之前让其这个条件不成立。也就是如下的代码段: image = null; // 这是在其之前添加的。 if(image != null) 那么(image != null) 这个条件肯定不成立。在这里说明给不会编程的朋友以下 "!=" 的意思就是不等于。 那么记下来我们就要去找在jar里面那个类有这个特征,DC的游戏很有规律,几乎所有的游戏都这个规律。了解一个,以后的修改就很简单了。而且对应的文本插件HaloV1.0就开放出来了。也就是黑帮3的插件。 那么我们采用笨方法,用DJ一个个的反编译所有的类,幸运的是类不多,一会就能反编译完了。我们上面说了规律都出现在构造方法中,不会编程的朋友可能会问,什么是构造方法,这里就说一个规律把。大家记得就好了。不过还是希望有心搞修改的朋友学点专业知识。 如何识别构造方法: 假设反编译的文件名字是a.class,那么构造方法就是以一般都是以如下的方式开始的: public a(或者 private a( 或者 protected a( 这里的a就是文件的名字。 一般我们在DJ里面搜索public a(,这个用的较多。 在经过几分钟的依次反编译后,我们发现了Christmas_Toy_Land的这个jar的b.class含有这个规律。 实际上在这个图上我们也看到有一个单词是font,这个中文就是字体的意思,也就是系统字 绘制的意思。如果我们看完这个函数,我们会发现如果image != null这个条件不成立的话,那么就会使用到font. 好了,我们现在知道这个开关在那里了,我们怎么去修改了。也就是如何在之前添加代码段,也就是: image = null; 下面我们就打开halo,打开这个jar。在b.class这个文件中,右键->edit class. 如图所示: 打开以后会转到"class editor"窗口。在这个窗口会分析这个类结构,并且显示出来。我们在左边的属性结构图中找到b。class这个文件的构造方法。其在方法这个节点上,而构造方法的名字是"", init是初始化的缩写。也就是初始构造的意思 。如图所示: 双击""这个节点来打开它。然后会弹出“code”,点击其,会出现左边相关的代码段。如图所示: 下面我们来确定if(image != null) 在halo中所在的位置,用DJ打开b.class文件,记得设置里面打开genernate jvm instructions. 如果所示: 对应的halo所在代码如下所示: 现在我们已经找到了其位置,那么我们开始添加修改代码段,也就是 image = null; 其对应的halo中的代码如下: aconst_null astore_1 这个代码段比较机械,大家可以记住。如果要了解原理的话,可以看虚拟机指令。需要注意的是astore_1中的这个“1”是根据之前的if(image != null)而定的。我们看第三行是aload_1,这里是1,那么astore_1,也就是要是1。依次,如果是aload_2,那么就应该是astore_2.依次类推. 选中第三行,点击“新建”按钮,初学者建议使用新建按钮,而不用采用“新建(高级)”。点击“新建”按钮后出现如下窗口 选择aconst_null,这个意思是说添加常量,因为我们现在要添加第一个代码段.也就是aconst_null.确定后我们会发现在halo里面第三行变为了aconst_null. 那么我们成功了第一步了.接下来我们添加astore_1这个代码段.还是点击"新建"按钮,还是弹出刚才的窗口,这次我们选择,如图所示: 这个指令在LocalVariableInstructions的节点下.选择后出现如下窗口: 在上面我们说了索引为1 ,那么在右边的输入框输入1,确定.这时候再halo的第四行就会出现astore_1 ok,我们就完成了所有的添加,不要忘记保存方法.编译打包.然后我们去汉化,怎么样,是不是之前出现乱码的地方都能正常显示中文了. 也可以用DJ打开修改后的b.class进行验证.如图所示: 第七个教程 下接12楼 貌似我占楼占少了 汗、、
/
本文档为【手机游戏破解-消除图片字】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索