今天用了一天的时间,寻找破解方法。终于找到大神的破解教程。即使在教程下,也折磨了好久。记录一下,方便以后学习。
测试环境:MacOS High Sierra 10.13.4 --------------------------------------------- (这里直接使用大神的密钥,也可以自己生成测试可以用) 第二步 安装程序,并替换应用包内容目录中rpk文件的公钥 ①双击安装镜像navicat120_premium_cs.dmg,点击agree同意,拖曳Navicat Premium图标安装。
②安装完毕后打开finder,找到应用程序,右键显示包内容,打开目录 /Contents/Resources,编辑rpk文件,将自己的公钥替换并保存。
(自己计算的密钥也可以使用,不用在意提示使用此说过多,这里主要是离线激活时,获取激活请求码)
【这里贴出激活码具体的计算方法】
算出有效的序列号密钥 使用我算好的密钥可以跳过此步,继续第四步,节省时间。 中文版64/32位密钥序列号: NAVF-3FDM-QO4O-RGVT 英文版64/32位密钥序列号: NAVG-UJIZ-EVAP-JAUW !!!!!!!!!!!!!! ①序列号是一个16字节长度的字符串,是经过Base32编码的,其实际存储长度为80位(8字节),输入密钥后程序也会用Base32解码,以二进制形式存储比对。 简单讲一下Base32 编码,就是把二进制形式数据按每5位来分组,然后把每一组5位的二进制数据转为十进制,去按十进制顺序搜索Base32编码表中对应的32个可见字符,重新保存显示为编码表中的可见字符。 正常的Base32 编码表顺序是:(windows版)
也可以改变字符顺序或字符内容,实现加密的效果,只有自己知道编码顺序才能解码。 不懂base32就自己Google一下 Navicat 的密钥是按照正常的Base32编码表,已经证实 char EncodeTable[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"; 密钥本身是一个80位长的二进制数据,为了便于表达我们用十六进形式表示。 第1个8位二进制数据是:68 /*不知道表示什么,但是不能改变*/ 第2个8位二进制数据是:2A /*不知道表示什么,但是不能改变*/ 第3个8位二进制数据是:00 /*不知道表示什么,但是可以任意设置改变,本次我设置空值,十六进制00,二进制就是00000000,你可以自己改*/ 第4个8位二进制数据是:00 /*不知道表示什么,但是可以任意设置改变,本次我设置空值,十六进制00,二进制就是00000000,你可以自己改*/ 第5个8位二进制数据是:00 /*不知道表示什么,但是可以任意设置改变,本次我设置空值,十六进制00,二进制就是00000000,你可以自己改*/ 第6个8位二进制数据是:CE /*第6个和第7个组合使用*/ 第7个8位二进制数据是: 32 /*第6个和第7个组合使用,目前已知0xAC 0x88 代表英文版,0xCE 0x32 代表简体中文版,0xAA 0x99 代表繁体中文版*/ 第8个8位二进制数据是: 65 /*代表商业许可类型,0x65代表企业版,0x66代表教育版,0x67代表精简版*/ 第9个8位二进制数据是: C0 /*这个8位数据的前4位必须是1100,转换为十进制就是12,代表版本12,数据的后4位不知道代表什么,但是可以延迟激活实用时间,后4位可以是0000 或0001 */ 第10个8位二进制数据是: FF /*代表许可的期限权利类型,0xFB 代表30天不可转售许可, 0xFC 代表90天不可转售许可,0xFD 代表365天不可转售许可,0xFE 代表不可转售许可 ,0xFF 代表站点许可*/ 这样我们得到了中文版本密钥的原始数据:68 2A 00 00 00 CE 32 65 C0 FF ②然后对密钥后8个8位数据进行DES对称加密,使用DES加密算法,并采用ECB模式,不懂DES加密算法和ECB模式,自己进行Google搜索。 需要加密的数据即:00 00 00 CE 32 65 C0 FF ,共8字节(64位)数据,DES加密算法加密后的密文数据位数一致,也是8字节(64位)数据。 DES加密密钥是:64ADF32FAEF21A27 unsigned char DESKey = { 0x64, 0xAD, 0xF3, 0x2F, 0xAE, 0xF2, 0x1A, 0x27 }; 打开DES加密计算器,输入明文:000000CE3265C0FF,输入加密密钥:64ADF32FAEF21A27,得到密文:A1DFE00051EAF4B3 这样我们得到了加密后的序列号密钥数据:68 2A A1 DF E0 00 51 EA F4 B3 ③把密钥原始数据转化为二进制,按每5位一组,进行Base32编码 二进制 01101000 00101010 01011101 10010100 01101100 10000011 10111000 11101000 10011010 10110011 base32编码分组 01101 00000 10101 00101 11011 00101 00011 01100 10000 01110 11100 01110 10001 00110 10101 10011 转为十进制 13 0 21 5 27 5 3 12 16 14 28 14 17 6 21 19 搜索base32编码表,得到密钥:NAVF3FDMQO4ORGVT,即4字符一段格式:NAVF-3FDM-QO4O-RGVT 由于密钥前16位数据必须是0x68,0x2A,且不参与DES加密可以看出,base32编码后激活密钥的前三个字符是 NAV...开头 英文版本的序列号密钥也是同样方法得到,请自己算,或者使用已算好的。
(获取请求码时一定要断网,才可以进入手动激活模式,获取请求码,之后再激活前,都可以连网使用在线加密解密,去获取明文,和生成激活码)
②复制离线激活请求码,使用第一步提供的私钥解密请求码 离线激活信息是base64编码形式的,经过RSA公钥加密的,必须使用配对的私钥解密,由于公钥是我替换过的,当然使用我的私钥解密。 解密后可以看到激活请求信息是: { "K" : "NAVHT4PXWT8WQBL5", "P" : "Mac 10.13", "DI" : "ODQ2Yjg2ZDBjMTEzMjhh" } (这里的过程可以连网在线生成) 离线激活信息的解说,以及离线激活码明文信息的解说,请参看Windows版破解教程的第四步https://www.52pojie.cn/thread-688820-1-1.html 在线RSA私钥解密 http://tool.chacuo.net/cryptrsaprikey 也可使用其他RSA加密解密工具。 ③加密激活码明文,使用第一步提供的私钥加密激活码明文 激活码明文的 "K" 和 "DI" 必须与请求码明文中的"K" 和 "DI" 信息一致,"N" "O" "T" 三个项目自定义,"T" 是UNIX时间格式的整数,没有引号(这里失败了很多次,N,O,可以自定义,但是T最好使用当时激活时的时间,是UNIX时间格式一定要注意转换为这个格式)时间转换网址:点击打开链接 Mac版激活码明文格式如下:{"K":"NAVHT4PXWT8WQBL5", "N":"52pojie", "O":"52pojie.cn", "DI":"ODQ2Yjg2ZDBjMTEzMjhh", "T":1516939200} 激活码明文格式最好复制我的,改变 " " 内的字符即可,在同一行哦,不要换行,否则激活失败!!! "K" "DI" 都替换成自己机器解密的信,"N" "O" "T"自己定义 (T最好使用激活时候的时间,而且格式很主要) 把激活码的明文复制到在线加密工具,同时也复制第一步的私钥到加密工具,就能生成标准的激活码了,如图 http://tool.chacuo.net/cryptrsaprikey
也可使用其他RSA加密工具。 (最后的激活,我使用的断网以后再激活) ④复制加密后激活码信息到程序激活窗口,点击激活,即可成功激活。
仔细参考步骤,就会破解成功! 破解教程到此结束 |
最后记。重复测试多次都可以激活。感觉这个很强大。记录一下。
原:原文