贵阳做网站设计,网站 多少篇文章才能上线,网站开发及app开发公司,wordpress 积分系统移植声明#xff1a;本文仅记录学习过程#xff0c;已对关键位置脱敏处理#xff0c;未提供任何工具#xff0c;请支持正版。 反编译jar包
使用cfr进行对插件核心jar包MyBxxxxxx-obfuss.jar进行反编译#xff0c;在本地生成a.txt。
java -jar cfr-0.152.jar MyBxxxx-obfuss.…声明本文仅记录学习过程已对关键位置脱敏处理未提供任何工具请支持正版。 反编译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 dependencygroupIdorg.javassist/groupIdartifactIdjavassist/artifactIdversion3.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随便输入即可。