解密存储过程,视图,触发器

解密存储过程,视图,触发器,第1张

概述解密存储过程视图触发器

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

此存储过程解密比较短的存储过程可以,运行前先备份存储过程,否则可能无法恢复。 Decrypt Stored Procedures,VIEws and TriggersScript rating       Total number of Votes [11] By: jgama This SP will decrypt Stored Procedures,VIEws or Triggers that were encrypted using "with encryption" There are 2 versions: one for SP''s only and the other one for SP''s,triggers and vIEws version 1: input: object name (stored procedure,vIEw or trigger) version 2: input: object name (stored procedure,vIEw or trigger),object type(''T''-trigger,''P''-stored procedure or ''V''-vIEw) Original IDea: shoeboy?copyright ?1999-2002 SecurityFocusStored procedures coded by Joseph Gama ? SET QUOTED_IDENTIFIER OFF GOSET ANSI_NulLS OFF GOCREATE PROCEDURE DECRYPT2K (@objname varchar(50),@type char(1) )--input: object name (stored procedure,--     vIEw or trigger),object type (''S''-store--     d procedure,''V''vIEw or ''T''-trigger)--Original IDea: shoeboy <[email protected]--     quacy.org>--copyright ?1999-2002 SecurityFocus --adapted by Joseph Gama--Planet Source Code,my employer and my--     self are not responsible for the use of --     this code--This code is provIDed as is and for ed--     ucational purposes only--Please test it and share your results ASDECLARE @a nvarchar(4000),@b nvarchar(4000),@c nvarchar(4000),@d nvarchar(4000),@i int,@t bigint,@tablename varchar(255),@trigtype varchar(6)SET @type=UPPER(@type)IF @type=''T'' BEGIN SET @tablename=(SELECT sysobjects_1.name FROM dbo.sysobjects INNER JOIN  dbo.sysobjects sysobjects_1 ON dbo.sysobjects.parent_obj = sysobjects_1.ID WHERE (dbo.sysobjects.type = ''TR'') AND (dbo.sysobjects.name = @objname)) SET @trigtype=(SELECT CASE WHEN dbo.sysobjects.deltrig > 0 THEN ''DELETE''      WHEN dbo.sysobjects.instrig > 0 THEN ''INSERT''      WHEN dbo.sysobjects.updtrig > 0 THEN ''UPDATE'' END   FROM dbo.sysobjects INNER JOIN    dbo.sysobjects sysobjects_1 ON dbo.sysobjects.parent_obj = sysobjects_1.ID   WHERE (dbo.sysobjects.type = ''TR'') AND (dbo.sysobjects.name = @objname)) END--get encrypted dataSET @a=(SELECT ctext FROM syscomments WHERE ID = object_ID(@objname))SET @b=case @type   WHEN ''S'' THEN ''ALTER PROCEDURE ''+ @objname +'' WITH ENCRYPTION AS ''+REPliCATE(''-'',4000-62)  WHEN ''V'' THEN ''ALTER VIEW ''+ @objname +'' WITH ENCRYPTION AS SELECT dbo.dtpropertIEs.* FROM dbo.dtpropertIEs''+REPliCATE(''-'',4000-150)  WHEN ''T'' THEN ''ALTER TRIGGER ''[email protected]+'' ON ''+ @tablename+'' WITH ENCRYPTION FOR ''[email protected]+'' AS PRINT ''''a''''''+REPliCATE(''-'',4000-150)  ENDEXECUTE (@b)--get encrypted bogus SPSET @c=(SELECT ctext FROM syscomments WHERE ID = object_ID(@objname))SET @b=case @type  WHEN ''S'' THEN ''CREATE PROCEDURE ''+ @objname +'' WITH ENCRYPTION AS ''+REPliCATE(''-'',4000-62) WHEN ''V'' THEN ''CREATE VIEW ''+ @objname +'' WITH ENCRYPTION AS SELECT dbo.dtpropertIEs.* FROM dbo.dtpropertIEs''+REPliCATE(''-'',4000-150) WHEN ''T'' THEN ''CREATE TRIGGER ''[email protected]+'' ON ''+ @tablename+'' WITH ENCRYPTION FOR ''[email protected]+'' AS PRINT ''''a''''''+REPliCATE(''-'',4000-150) END--start counterSET @i=1--fill temporary variableSET @d = replicate(N''A'',(datalength(@a) / 2))--loopWHILE @i<=datalength(@a)/2 BEGIN--xor original+bogus+bogus encryptedSET @d = stuff(@d,@i,1,NCHAR(UNICODE(substring(@a,1)) ^ (UNICODE(substring(@b,1)) ^ UNICODE(substring(@c,1))))) SET @[email protected]+1 END--drop original SPIF @type=''S'' EXECUTE (''drop PROCEDURE ''+ @objname)ELSE IF @type=''V''  EXECUTE (''drop VIEW ''+ @objname) ELSE  IF @type=''T''   EXECUTE (''drop TRIGGER ''+ @objname)--remove encryption--try to preserve caseSET @d=REPLACE((@d),''WITH ENCRYPTION'','''')SET @d=REPLACE((@d),''With Encryption'',''with encryption'','''')IF CHARINDEX(''WITH ENCRYPTION'',UPPER(@d) )>0 SET @d=REPLACE(UPPER(@d),'''')--replace SPexecute( @d)GOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NulLS ON GOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NulLS OFF GOCREATE PROCEDURE DECRYPTSP2K (@objname varchar(50))--input: object name (stored procedure,--     -- vIEw or trigger)--Original IDea: shoeboy <[email protected]-- dequacy.org>--copyright ?1999-2002 SecurityFocus --adapted by Joseph Gama--Planet Source Code,my employer and my--     -- self are not responsible for the use --     of -- this code--This code is provIDed as is and for ed--     -- ucational purposes only--Please test it and share your results ASDECLARE @a nvarchar(4000),@t bigint--get encrypted dataSET @a=(SELECT ctext FROM syscomments WHERE ID = object_ID(@objname))SET @b=''ALTER PROCEDURE ''+ @objname +'' WITH ENCRYPTION AS ''+REPliCATE(''-'',4000-62)EXECUTE (@b)--get encrypted bogus SPSET @c=(SELECT ctext FROM syscomments WHERE ID = object_ID(@objname))SET @b=''CREATE PROCEDURE ''+ @objname +'' WITH ENCRYPTION AS ''+REPliCATE(''-'',4000-62)--start counterSET @i=1--fill temporary variableSET @d = replicate(N''A'',1))))) SET @[email protected]+1 END--drop original SPEXECUTE (''drop PROCEDURE ''+ @objname)--remove encryption--try to preserve caseSET @d=REPLACE((@d),'''')--replace SPexecute( @d)GOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NulLS ON GO

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的解密存储过程,视图,触发器全部内容,希望文章能够帮你解决解密存储过程,视图,触发器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1165303.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存