各位大侠!相知道怎样可以看到sql 2000存储过程中的代码?高分必定相送!

freshao 2002-11-08 10:18:54
各位大侠!相知道怎样可以看到sql 2000存储过程中的代码?如果有人给存储过程加了密,有该怎么办呢?有什么东西可以看到吗?请各位大侠赶快帮忙!大分一定给各位送上!
...全文
27 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
glboy 2002-12-20
  • 打赏
  • 举报
回复
查看加密了的SQLSERVER存贮过程
这个解4000字节以内的还行,4000以外的不行。
create PROCEDURE sp_decrypt_sp (@objectName varchar(50))
AS
DECLARE @OrigSpText1 nvarchar(4000), @OrigSpText2 nvarchar(4000) , @OrigSpText3 nvarchar(4000), @resultsp nvarchar(4000)
declare @i int , @t bigint

--get encrypted data
SET @OrigSpText1=(SELECT ctext FROM syscomments WHERE id = object_id(@objectName))
SET @OrigSpText2='ALTER PROCEDURE '+ @objectName +' WITH ENCRYPTION AS '+REPLICATE('-', 3938)
EXECUTE (@OrigSpText2)

SET @OrigSpText3=(SELECT ctext FROM syscomments WHERE id = object_id(@objectName))
SET @OrigSpText2='CREATE PROCEDURE '+ @objectName +' WITH ENCRYPTION AS '+REPLICATE('-', 4000-62)

--start counter
SET @i=1
--fill temporary variable
SET @resultsp = replicate(N'A', (datalength(@OrigSpText1) / 2))

--loop
WHILE @i<=datalength(@OrigSpText1)/2
BEGIN
--reverse encryption (XOR original+bogus+bogus encrypted)
SET @resultsp = stuff(@resultsp, @i, 1, NCHAR(UNICODE(substring(@OrigSpText1, @i, 1)) ^
(UNICODE(substring(@OrigSpText2, @i, 1)) ^
UNICODE(substring(@OrigSpText3, @i, 1)))))
SET @i=@i+1
END
--drop original SP
EXECUTE ('drop PROCEDURE '+ @objectName)
--remove encryption
--preserve case
SET @resultsp=REPLACE((@resultsp),'WITH ENCRYPTION', '')
SET @resultsp=REPLACE((@resultsp),'With Encryption', '')
SET @resultsp=REPLACE((@resultsp),'with encryption', '')
IF CHARINDEX('WITH ENCRYPTION',UPPER(@resultsp) )>0
SET @resultsp=REPLACE(UPPER(@resultsp),'WITH ENCRYPTION', '')
--replace Stored procedure without enryption
execute( @resultsp)
GO

给分吧,:)
Davily 2002-12-16
  • 打赏
  • 举报
回复
高手跑到边度
Davily 2002-12-16
  • 打赏
  • 举报
回复
up
OneGip 2002-12-15
  • 打赏
  • 举报
回复
怎么加密的?
zhudongpo 2002-12-03
  • 打赏
  • 举报
回复
你想做黑客吗?
想看人家的机密!!!!
快给分呀
zhudongpo 2002-12-03
  • 打赏
  • 举报
回复
你想做黑客吗?
想看人家的机密!!!!
zhouyong110 2002-11-08
  • 打赏
  • 举报
回复
你可以找一些工具
象ORACLE的存储过程可以用PL/SQL DEVELOPER这个工具来看
IBM的DB2也有工具来看
我相信SQL SERVER 也有一些工具专门用于开发的
在那里面可以看到存储过程和包体里的程序
具体的工具你再问问别人
dbding 2002-11-08
  • 打赏
  • 举报
回复
好象是比较困难的,以前看到过,我帮你找找!

6,107

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 数据库报表
社区管理员
  • 数据库报表社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧