破解JetBrains C# IDE Rider 使用时间限制

/ 0评 / 0

这两天试用了下JetBrains家最新的开发板的c# ide,整体感觉不错,没有vs那么臃肿,vs还是适合c,不过不支持界面开发,只支持命令行程序和库开发

每个试用版只能试用半个月,这篇文章主要介绍如何破解掉这个限制

先丢上破解代码

public static void main(String[] args) throws NotFoundException, CannotCompileException, IOException {
    ClassPool pool = ClassPool.getDefault();
    pool.insertClassPath("C:\\Users\\qtfreet00\\Desktop\\rider.jar");
    CtClass cc1 = pool.get("com.intellij.ide.a.e.c");
    CtConstructor ctMethod2 = cc1.getDeclaredConstructor(new CtClass[]{pool.getCtClass(String.class.getName()), pool.getCtClass(int.class.getName()), pool.getCtClass(String.class.getName())});
    ctMethod2.insertAfter("l=1000;");
    cc1.writeFile();
}

依然使用的是Javassit,主要是关键点的查找,先调整时间,运行程序,程序提示使用时间已过,请重新下载最新版本

使用jstack命令行追踪函数调用

最终调用了图示方法,a.e.c.a,在a方法中我们看到了对时间的判断

追踪下a.getTime()方法

返回一个Date对象,这里破解就清晰了,修改calendar的add的第二个参数使得时间向后移,找到l发现是在构造方法中进行的传参初始化,所以使用上述的Javassit代码进行修改,大神可以直接用byetcode修改

,最后一张效果图

这个ide整体还是很好用的,可能用惯了JetBrains家软件的人使用起来会非常方便,vs什么的用来搞搞c就行

发表评论

电子邮件地址不会被公开。 必填项已用*标注