怎样破解ms sql server 2000的加密存储过程?(300分)

  • 主题发起人 主题发起人 nina
  • 开始时间 开始时间
很妙的存储过程为什么不共享,你的都不共享,还要人家的解密原理
我想他是不会给你的,我给你说的你去碰运气吧,说不定会给你,但是如果
给你了,要公开哟,如果实在找不到我给你算了
 
给我呀,好兄弟
 
nina兄能否把加密原理告诉我,我一个钟给你解密原理
:)
HiHI
我相信爱因斯坦的相对论!坚信它!
 
可悲啊,我自己已经写好了解密程序,能解加过密的存储过程、触发器、函数、视图,
速度么,快的看不出有何停顿,而且没有内容大小的限制。[:(]
真是可悲啊!
 
你可用google查找一个名为 dsqlsrvd_setup.zip软件 ,
它可以将加密的存储过程解出来的,我用过的,很好.
如果找不到我可以发给你一个
 
nina 我们可以交换吗?我写了一套Sqldmo的东西
 
若真能解密,真佩服,可也太可怕了,今后我的存储过程该怎么办?
 
真的可以解密~●,谢谢ccweifen!我将它放到源码空间上去了。大家可以去下!
 
xxhadsg, 告诉我你的邮箱
 
可以到playicq上去下
 
to ccweifen:adsg@163.net
 
其实sql 2000所用的加密算法实在是太简单了,仅仅是异或!!!!
只不过key是随对象名称和建立时间而变化的。
知道了这个算法,解密还难吗??!!
 
nina 兄台啊 能不能把算法公开一二啊

另开贴加300分 或者发到163zjb@163.com 也可以啊

在此多多谢了 或者你要什么方面的算法 看我有没有可以和你换的哈
 
用sql server 的事件探查器试试
 
我就有,发mail给我吧或者到
www.3rcn.com/luntan/index.asp注册也可获取
 
GOOGLE搜索,有人写出来了,是共享软件,需要注册交钱。
 
我的不用钱的
 
来自:王公子, 时间:2003-9-12 23:52:00, ID:2175108
我就有,发mail给我吧或者到
www.3rcn.com/luntan/index.asp注册也可获取

〉〉王公子 偶注册了 你什么时候兑现诺言阿
 
sql server 2000 破解方法如下,
其它数据库不详
这是别人破的,不是我写的,我还没这水平

create PROCEDURE sp_decrypt_sp (@objectName varchar(50))

AS

begin

declare @objectname1 varchar(100)

declare @sql1 nvarchar(4000),@sql2 nvarchar(4000),@sql3 nvarchar(4000),@sql4 nvarchar(4000),@sql5 nvarchar(4000),@sql6 nvarchar(4000),@sql7 nvarchar(4000),@sql8 nvarchar(4000),@sql9 nvarchar(4000),@sql10 nvarchar(4000)

DECLARE @OrigSpText1 nvarchar(4000), @OrigSpText2 nvarchar(4000) , @OrigSpText3 nvarchar(4000), @resultsp nvarchar(4000)

declare @i int , @t bigint

declare @m int,@n int,@q int

set @m=(SELECT max(colid) FROM syscomments WHERE id = object_id(@objectName))

set @n=1

--get encrypted data

create table #temp(colid int,ctext varbinary(8000))

insert #temp SELECT colid,ctext FROM syscomments WHERE id = object_id(@objectName)

select * from #temp

set @sql1='ALTER PROCEDURE '+ @objectName +' WITH ENCRYPTION AS '

--set @sql1='ALTER PROCEDURE '+ @objectName +' WITH ENCRYPTION AS '

set @q=len(@sql1)

set @sql1=@sql1+REPLICATE('-',4000-@q)

select @sql2=REPLICATE('-',4000),@sql3=REPLICATE('-',4000),@sql4=REPLICATE('-',4000),@sql5=REPLICATE('-',4000),@sql6=REPLICATE('-',4000),@sql7=REPLICATE('-',4000),@sql8=REPLICATE('-',4000),@sql9=REPLICATE('-',4000),@sql10=REPLICATE('-',4000)

exec(@sql1+@sql2+@sql3+@sql4+@sql5+@sql6+@sql7+@sql8+@sql9+@sql10)

while @n<=@m

begin

SET @OrigSpText1=(SELECT ctext FROM #temp WHERE colid=@n)

set @objectname1=@objectname+'_t'

SET @OrigSpText3=(SELECT ctext FROM syscomments WHERE id=object_id(@objectName) and colid=@n)

if @n=1

begin

SET @OrigSpText2='CREATE PROCEDURE '+ @objectName +' WITH ENCRYPTION AS '--

set @q=4000-len(@OrigSpText2)

set @OrigSpText2=@OrigSpText2+REPLICATE('-',@q)

end

else

begin

SET @OrigSpText2=REPLICATE('-', 4000)

end

--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

print @resultsp

--execute( @resultsp)

set @n=@n+1

end

drop table #temp

end

GO
 
楼上的脚本我试过,可行。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部