找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 98|回复: 0

[.NET逆向] SSMS格式化插件SQL Pretty Printer for SSMS-算法分析

[复制链接]

2万

主题

128

回帖

10万

积分

管理员

积分
105773
发表于 2023-3-27 09:56:05 | 显示全部楼层 |阅读模式 IP:山东省临沂市沂水县 联通

登录后更精彩...O(∩_∩)O...

您需要 登录 才可以下载或查看,没有账号?立即注册

×
[.NET逆向] SSMS格式化插件SQL Pretty Printer for SSMS-算法分析


首先说明,本文是SSMS格式化插件SQL Pretty Printer for SSMS-算法分析
如果要爆破请查看此贴:https://www.52pojie.cn/thread-1416605-1-1.html

下面开始正式分析。
1、安装完成后进入About对话框会要求提示输入CustomerName和LicenseKey,点击Validate进行验证


2、找到dll所在路径:C:\Program Files (x86)\Gudusoft\ppforssms,这是无壳dll,直接拖入dnspy进行分析。先看图:



[C#] 纯文本查看 复制代码
lizhe lizhe = new lizhe();
lizhe.loaduserkey();

2.1.实例化lizhe之后通过loaduserkey方法去指定路径下读取sqlppforssms_lic.txt这个文本文件,当然,这个文件必须是注册成功后才有的。

2.2.刚才第一步已经有了验证机制,我们直接定位到checkkey:

这里有4个key需要注意:userkey、rawkey、usernamekey、basekey


1)、rawkey.Substring(5,1) ="#";
//rawkey第6位必须是 #

2)、CustomerName用户名通过validateUsername()校验,validateUsername()校验又涉及usernamekey和getLicense(),getLicense()返回flicensee。
第一个关键来了,通过flicense分析调用,发现来自setUseKey(),进入setUserKey()又有一个userkey

很明显,通过猜测,如果验证正确:
userkey = "00000-00000-000000-000000,trial user"
rawkey = "00000-00000-000000-000000"
flicense = CustomerName
经过generateUserMd5()处理,得到usernamekey,此处我们用:52pojie进行注册,得到869a6

3)、rawkey经反算得到格式:80000#60000-900000-a00006,其余的0部分需要经basekey计算。这个地方我也是卡了一会儿,一直没太明白反算规则。
但是,经过分析推测,我们回到这句话:
[C#] 纯文本查看 复制代码
string text = this.getlockbykey(this.basekey)



既然反算不好推敲,那么我们就正向测试,这个getlockbykey()是通过basekey计算后去跟locks数组内容(数组长度203)进行比对。测试basekey如下:
basekey ="1234-5678-91234-5678";
通过分析比对,剔除\r\n发现,计算得到的结果跟locks数组内容非常相似,这里我们貌似猜测是一个密文字符对应一个原文字符。
中间测试环节就不一一输出了,就是将首字符不断变化,"2234-5678-91234-5678"、"3234-5678-91234-5678"...
不断尝试下去,得到一套密码表,这是第二个关键,也是我觉得非常关键的一步:


4)、最终就是CustomerName支持自定义,basekey有203种可能性随机组合,将任意locks数组内容进行替换解码,再填充到:80000#60000-900000-a00006 格式中 0 的部分,得到rawkey,也就是LicenseKey。

3、算法注册成功!截图如下:

4、写在最后:
本帖仅供技术交流,故不提供成品,请自行学习。从攻防的角度来说,这个验证属于传统型的加密解密,算法不是太强,拿到了密码表,就解锁所有可能。这是我的分析,如果有其它分析思路,欢迎大家点评交流。









from:
SSMS格式化插件SQL Pretty Printer for SSMS-算法分析
https://www.52pojie.cn/thread-1587529-1-1.html
(出处: 吾爱破解论坛)









回复

使用道具 举报

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

本版积分规则

QQ|IOTsec-Zone|在线工具|CTF WiKi|CTF平台汇总|CTF show|ctfhub|棱角安全|rutracker|攻防世界|php手册|peiqi文库|CyberChef|猫捉鱼铃|手机版|小黑屋|cn-sec|分享屋 ( 鲁ICP备2021028754号 )

GMT+8, 2024-5-6 03:46

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表