首页
社区
课程
招聘
[原创]数据库软件 Navicate 17破解教程【x64dbg】
发表于: 2024-12-1 21:37 2917

[原创]数据库软件 Navicate 17破解教程【x64dbg】

2024-12-1 21:37
2917

前阵子要分析一个从GDELT下载的2.2G的文本文件,每行由60多个字段组成,文本文件有数亿行。
excel量级不够,微软的轻量级数据库access总是莫名出错,于是用了mysql来进行。
需要用到某款优秀的可视化数据库客户端来从文本文件导入数据库,并使用sql进行分析。
所以就去官网下载,当前最新的版本是Navicate17。
昨天提示过期了,只能免费试用14天。

有个帖子提到了把注册表信息删掉就能继续试用了,但我们既然喜欢从技术角度入手,就总想对exe逆向分析一下。此文仅为技术分析,请读者们不要侵犯软件的商业版权。

技术分析过程如下:

先用x64dbg载入主程序,运行到弹出已超期的窗口时看看堆栈。

今天是11月30日,显示到期时间12月14日却已过期是因为我昨天删了注册表,造成试用期未满,所以把系统日期改成12月份来达到超出试用期的效果。
试用期内是“试用”按钮,试用期外是“退出”按钮。

从右下角的堆栈里看到最近出栈的是一个叫authentication_dialog_ask的东东。这个从名称上看应该是和授权认证相关的互动函数。
右键从它身上跳转到CPU里的代码如下:

在jne指令上下个断点,重新运行程序,中断在这里之后试着把ZF寄存器的值翻转一下(双击绿色箭头的ZF寄存器处),意思是让test操作的结果和实际相反。
然后点退出按钮,果然没有执行下面第6行的jmp跳转命令,而是进入了软件。如图:x64dbg窗口后面就是软件的界面。

试了试软件功能,一切正常。官网有说明:试用版也是全功能的。所以从理论上来说,破解已经完成了,也就改一个跳转的事。
但每次启动软件都跳出来个窗口说过期了也怪烦的,虽然这个窗口的退出功能已经被取消了。
那试着找一下弹出这个窗口的指令吧。
把操作系统的时间从12月份改回当前时间,软件又回到了试用期内,在弹出这个窗口之后看看堆栈。

这个应该比刚才找到的那个地方位置更靠前,所以把堆栈的出栈情况向上翻一点,看到了一个L“showTrialDialog”,从它身上右键,点“在反汇编中转到指定QWOD“跳到CPU里对应的指令看了看,没看出什么来。
堆栈再往上分析,出栈的又是一个authentication_dialog_ask,刚才就是它,这次八成还是它,从它身上右键跳到CPU里看看:
指令如下:

多么熟悉的节奏啊!可以跟刚才一样在jne指令下断点,不过这次我在段首push那里下了断,想一步一步执行着看看。
重新运行,断点中断之后按F8单步运行,果然,call了一个函数之后弹出窗口。
再重新单步运行到jne,翻转一下ZF寄存器的标志,果然,没弹出提示窗口,而是直接进入了软件界面。
比较一下下面这两张图,就差一个call函数。call之前是等待界面,call之后弹出了窗口。

把今天找到的两处jnz都改成jmp,用x64dbg的补丁功能生成navicat1.exe,最好别覆盖之前的官方navicat.exe原文件。

基本上技术分析就结束了,至于说软件启动时的等待窗口还有个“未注册”的字样,以及进入软件之后菜单里点“关于”也会显示未注册,这个都是美观问题,不影响任何功能,就不在此次技术分析的主题赘述了。

test al,al
jne navicat.394A63D

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

最后于 2025-4-23 20:20 被letum编辑 ,原因:
收藏
免费 19
支持
分享
最新回复 (6)
雪    币: 2371
活跃值: (383)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
表哥来个成品,平民可用
2024-12-4 18:38
0
雪    币: 190
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
简直牛逼
2025-5-25 22:38
0
雪    币: 401
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
看看,回去试试
2025-5-26 16:21
0
雪    币: 48
活跃值: (424)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
libcc.dll 里面还有验证
2025-5-26 16:24
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
这是个很实用的软件
2025-5-26 18:40
0
雪    币: 748
活跃值: (903)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
allasm libcc.dll 里面还有验证
搜了一下,好像其他大神破解16版本时需要改libcc.dll。但我试了一下我改后的,只改了主程序,没感觉哪里还需要验证啊。是不是17版本libcc.dll就不涉及验证的东西了。
2025-6-5 11:39
0
游客
登录 | 注册 方可回帖
返回