Navicat Premium 15無限試用註冊表修改

最近看上了Navicat Premium 15對PostgreSQL的支持,老版本的會有找不到oid字段報錯,網上棲息的一些和諧版本是通過暴力修改二進制文件中的密鑰來完成的,把可執行文件的數字簽名也給破壞了,若遇到別有用心的捆綁個後門也不是不可以,運行着沒有底氣,於是尋找突破14天試用的辦法。

網上有12版本的刪註冊表方法,顯得有些暴力,本文在這些方法的基礎上縮小了刪除的範圍,避免傷及無辜。

首先把HKEY_CURRENT_USER\Software\Classes\CLSID和HKEY_CURRENT_USER\Software\PremiumSoft備份出來以便意外時修復,然後找出保存試用信息註冊表信息項並刪除,記錄下刪除的註冊項信息:

#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重新試用,然後再執行一次上述的代碼,根據輸出信息就知道註冊信息其實就兩個註冊表項中有,修正代碼刪除這兩項就能達成目標,於是用先前備份的註冊表文件修復註冊表,在今後的使用中刪除這兩項就可以了,精準定位後的註冊信息刪除代碼如下:

#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家族,功能不受限,可以不斷嚐鮮。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章