jinvoke使用期限独家破教!

想用jni实现系统钩子,但找到的资料很少,而使用jinvoke可能会easy些,所以找到了jinvoke,可以用N次后居然不给用了,提示LICENSED过期,网上搜索破解方法也没搜到,所以就想到当时自己是如何做LICENSED的,没想到他的做法跟我一样,直接写注册表,以下操作就可以破解LICENSED使用期限了。

删除注册表:
\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs\com\
下的jinvoke目录,该目录下的apalikka键是记录jinvoke使用期限



有童鞋在问如何在程序中实现,现在贴出来:
	 /**
	 * 删除jinvoke限制注册表项
	 * @author RuiLin.Xie
	 */
	private void regJinvoke() throws IOException
	{
		//用户临时路径
		String dir = System.getProperty("java.io.tmpdir");
		String file = dir + "reginv.reg";
		
		//注册文件内容,内容描述删除jinvoke这个项
		StringBuffer reg = new StringBuffer();
		reg.append("Windows Registry Editor Version 5.00");
		reg.append(System.getProperty("line.separator"));
		reg.append("[-HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Prefs\\com\\jinvoke]");
		
		//生成注册文件
		FileOutputStream out = new FileOutputStream(file);
		out.write(reg.toString().getBytes());
		out.flush();
		out.close();
		
		//运行注册文件
		Runtime rt = Runtime.getRuntime();
		Process process = rt.exec("regedit /s " + file);
		try
		{
			process.waitFor();
		}
		catch (InterruptedException e)
		{
			e.printStackTrace();
		}
	}


方法有很多,这只是最简单的一种方法。

你可能感兴趣的:(windows,jni,idea)