资源描述:
《存储过程,触发器的解密》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、存储过程,触发器的解密存储过程,触发器的解密[转]createdproceduresp_decrypt(@objectnamevarchar(50))ibeginsetnocounton-csdn:j9988copyright:2004.07.15-v3.2-破解字节不受限制,适用于sqlserver2000存储过程,函数,视图,触发器-修正上一版"视图触发器"不能正确解密错误-发现有错,请e_e-mail:csdnj9988@tom.combegintrandeclare@objectname1varchar(100)
2、,@orgvarbinvarbinary(8000)declare@sql1nvarchar(4000),@sql2varchar(8000),@sql3nvarchar(4000),@sql4nvarchar(4000)declare@origsptext1nvarchar(4000),@origsptext2nvarchar(4000),@origsptext3nvarchar(4000),@resultspnvarchar(4000)declare@isint,@statusint,@typevarchar(10)
3、,@parentidintdeclare@colidintint,@no,@qint,@jint,@kint,@encryptedintint,@numberselect@type=xtype,@parentid=parent_objfromsysobjectswhereid=object_id(@objectname)#createdtabletemp(numberint,colidint,ctextvarbinary(8000),encryptedstatusint,int)graft#tempselectnumbe
4、r,colid,ctext,encrypted,statusfromsyscommentswhereid=object_id(@objectname)select@number=max(number)from#tempset@k=0while@k<=@numberbeginifexists(select1fromsyscommentswhereid=object_id(@objectname)andnumber=@k)beginif@type='p'set@when@sql1=(casenumber>1then'alte
5、r''+@objectname+';'+rtrim(@k)+'withencryptioni'else'alter''+@objectname+'withencryptioni'end)if@type='tr'begindeclare@parent_objvarchar(255),@tr_parent_xtypevarchar(10)select@parent_obj=parent_objfromsysobjectswhereid=object_id(@objectname)select@tr_parent_xtype=
6、xtypefromsysobjectswhereid=@parent_objif@tr_parent_xtype=vbeginset@sql1=altertrigger'+@objectname+'on'+object_name(@parentid)+'withencryptioninsterdofgraftiprince1endelsebeginset@sql1=altertrigger'+@objectname+'on'+object_name(@parentid)+'withencryptionforgraftip
7、rince1endendiftype=fn@are@type=tfare@type='if'set@sql1=(homes@typewhentfthen“改变功能”+“对象+(@char(1))返回@B表(varchar(10))与加密开始插入“B选择“返回结束当“FN”然后“改变功能”+“对象+(@char(1))返回char(1)与加密开始回归“结束”当“如果”“改变功能”+“对象+(@char(1))与加密的选择“为”表返回结束)如果“类型=V设置在SQL1='alter视图”+“对象+加密选择1F设置“Q=Len
8、(@SQL1)设置在SQL1=@SQL1+复制(“-”,4000“Q)选择@SQL2=复制(-,8000)集@SQL3='exec(@SQL1”选择“给=max(给)从#温度在数=@K设置n=1而@N<=上限(1*(@colid-1)/2)和莱恩(@SQL3)<=3996开始集@SQL3=@SQL3++@设置1结束集