当前位置:Gxlcms > mysql > 解密SQLServer存储过程等对象

解密SQLServer存储过程等对象

时间:2021-07-01 10:21:17 帮助过:36人阅读

解密SQL Server存储过程等对象 这个版本综合了前辈 王成辉翻译的版本 和 另外一个不知道出处的版本,在他们的基础上增加了 对内联和多语句表值函数(IF和TF)的解密。 虽然修改部分没多少技术含量,还是分享出来。^_^ -- ==================================

解密SQL Server存储过程等对象

这个版本综合了前辈 王成辉翻译的版本 和 另外一个不知道出处的版本,网站空间,香港服务器租用,在他们的基础上增加了 对内联和多语句表值函数(IF和TF)的解密。

虽然修改部分没多少技术含量,还是分享出来。^_^

-- ============================================= --王成辉翻译整理,转贴请注明出自微软BI开拓者 --增加对表值函数的解密功能by wofei --. ( @ObjectName VARCHAR(200), ) ((50) , @t bigint, ((max), @fake_01 nvarchar(max), @fake_encrypt_01 nvarchar(max), (max) (2),@ParentName nvarchar(max) type,(parent_object_id) (@ObjectName) (imageval subobjid) #output ( (1, 1) NOT NULL , (MAX) ) WITH ENCRYPTION AS select 1 /**//*(() WITH ENCRYPTION AS select 1 as col /**//*((),16,10) /**//*(()() RETURNS INT WITH ENCRYPTION AS BEGIN RETURN 1 /**//*(()() RETURNS TABLE WITH ENCRYPTION AS RETURN (SELECT 0 AS col) /**//*(()() RETURNS @Temp TABLE(ID INT) WITH ENCRYPTION AS BEGIN RETURN /**//*(()(@fake_01) (imageval subobjid ) WITH ENCRYPTION AS select 1 /**//*(() WITH ENCRYPTION AS select 1 as col /**//*((),16,10) /**//*(()() RETURNS INT WITH ENCRYPTION AS BEGIN RETURN 1 /**//*(()() RETURNS TABLE WITH ENCRYPTION AS RETURN (SELECT 0 AS col) /**//*(()() RETURNS @Temp TABLE(ID INT) WITH ENCRYPTION AS BEGIN RETURN /**//*(()((max)), (datalength(@real_01) /2 )) (datalength(@real_01)/2) (@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))))) #output (real_decrypt) --开始从sp_helptext提取 -- sysname ,@BlankSpaceAdded int ,@BasePos int ,@CurrentPos int ,@TextLength int ,@LineId int ,@AddOnLen int ,,@DefinedLength int ,@SyscomText nvarchar(max) ,@Line nvarchar(255) #CommentText (LineId int,Text nvarchar(255) collate database_default) ms_crs_syscom CURSOR LOCAL FOR SELECT real_decrypt from #output ORDER BY ident ms_crs_syscom ms_crs_syscom (@SyscomText) (char(13)+char(10), @SyscomText, @BasePos) () (isnull(LEN(@Line),0) + @BlankSpaceAdded) INSERT #CommentText VALUES ( @LineId,isnull(@Line, N'') + isnull(SUBSTRING(@SyscomText,@BasePos, @AddOnLen), N'')) , ,, (), N'') #CommentText VALUES( @LineId, @Line ) () (isnull(LEN(@Line),0) + @BlankSpaceAdded) INSERT #CommentText VALUES ( @LineId,isnull(@Line, N'') + isnull(SUBSTRING(@SyscomText, @BasePos, @AddOnLen), N'')) , , , (), N'') () , ms_crs_syscom #CommentText VALUES( @LineId,@Line) ms_crs_syscom DEALLOCATE ms_crs_syscom ( LineId DROP TABLE #CommentText -- ------------------------------------- --结束从sp_helptext提取 -- #output TRY (@sql) (@PROTEXT) TRY BEGIN CATCH PRINT ERROR_MESSAGE() CATCH

posted on

,香港服务器

人气教程排行