navicat 17.3.2破解

查看 96|回复 13
作者:payallmoney   
学习了这位大佬的帖子
https://www.52pojie.cn/forum.php?mod=viewthread&tid=2052969&extra=page%3D1&page=1
花了几天时间搞清楚了 navicat 17.1.3 的破解过程 , 我用的版本是17.3.2 , 同样位置的函数参数不一致 , 导致无法使用大佬的方案进行破解
于是研究了另外的方案:
[color=]1, 修改 libcc.dll offset 0x610aeb0 的字符串为自己公钥内容 (这里借用了系统原有的一个字符串 aVersion1610000_0 存储公钥, 可能导致某些地方会出现bug)


image.png (376.57 KB, 下载次数: 2)
下载附件
2025-8-25 08:54 上传

[color=]2,patch  libcc.dll  offset  0x21524AB 的内容如下 488D0DFE93FB034889084889C24889F9FFD348894620488B5510 后面填充90 到 0x21524F4


image.png (150.32 KB, 下载次数: 4)
下载附件
2025-8-24 22:33 上传

[color=]3, 断开网络 , 启动navicat , 输入key : NAVMIKCHCWNIHS3Q 获取请求码


image.png (82.39 KB, 下载次数: 3)
下载附件
2025-8-24 22:34 上传

4, 用大佬帖子中的工具ToolsFx对请求码进行解密


image.png (189.78 KB, 下载次数: 2)
下载附件
2025-8-24 22:34 上传

--public key start--
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5gHQx8Nax8GZm/gOQjbQDPmJyH3Wl73Cwkw28qZHAeSYxwa5bq8eExdzouni6RP3pBFP84/8WTpQB67+uwrMG8bMtLUxwOqmrp6KvuehMQFPe5EcbgfPoKLB+mwY0lXhrdwz0AhJ6SNJSbXFJrMRw69cubR2XYqAqzbdExo4zFkRLQMoytQoKcTa/2fHYTXfcer1Kf0rVGFZP4nbNzWAKuzh/0TTbls5XMG8ILfGm+LtbufPltMeb90wZPl/wz67EYI+aaDXbwkjQMSwSmx3oRnfQn2iA7qJoOsJ/xPzJmhdcD5F5hdkTHTidsF+yvYOa9F85K1el8NXikfexvCfHwIDAQAB
--public key end--
--primary key start ---
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDmAdDHw1rHwZmb+A5CNtAM+YnIfdaXvcLCTDbypkcB5JjHBrlurx4TF3Oi6eLpE/ekEU/zj/xZOlAHrv67Cswbxsy0tTHA6qaunoq+56ExAU97kRxuB8+gosH6bBjSVeGt3DPQCEnpI0lJtcUmsxHDr1y5tHZdioCrNt0TGjjMWREtAyjK1CgpxNr/Z8dhNd9x6vUp/StUYVk/ids3NYAq7OH/RNNuWzlcwbwgt8ab4u1u58+W0x5v3TBk+X/DPrsRgj5poNdvCSNAxLBKbHehGd9CfaIDuomg6wn/E/MmaF1wPkXmF2RMdOJ2wX7K9g5r0XzkrV6Xw1eKR97G8J8fAgMBAAECggEABjyMXa5FWt87/Aeo01DLKV7mxoHq/KhPjJcmckPh7wI0xki/ZGnpJdlf8E3pMiqxb0hs44zG6eBz5RFwpL+xMxub11aGZ9W0+U0hM/Xx3/NKJW6U18LsdU2UdubRcXqUqPMskHp5DpI/XXlJRDhcxfKOUBa9kuG7hWjya58tZRUD/d89e7zZSYth4tiO1pScU6ZBlxykID3WeI4vf8QrKNUGY4gJetikeKO33ou3iwjp3RUMjYsQq8NjFLa2ivmiG8zWhX8802dbQx11oXZKB7KzRvC2fbvo8gBUSla0RhgRmtKDaO+e4UeDACYL1jI0NjKEkWYLU0kcs0zlWNrtaQKBgQD/qU5LVJH5zNmkB0rtGtGKfGwkeEksqjlnQazdaGEsjpA4WhXegqf5AgTMUXK9BDXnpd+dESVUG9JIgBzys3ijq1trzNGbtoPNzM2XJG/XyEo+FVMzn2TjGbt+mQq7C64FNvWFvz0RKlObq0ilsCxRS5c9JagGbgMf74BtdZ12dQKBgQDmT893Li3dV8e2k34kA+oJJPPChd/mVb2GLQV3Ha4EO2GHbBK3/7UUFiMBDyYx90SXbwFVu3grBPGSvPxaG7Sl0J82i0S+AWP1lUisriNOdAF6not3sQ/4XmBXAem5pWlH0Pctbk2+6CkD/5269ebswMCxkWikwdGBvNYLNn1UwwKBgQC40JtYuXoNKpjqipsPbCOuCOPkOVAsiaGVk1RzedFFdImtMvI8OBdVWrA9Q2O+YBzXqIFN+ecSNkp9Pp+uky7Soj0kYJvmBLqjOzoj2KNBSfjhiGjtGHzF7wQrMFchf//8pQ438Vcj4YUvM1MA86oV2p8qBN7CRyTbITel6TA7QQKBgQCLKAHksuRHbvhemnOG805/Q/J8wELuezPOVHmO5UH1kKN3HZeZ0Ujp4A46X5rmac7p6MpXsLQE2jHURZf8Ie1emtT4MeHRJCnvgsmsfHMcvf7+xbjjEvrhSLTRHXjJEOax29Ldgl47US8nGVWGV3m15ykGoSMnGWyrBRwXHk9P3QKBgQD/mxZrUgjGLqgpqiqsFsCr88V51/FpATp7+2luZmyx+/Lz3D+MJ3UF1nehPGjcdMvHNR3y5pDyjiZVQWuiNprYh0Wqebg+avM9giQ5ZTGQNvO6W5/bQIhvIVi+ofw2zs0VMp9W2JDoZ7TFICEVjMXPVXR/JpPCCYxMoenXMt+BSg==
--primary key end---
[color=]5, 用解密后的json , 加上N,O,T字段进行加密, 得到的就是激活码


image.png (193.85 KB, 下载次数: 4)
下载附件
2025-8-24 22:34 上传

[color=]这里DI打码的原因是每台电脑会不一样 , 所以需要用解密后的
[color=]6,将激活码拷贝并输入激活框,点击激活按钮,完成激活


image.png (140.26 KB, 下载次数: 2)
下载附件
2025-8-24 22:35 上传



image.png (31.28 KB, 下载次数: 3)
下载附件
2025-8-24 22:35 上传



image.png (246.81 KB, 下载次数: 4)
下载附件
2025-8-24 22:35 上传

下载次数, 下载附件

jun269   

首先感谢楼主很认真的分析并写了这么多,但是对于我们这些只会使用这个软件的人群来说,看了这些东西其实就是跟看天书没啥区别,我们这类人群更需要的是最终的那个东西,楼主肯定懂得,
Sandyang   

为了方便好用,一直不更新.
[i]
老版本养老.
本来想开新贴,但是本人违规太多,发不了贴.也不知什么时候就会第三次,所以且行且珍惜.有效期30天,喜欢的自己下吧.
链接:https://pan.baidu.com/s/1b1lHilqn25ZWQNAIeVl-RA
提取码:52pj
--来自百度网盘超级会员V6的分享
m_h   

他的方法没问题 源码有问题找 ai 对下汇编 就改好了。  我的回复截图在
https://www.52pojie.cn/forum.php ... 69&pid=53679836
m_h   


bian1 发表于 2025-8-25 17:14
大佬我把dll改成 215B240 启动navicat.exe 也是报错,咋解决的哇

int 和int64的区别。{:1_918:} 很简单吧?
我调试的时候发现 进入 OriginalFunction 没多久就报错了并没有出来 所以问的ai  给的答案。
// 定义原始函数类型(匹配反汇编)
typedef __int64(__fastcall* OriginalFuncType)(__int64 a1, __int64 a2);
OriginalFuncType OriginalFunction = nullptr;
// Hook 替换函数
__int64 __fastcall HookedFunction(__int64 a1, __int64 a2)
{
    // 1. 调用原始函数
    uintptr_t result = OriginalFunction(a1, a2);
    LONG64* ptr = reinterpret_cast(result);
    printf("[Hook] 调用参数: a1=0x%llX, a2=0x%llX\n", a1, a2);
    printf("[Hook] 返回结果: 0x%llX\n", result);
    char message[64];
    sprintf_s(message, " Address: 0x%p", (LONG64*)*ptr);
    MessageBoxA(NULL, message, "Hook Info", MB_OK | MB_ICONINFORMATION);
    memcpy_s((LONG64*)*ptr, 392, "xxxxx", 392);
    /*
    // 2. 打印调试信息(可选)
    // 3. 修改返回值(例如替换公钥)
    if (result != 0) {
        const char* fakePublicKey = "XXXXX"; // 你的公钥
        memcpy((void*)result, fakePublicKey, 392); // 假设公钥长度是 392 字节
    }
    */
    return result;
}
m_h   


bian1 发表于 2025-8-26 15:35
大佬,那个手动激活是咋搞出来的呀。我用教程生成的密钥输进去是右边是个红色的叉叉。

屏蔽 激活域名。
52kail   

厉害啊
看来还是不更新比较方便哈哈
lllyyyccc   

感谢分享!
zhukun1980   

感谢大佬学习了谢谢
rgyjc   

厉害啊厉害!!!
您需要登录后才可以回帖 登录 | 立即注册

返回顶部