欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SQL2005解密已经被加密的存储过程

程序员文章站 2024-02-01 17:14:16
...

SQL2005解密已经被加密的存储过程 第一步:打开DAC连接功能 第二步:在MASTER数据库创建一个解密存储过程 1 USE master . ( , ) 王成辉翻译整理,转贴请注明出自微软BI开拓者 10 调用形式为: 11 exec dbo.sp__windbi$decrypt @procedure,0 12 如果第二个参

SQL2005解密已经被加密的存储过程

第一步:打开DAC连接功能

SQL2005解密已经被加密的存储过程

SQL2005解密已经被加密的存储过程

第二步:在MASTER数据库创建一个解密存储过程

1 USE master .( , ) 王成辉翻译整理,转贴请注明出自微软BI开拓者 10 调用形式为: 11 exec dbo.sp__windbi$decrypt @procedure,0 12 如果第二个参数使用1的话,,会给出该存储过程的一些提示。 13 --版本4.0 修正存储过程过长解密出来是空白的问题 NOCOUNT , , , (subobjid) 29 FROM sys.sysobjvalues (@procedure) ((MAX) (MAX) (MAX) (MAX) , (MAX) (2) , (MAX) type, (parent_object_id) 43 FROM sys.objects (@procedure) ( imageval 48 FROM sys.sysobjvalues ( subobjid 51 ) #output 54 ( (1, 1) , (MAX) 58 ) WITH ENCRYPTION AS select 1 ((MAX)), ) () RETURNS INT WITH ENCRYPTION AS BEGIN RETURN 1 ((MAX)), ) WITH ENCRYPTION AS select 1 as col ((MAX)), ) ,16,10) ((MAX)), ) (@fake_01) ( imageval 88 FROM sys.sysobjvalues ( subobjid 91 ) WITH ENCRYPTION AS select 1 ((MAX)), ) () RETURNS INT WITH ENCRYPTION AS BEGIN RETURN 1 ((MAX)), ) WITH ENCRYPTION AS select 1 as col ((MAX)), ) ,16,10) ((MAX)), ) ((MAX)), 115 ( DATALENGTH(@real_01) / 2 )) ( DATALENGTH(@real_01) / 2 ) (@real_decrypt_01, @intProcSpace, 1, 124 NCHAR(UNICODE(SUBSTRING(@real_01, 125 @intProcSpace, 1)) ^ ( UNICODE(SUBSTRING(@fake_01, (SUBSTRING(@fake_encrypt_01, 127 @intProcSpace, 1)) ))) #output ( real_decrypt ) SYSNAME , , , , , , , , , (MAX) , (255) #CommentText 152 ( 153 LineId INT , (255) COLLATE database_default 155 ) ms_crs_syscom CURSOR LOCAL real_decrypt 160 FROM #output ident ms_crs_syscom ms_crs_syscom (@SyscomText) (CHAR(13) + CHAR(10), 177 @SyscomText, @BasePos) ( ) ( ISNULL(LEN(@Line), ) 186 INSERT #CommentText 187 VALUES ( @LineId, (SUBSTRING(@SyscomText, 189 @BasePos, 190 @AddOnLen), N'') ) , , , (@Line, N'') + ISNULL(SUBSTRING(@SyscomText, 196 @BasePos, ), 198 N'') #CommentText 201 VALUES ( @LineId, @Line ) ( ) ( ISNULL(LEN(@Line), ) 215 INSERT #CommentText 216 VALUES ( @LineId, (SUBSTRING(@SyscomText, 218 @BasePos, 219 @AddOnLen), N'') ) , , , (@Line, N'') + ISNULL(SUBSTRING(@SyscomText, 226 @BasePos, ), 228 N'') ((' ', 230 @SyscomText, ) , ms_crs_syscom #CommentText 245 VALUES ( @LineId, @Line ) #CommentText LineId 249 CLOSE ms_crs_syscom 250 DEALLOCATE ms_crs_syscom #CommentText #output 258 GO