前言

Pycharm好像是3.X版本上的登录验证,IEDA应该是2.3,登录验证已经无法使用插件来绕过,这里记录一下新的方法。

此方法来源依旧是eval-reset插件的作者,使用到的开源项目地址或网站:

顺便整了个一键脚本,只适用于windows,注意解压到非中文目录中

下载-》https://wwc.lanzouo.com/iF2K4y5qb0b

运行里面的run.exe即可

最后的效果:

绕过登录验证

新版本配置文件位置已改变

首先下载上面ja-netfilter,放置到一个非中文路径的文件夹下,假设你已经登录(若偏不使用账号登录,可以使用上面的临时许可证),在窗口上方帮助->编辑自定义VM选项 中引入ja-netfilter

# eval
-javaagent:D:/ja-netfilter/ja-netfilter.jar

然后在jar文件的同级目录内新建一个janf_config.txt:

新版本(2.0.1)配置文件位置已经改变,变成了:

一个插件对应一个conf文件,所以下面的DNS和URL都要放进对应的文件里面

[DNS]
EQUAL,jetbrains.com

[URL]
PREFIX,https://account.jetbrains.com/lservice/rpc/validateKey.action

至此,重启并点击注册页面的开始试用即为成功,实际上不点也行,许可证显示过了日期也是可以使用的

py脚本

这里顺便贴一下脚本代码,注意!直接拿出来运行时不行的,需要下载上面的zip包

import os

print("本脚本会自动注册IntelliJIdea, PyCharm, CLion系列软件\n请存放于非中文路径中\n !!!!!!!只适用于登录验证版本!!!!!!!!\n")
os.system('pause')

get_user = "echo %username%"
user_name = os.popen(get_user).read().strip()
print(user_name)

jb_path = f"C:/Users/{user_name}/AppData/Roaming/JetBrains"
# jb_path = f"./test"
software_list = [('IntelliJIdea', 'idea64.exe.vmoptions'),
                 ('PyCharm', 'pycharm64.exe.vmoptions'),
                 ('CLion', 'clion64.exe.vmoptions')]
vm_file_path_list = []
pwd = os.getcwd().replace('\\', '/')
ja_path = f"{pwd}/ja-netfilter.jar"
add_str = f"-javaagent:{ja_path}"

for dir_ in os.listdir(jb_path):
    for i in software_list:
        if dir_.startswith(i[0]):
            vm_file = jb_path + "/" + dir_ + f"/{i[1]}"
            if os.path.exists(vm_file):
                with open(vm_file, "r+") as f:
                    agaent_exists = False
                    text = f.read().splitlines(keepends=True)
                    for line in text:
                        if line.strip().startswith("-javaagent"):
                            agaent_exists = True
                            print(f"{dir_}的-javaagent已设置,将跳过,自行检查")
                            break
                    if not agaent_exists:
                        # text.append(f"\n# eval \n-javaagent:{ja_path}")
                        f.writelines([f"\n# eval \n-javaagent:{ja_path}"])
                        print(f"{dir_}注册成功")
            else:
                with open(vm_file, "w") as f:
                    f.write(f"\n# eval \n-javaagent:{ja_path}")
                    print(f"{dir_}注册成功")
print("\n")
print("请自行在软件内点击 开始试用 进行激活")
print("\n")
os.system('pause')

更新

  • 12/26:打包的时候加上了-w,整得报错了
  • 12/30:版本更新