当前位置:首页 > 编程笔记 > 正文
已解决

记录crack某IDE插件过程

来自网友在路上 138838提问 提问时间:2023-09-23 05:39:04阅读次数: 38

最佳答案 问答题库388位专家为你答疑解惑

声明:本文仅记录学习过程,已对关键位置脱敏处理,未提供任何工具,请支持正版。

反编译jar包

使用cfr进行对插件核心jar包MyBxxxxxx-obfuss.jar进行反编译,在本地生成a.txt。

java -jar cfr-0.152.jar MyBxxxx-obfuss.jar --renamedupmembers true --hideutf false >> a.txt

查看反编译结果

找到关键部分,只需要修改两处getter方法即可。

public Boolean e() {return Boolean.TRUE;
}public Long a() {return new Long(4797976044000L);
}

修改class文件

建一个项目,在pom引用javassist

    <dependency><groupId>org.javassist</groupId><artifactId>javassist</artifactId><version>3.25.0-GA</version></dependency>

修改上一步骤中的getter方法,输出修改后的class文件。java代码:

    public static void main(String[] args) throws Exception {ClassPool classPool = ClassPool.getDefault();// 直接使用 jar 路径classPool.appendClassPath("D:\\test\\new\\xxxx.jar");// 获取指定类CtClass ctClass = classPool.get("com.ccnode.codegenerator.Y.e.e");CtMethod method =  ctClass.getDeclaredMethod("e");CtMethod method2 =  ctClass.getDeclaredMethod("a");method.setBody("return Boolean.TRUE;");method2.setBody("return new Long(4797976044000L);");// 输出修改后的classctClass.writeFile("D:\\test\\new");}

执行以上java代码后,即可在D:\test\new目录写入class文件所在的包和class文件。

替换jar包中的class

这一步骤需要用java命令操作,不能使用压缩软件去操作。

jar uvf xxxxxxxx.jar com\ccnode\codegenerator\Y\e\e.class

将新的jar包替换进插件zip文件中,安装该插件,code随便输入即可。

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"记录crack某IDE插件过程":http://eshow365.cn/6-11911-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!