时间:2020-11-12来源:www.pcxitongcheng.com作者:电脑系统城
最近看上了Navicat Premium 15对PostgreSQL的支持,老版本的会有找不到oid字段报错,网上栖息的一些和谐版本是通过暴力修改二进制文件中的密钥来完成的,把可执行文件的数字签名也给破坏了,若遇到别有用心的捆绑个后门也不是不可以,运行着没有底气,于是寻找突破14天试用的办法。
网上有12版本的删注册表方法,显得有些暴力,本文在这些方法的基础上缩小了删除的范围,避免伤及无辜。
首先把HKEY_CURRENT_USER\Software\Classes\CLSID和HKEY_CURRENT_USER\Software\PremiumSoft备份出来以便意外时修复,然后找出保存试用信息注册表信息项并删除,记录下删除的注册项信息:
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#encoding:utf-8 require 'win32/registry' Win32::Registry::HKEY_CURRENT_USER.open('Software\\Classes\\CLSID') do |reg| reg.each_key do |key,wtime| Win32::Registry::HKEY_CURRENT_USER.open('Software\\Classes\\CLSID\\'+key) do |reg_i| if reg_i.keys.include?('Info') puts 'delete '+reg_i.name+'\\Info' reg_i.delete_key('Info',true) end end end end Win32::Registry::HKEY_CURRENT_USER.open('Software\\PremiumSoft\\NavicatPremium') do |reg| puts 'delete '+reg.name+'\\Registration15XEN' reg.delete_key('Registration15XEN',true) end |
之后运行NaviCat重新试用,然后再执行一次上述的代码,根据输出信息就知道注册信息其实就两个注册表项中有,修正代码删除这两项就能达成目标,于是用先前备份的注册表文件修复注册表,在今后的使用中删除这两项就可以了,精准定位后的注册信息删除代码如下:
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#encoding:utf-8 require 'win32/registry' reg_key_item = 'Software\\Classes\\CLSID\\{05411C19-D96B-F48B-9097-9C1F11F012F2}' Win32::Registry::HKEY_CURRENT_USER.open(reg_key_item) do |reg| puts 'delete '+reg.name+'\\Info' reg.delete_key('Info',true) end reg_key_item = 'Software\\PremiumSoft\\NavicatPremium' Win32::Registry::HKEY_CURRENT_USER.open(reg_key_item) do |reg| puts 'delete '+reg.name+'\\Registration15XEN' reg.delete_key('Registration15XEN',true) end |
类似的方法也适用于超级终端工具SecureCRT家族,功能不受限,可以不断尝鲜。
2023-03-15
Navicat远程连接MongoDB最全实现方法以及报错解决2023-03-15
MongoDB的启动方法详细总结2023-03-11
详解分库分表后非分片键如何查询GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组,下面这篇文章主要给大家介绍了关于高版本Mysql使用group by分组报错的解决方案,文中通过实例代码介绍的非常详细,需要的朋友可以参考下...
2023-03-06