您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

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

2025/6/9 20:32:22发布12次查看
解密存储过程,视图,触发器 存储过程 视图 触发器 此存储过程解密比较短的存储过程可以,运行前先备份存储过程,否则可能无法恢复。 decrypt stored procedures, views and triggersscript rating total number of votes [11] by: jgama this sp will decry
解密存储过程,视图,触发器 存储过程 视图 触发器 此存储过程解密比较短的存储过程可以,运行前先备份存储过程,否则可能无法恢复。 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 --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 ''+@objname+'' on ''+ @tablename+'' with encryption for ''+@trigtype+'' 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 ''+@objname+'' on ''+ @tablename+'' with encryption for ''+@trigtype+'' as print ''''a''''''+replicate(''-'', 4000-150) end--start counterset @i=1--fill temporary variableset @d = replicate(n''a'', (datalength(@a) / 2))--loopwhile @i0 set @d=replace(upper(@d),''with encryption'', '''')--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 --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--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'', (datalength(@a) / 2))--loopwhile @i0 set @d=replace(upper(@d),''with encryption'', '''')--replace spexecute( @d)goset quoted_identifier off goset ansi_nulls on go
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product