WEB开发网
开发学院数据库MSSQL Server 怎样对SQL Server 2005存储过程解密 阅读

怎样对SQL Server 2005存储过程解密

 2008-05-09 09:55:40 来源:WEB开发网   
核心提示: --循环设置每一个变量,创建真正的变量--每次一个字节SET @intProcSpace=1--如有必要,怎样对SQL Server 2005存储过程解密(3),遍历每个@real_xx变量并解密WHILE @intProcSpace<=(datalength(@real_01)/2

--循环设置每一个变量,创建真正的变量

--每次一个字节

SET @intProcSpace=1

--如有必要,遍历每个@real_xx变量并解密

WHILE @intProcSpace<=(datalength(@real_01)/2)

BEGIN

--真的和假的和加密的假的进行异或处理

SET @real_decrypt_01 = stuff(@real_decrypt_01, @intProcSpace, 1,

NCHAR(UNICODE(substring(@real_01, @intProcSpace, 1)) ^

(UNICODE(substring(@fake_01, @intProcSpace, 1)) ^

UNICODE(substring(@fake_encrypt_01, @intProcSpace, 1)))))

SET @intProcSpace=@intProcSpace+1

END

--通过sp_helptext逻辑向表#output里插入变量

insert #output (real_decrypt) select @real_decrypt_01

-- select real_decrypt AS '#output chek' from #output --测试

-- -------------------------------------

--开始从sp_helptext提取

-- -------------------------------------

declare @dbname sysname

,@BlankSpaceAdded int

,@BasePos int

,@CurrentPos int

,@TextLength int

,@LineId int

,@AddOnLen int

,@LFCR int --回车换行的长度

,@DefinedLength int

,@SyscomText nvarchar(4000)

,@Line nvarchar(255)

Select @DefinedLength = 255

SELECT @BlankSpaceAdded = 0 --跟踪行结束的空格。注意Len函数忽略了多余的空格

CREATE TABLE #CommentText

(LineId int

,Text nvarchar(255) collate database_default)

--使用#output代替sys.sysobjvalues

DECLARE ms_crs_syscom CURSOR LOCAL

上一页  1 2 3 4 5 6 7  下一页

Tags:怎样 SQL Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接