JAVA软件逆向之去除Java混淆器Zelix KlassMaster的试用时间限制
声明:本文内容仅供学习交流,请勿用于非法用途
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的试用时间限制相关推荐
- Java混乱器Zelix KlassMaster逆向工程(五) 针对 ZKM处理 for/while/switch的介绍
随着逆向工程的深入,越来越多的代码被整理, vhly 其中有一些代码基本相似,类似于如下代码: gy gy1; Iterator iterator; boolean flag; flag = ec.b ...
- 西安比较好的java软件公司_西安java软件培训,西安java软件找工作难吗,西安java软件培训前十名有哪些...
西安java软件培训,西安java软件找工作难吗,西安java软件培训前十名有哪些 首页 > java > 西安java软件培训 作者:镀金池 发布时间:2017-10-24 12:4 ...
- php转java学什么书,推荐给java软件工程师以及从java转向php程序猿的一本好书
推荐给java程序员以及从java转向php程序猿的一本好书 首先 依据本人以往的惯例 本人不是暑托... 好就是好 而且不贵 ? 应该是本人认为的 国产原创书里面 能排上 前五的好书 ? ? spr ...
- 去java文件 注释_去除java文件中注释部分
Alion91:import java.io.File;|@||@|public class DirectoryUtil {|@||@| /**|@| * @param args ...
- u盘检测java软件_windows下的Java程序用于检测U盘
package com.baikeyang.utils; import java.io.File; import java.util.LinkedHashMap; import java.util.M ...
- 5个常用Java代码混淆器 助你保护你的代码
[IT168 技术文档] 从事Java编程的人都知道,可以通过逆向工程反编译得到Java程序的源代码,这种反编译工具之一就是JAD.因此,为保护我们的劳动成果,尽可能给反编译人员制造障碍,我们可以使用 ...
- Java软件工程师 (职业简介)
Java软件工程师 引言:信息时代的迅猛发展使得软件工程师十分抢手,而其中的java软件工程师更是备受青睐.那么,如何才能成为Java软件工程师?Java软件工程师又有怎样的发展前途?本文将为你一一解 ...
- 如何安装Java软件开发工具包(JDK)
首先,您需要在系统中安装JDK(Java开发工具包).Java软件开发工具包(Java SDK或JDK)是由Sun Microsystems创建的用于创建和修改Java程序的应用程序.所以你的下一个问 ...
- 如何在诺基亚NOKIA手机安装JAVA软件程序
如果您喜欢这些文章,欢迎点击此处订阅本Blog title="RSS 2.0" type="application/rss+xml" href="ht ...
最新文章
- 1043 输出PATest
- open函数返回-1_python常用函数大总结
- python画樱桃小丸子_每天坚持画画|简笔画练习“樱桃小丸子”
- 支付宝pc支付php,laravel框架下的pc支付宝支付接入
- python apscheduler一次只有一个job_Python使用APScheduler实现定时任务过程解析
- Varnish缓存代理简介与配置
- html css div显示隐藏,Html-Css-div透明层剧中
- 腾讯视频已上线超前点播选集解锁
- linux添加后门方法,超初级的linux后门制作方法
- 传奇私服务器与微端搭建图文说明-- GOM引擎
- 企业微信每日定时自动上报
- sqlalchemy 8 会话 与 异常
- python需要学哪些基础知识_零基础学Python应该学习哪些入门知识
- 比excel好用,还能解决数据孤岛问题,这款报表工具千万别错过
- 全球5G模组厂商型号价格对比
- passive-interface OSPF 的被动接口
- Python 将.py转换为.exe详解
- Java面试题目大汇总(附参考答案)
- linux+磁带机检查,Redhat Enterprise Linux磁带机简单操作方法
- 斯坦福AI2021报告出炉!详解七大热点,论文引用中国首超美国