SQL存储过程解密研究

SQL存储过程解密研究

ID:46497286

大小:158.50 KB

页数:15页

时间:2019-11-24

SQL存储过程解密研究_第1页
SQL存储过程解密研究_第2页
SQL存储过程解密研究_第3页
SQL存储过程解密研究_第4页
SQL存储过程解密研究_第5页
资源描述:

《SQL存储过程解密研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、SQL存储过程解密研究从网上搜索SQL存储过程解密,可以看到一人堆的资料,其内容都基木上都一致,这是先放上一篇:解密存储过程木文将以此为棊础进行研究,虽能解密成功,但其中解密那一段究其原理是到底是什么,一直也弄不明白,望了解内情的朋友告知。先谈问题:网上得來的存储过和经试验存在儿个问题:1、并没有删除原存储重建,仅仅在控制台做了一个输出,拷贝出来很不方便。2、对于长度大点的加密数据会解密失败。带着这两个问题來改造此存储过程。先做准备工作,首先盂要知道DAC这么个东西,指的是数据库专用管理员连接,为管理员提供的一种特殊的诊断连

2、接。知道了后得先打开它,以SQL2008为例:右击“对彖浏览器”,找到“Facets”,点击,如图:PC2011043012JUJ(SQLServer10.0.1600-PC2011043012JUJAdm一口口口口®)s000田Connect・・・DisconnectRejgistar.・.disabled)ActivityMonitorStartPauseResumeRest驴tPoliciesStartPowerShellRe^ortsRefreshProper找到“SrufaceAreaConfiguration笃

3、选择"RemoteDacEnabledn,设为True:Facet:Description:二Script

4、IjHelpAdHocRemoteQgri"EzbledFalseClrlntegrationEnabledFalseDatabaseMailEnabledFalse01eAutJE^se_RemoteDacEnabledS^rvicoBt*oicoFEniltJiriTrtAdi,True二:SoapEndpointsEnabledFalseSqlMailEnabledFalseWebAssistantEnabled

5、Propertyvalue*WebAssistantEnabled?isnotavailableXPCmdShellEnabledFalseFacetproperties:featuroso£th©DatabaseEngine.Onlythefeaturasrequiredbyyourapplicationshouldbeenabled・Disablingunusedfeatureshelps然麻进行DAC登录,CMD模式下敲如下命令,不清楚原理的可以白行研究:sqlcmd-A-S192.168.1.101・Usa-P123

6、456命令提示行下打开需处理的数据库:>USETEST>GO准备就绪,复制搜索得到的存储过程(这里冇些语法问题,做些小调整即口J),生成解密存储程,然后我们准备两个加密后的存储过程,其中一个长度较大(可口行循环创建一个500行的存储程,本文不再提供),验证得出结论,短小的存储过程很快即解密成功,并输出,但长度较大的却解密失败。接下來看看其如何解密的:先看这句select@maxCollD=max(subobjid),@intEncrypted=imagevalFROMsys.sysobjvaluesWHEREobjid=ob

7、ject_id(@procedure)指的是加密后的数据存放在“sys.sysobjvalues”表中,其内容存放于“imageval”字段。知道了加密后的数据,就得进行解密,它定义了4个关键字段:DECLARE@real_01nvarchar(max)DECLARE@fake_01nvarchar(max)DECLARE@fakeencrypt.01nvarchar(max)DECLARE@real_decrypt_01nvarchar(max)分别指的原始加密数据内容、原始加密存储过程的CREATE语句、£1己构造的假的

8、存储过程加密后的数据、授终解密后的存储过程。其方法是按位将@real_01、@fake_encrypt01、@real_decrypt_01进行杲或运算,此处为何如此处理,原理不明!!!WHILE@intProcSpace<=(datalength(@real_01)/2)BEGIN-xorreal&fake&fakeencryptedSET@real_decrypt_01=stuff(@real_decrypt_01,@intProcSpace,1,NCHAR(UNICODE(substring(@real.01,@int

9、ProcSpace,1))A(UNICODE(substring(@fake_01,@intProcSpace,1))AUNICODE(substring(@fake_encrypt_01,@intProcSpace,1)))))SET@intProcSpace=@intProcSpace

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。