记录crack某IDE插件过程

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

反编译jar包

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

bash 复制代码
java -jar cfr-0.152.jar MyBxxxx-obfuss.jar --renamedupmembers true --hideutf false >> a.txt

查看反编译结果

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

java 复制代码
public Boolean e() {
    return Boolean.TRUE;
}

public Long a() {
    return new Long(4797976044000L);
}

修改class文件

建一个项目,在pom引用javassist

java 复制代码
    <dependency>
      <groupId>org.javassist</groupId>
      <artifactId>javassist</artifactId>
      <version>3.25.0-GA</version>
    </dependency>

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

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);");

        // 输出修改后的class
        ctClass.writeFile("D:\\test\\new");
    }

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

替换jar包中的class

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

java 复制代码
jar uvf xxxxxxxx.jar com\ccnode\codegenerator\Y\e\e.class

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

相关推荐
小蕾Java13 小时前
PyCharm 软件使用各种问题 ,解决教程
ide·python·pycharm
周杰伦_Jay19 小时前
【Git操作详解】Git进行版本控制与管理,包括分支,提交,合并,标签、远程仓库查看
大数据·ide·git·科技·分类·github
小二·20 小时前
mac下解压jar包
ide·python·pycharm
YoungHong19921 天前
一行配置解决claude code 2.0版本更新后 vscode 插件需要登录的问题
ide·vscode·编辑器
Blue桃之夭夭1 天前
git和VScode
ide·git·vscode
shimly1234562 天前
vscode 指定连接其它版本的 linux
ide·vscode·编辑器
苏苏码不动了2 天前
Android Studio 虚拟机启动失败/没反应,排查原因。提供一种排查方式。
android·ide·android studio
Yield & Allure2 天前
IDEA在plugins里搜不到mybatisx插件的解决方法
java·ide·intellij-idea
孤独斗士2 天前
解决Intellij IDEA控制台,logger.info(),system.out.println()等中文乱码问题
java·ide·intellij-idea
偷光2 天前
浏览器中的隐藏IDE: Console (控制台) 面板
开发语言·前端·ide·php