Java混乱器Zelix KlassMaster逆向工程(四)反编译

ZKM混淆器虽然可以无限制使用,但是由于ZKM自身的试用版限制了一个类中、Jar包中,最多混淆5个类,那么这就困难了。如何解决呢,是否需要找到关键点? 对于现阶段,由于ZKM可以无限制使用,也就是需要长期计划了。逆向工程中关键的一点就是反编译,由于ZKM对Class文件处理的强度,无法在一定时间内反编译出全部的ZKM源代码。 根据ZKM混淆的特性,分批进行ZKM的反编译工作。 1、首先,处理StringEncrypt,处理加密的字符串,恢复整个ZKM中所有的对字符串进行解密的方法。 也就是大部分类中存在的 成员变量 static final String[] Z 或者是 z 、H等 以及解密方法 char[] z(String s) String z(char[] chs)等, 经过将近6个月不定期的修复,该ZKM版本中的字符串解密部分已经完成。 2、针对类文件中有错误的代码进行修复(不包括 switch 、相同签名的方法) 大部分代码都是有特点的,比如ZKM自身的代码中包含了,虚假成员变量引用的操作, 通过这种方式来替换 switch for while 中的各种条件、break、continue等 在处理的时候并不是没有参照。 处理这些时,需要的是时间,重复的操作太多。 目前所有的操作都集中在上述两个步骤上,对于其余的,需要长期实现,因此感觉 Zelix KlassMaster自身的保护还是很强的,配合大量的类文件,使得恢复一个源代码版本很难、很费时,但是这种还是必需的,当所有的代码恢复后就可以借用 IntelliJ IDEA的重构功能、分析功能来改造、理解整个ZKM的机制,同时完善。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值