声明:本文内容仅供学习交流,请勿用于非法用途

Zelix KlassMaster是一款优秀的Java混淆器,但试用版有时间限制,偶然间从一个群里获得了ilanyu上传的ZMK9.0.8试用版,尝试运行时发现已经过期。

目前的ZKM已经不再屏蔽中国大陆IP了,但是下载试用版有个限制,就是需要用公司邮箱,不能用免费的邮箱如Hotmail, Yahoo, Gmail等等。

公司邮箱,如果有的话建议优先使用公司邮箱。如果实在没有或者公司限制邮箱的使用范围可以用下面的方法。

仔细推敲里面的描述我们发现,不能使用免费邮箱,那么大体上可能能使用独立域名邮箱,自己买个域名,买个云服务器,搭建一个邮件服务器就可以实现。

ZKM试用版下载:http://www.zelix.com/klassmaster/download1.html

试用版官方有两个限制

1.每个类最多混淆2个方法

2.试用时间只有30天

本文只谈论去除试用时间的限制,不讨论方法数目的限制

首先试用-verbose参数输出其启动过程

java -verbose -jar ZKM.jar

输出结果如下

为了简化这个输出过程,我们可以使用-javaagent写代码过滤Java本身的类

参考这篇文章的输出所有类,将代码

public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException {System.out.println(className);      return null;}

改成

@Overridepublic byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined,ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException {if (className.startsWith("com/zelix/")) {System.out.println(className);}return null;}

打包成ZKMAgent.jar

执行如下命令

java -javaagent:ZKMAgent.jar -jar ZKM.jar

输出

推测判断时间在com/zelix/lh类里

至于具体是什么意思呢,反编译看下

只凭这点还真不好找,好在从网上找到了一个8.0的破解版

下载地址:https://download.csdn.net/download/luffybaby/9915433

新版肯定是在旧版基础上改的,用上面的方法找到旧版中的这个类

旧版a方法比新版的a少一个参数,功能上我们暂且认为是一样的。

我们直接修改a方法体,直接返回0,发现时间变了

所以说,这个方法的返回值会影响时间,但是直接将这个值成很大的数9999999999000L,也只影响到了Evaluation has expired后面输出的时间值,没有弹出窗口。

注意到8.0里面判断了传入的参数,然后返回不同的值,我们这里仿照它,先重写方法体调用System.out.println输出这个参数

可以看到,输出了三个值,说明这个方法调用了三次,把这三个值按照同样的判断重写方法体。修改成功!

JAVA软件逆向之去除Java混淆器Zelix KlassMaster的试用时间限制相关推荐

  1. Java混乱器Zelix KlassMaster逆向工程(五) 针对 ZKM处理 for/while/switch的介绍

    随着逆向工程的深入,越来越多的代码被整理, vhly 其中有一些代码基本相似,类似于如下代码: gy gy1; Iterator iterator; boolean flag; flag = ec.b ...

  2. 西安比较好的java软件公司_西安java软件培训,西安java软件找工作难吗,西安java软件培训前十名有哪些...

    西安java软件培训,西安java软件找工作难吗,西安java软件培训前十名有哪些 首页 > java > 西安java软件培训 作者:镀金池   发布时间:2017-10-24 12:4 ...

  3. php转java学什么书,推荐给java软件工程师以及从java转向php程序猿的一本好书

    推荐给java程序员以及从java转向php程序猿的一本好书 首先 依据本人以往的惯例 本人不是暑托... 好就是好 而且不贵 ? 应该是本人认为的 国产原创书里面 能排上 前五的好书 ? ? spr ...

  4. 去java文件 注释_去除java文件中注释部分

    Alion91:import java.io.File;|@||@|public class DirectoryUtil {|@||@|      /**|@|       * @param args ...

  5. u盘检测java软件_windows下的Java程序用于检测U盘

    package com.baikeyang.utils; import java.io.File; import java.util.LinkedHashMap; import java.util.M ...

  6. 5个常用Java代码混淆器 助你保护你的代码

    [IT168 技术文档] 从事Java编程的人都知道,可以通过逆向工程反编译得到Java程序的源代码,这种反编译工具之一就是JAD.因此,为保护我们的劳动成果,尽可能给反编译人员制造障碍,我们可以使用 ...

  7. Java软件工程师 (职业简介)

    Java软件工程师 引言:信息时代的迅猛发展使得软件工程师十分抢手,而其中的java软件工程师更是备受青睐.那么,如何才能成为Java软件工程师?Java软件工程师又有怎样的发展前途?本文将为你一一解 ...

  8. 如何安装Java软件开发工具包(JDK)

    首先,您需要在系统中安装JDK(Java开发工具包).Java软件开发工具包(Java SDK或JDK)是由Sun Microsystems创建的用于创建和修改Java程序的应用程序.所以你的下一个问 ...

  9. 如何在诺基亚NOKIA手机安装JAVA软件程序

    如果您喜欢这些文章,欢迎点击此处订阅本Blog title="RSS 2.0" type="application/rss+xml" href="ht ...

最新文章

  1. 1043 输出PATest
  2. open函数返回-1_python常用函数大总结
  3. python画樱桃小丸子_每天坚持画画|简笔画练习“樱桃小丸子”
  4. 支付宝pc支付php,laravel框架下的pc支付宝支付接入
  5. python apscheduler一次只有一个job_Python使用APScheduler实现定时任务过程解析
  6. Varnish缓存代理简介与配置
  7. html css div显示隐藏,Html-Css-div透明层剧中
  8. 腾讯视频已上线超前点播选集解锁
  9. linux添加后门方法,超初级的linux后门制作方法
  10. 传奇私服务器与微端搭建图文说明-- GOM引擎
  11. 企业微信每日定时自动上报
  12. sqlalchemy 8 会话 与 异常
  13. python需要学哪些基础知识_零基础学Python应该学习哪些入门知识
  14. 比excel好用,还能解决数据孤岛问题,这款报表工具千万别错过
  15. 全球5G模组厂商型号价格对比
  16. passive-interface OSPF 的被动接口
  17. Python 将.py转换为.exe详解
  18. Java面试题目大汇总(附参考答案)
  19. linux+磁带机检查,Redhat Enterprise Linux磁带机简单操作方法
  20. 斯坦福AI2021报告出炉!详解七大热点,论文引用中国首超美国

热门文章

  1. Java高级语言特性
  2. 吴建平院士:互联网视频技术在疫情防控中的重要作用
  3. iOS开发零基础教程之真机调试流程
  4. 喜欢跟爱的区别[转载]
  5. java企业微信消息发送工具类
  6. git环境变量配置及安装TortoiseGit
  7. iPad白苹果的简单修复方法
  8. 图像修复(Image Restoration)算法数据集详细介绍
  9. (完整答案)2021年广东财经大学硕士研究生入学考试试卷--统计学0714
  10. java实现重定向(springboot)