`

在不破坏原加密存储过程的前提下,解密存储过程!(补充j9988)

 
阅读更多

实为 转贴j9988+原创

begin transaction? --playyuer 原创
exec sp_decrypt 'AppSP_test' --j9988 原创
rollback transaction --playyuer 原创

or:或者直接用 transaction 把 j9988 包起来!
begin transaction
j9988
rollback transaction

/************* 解密存储过程 **********
------------------------sql2000大于40000的-----------------
原作:j9988 号:J老师
*/
alter? PROCEDURE sp_decrypt (@objectName varchar(50))
AS
begin

begin transaction --add by playyuer

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)
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 @iBEGIN
--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
rollback transaction --add by playyuer
GO

/*
适合40000字符。
每次4000 print出来,自已贴。
切记:我见过的解过程都是对原过程进行破坏。破解前一定要备份!!!!
超过40000的,自已加SQL(我上面用SQL.SQL2--SQL10)
超长的可加SQL11--sql20........
*/


?

分享到:
评论

相关推荐

    针对sqlserver 2008 存储过程通过With Encryption加密方式的解密

    在下面的存储过程中,我们使用了 With Encryption 加密方式来对存储过程进行加密,并使用解密存储过程来还原加密的存储过程。该存储过程可以对加密的存储过程进行解密,并提供了详细的解密过程。 解密存储过程的...

    sqlserver 存储过程With Encryption加密的解密

    根据待解密存储过程的类型(存储过程、函数、视图或触发器),构造一段假的加密代码,该代码会被用来替换原有的加密存储过程。 ```sql IF @objtype = 'P' SET @fake_01 = 'ALTER PROCEDURE ' + @procedure + ' ...

    oracle存储过程unwrap解密工具.zip

    Oracle存储过程unwrap解密工具主要用于处理Oracle数据库中的加密存储过程。在Oracle数据库系统中,为了保护敏感代码或数据,开发人员有时会选择对存储过程进行加密。然而,当需要查看、调试或恢复这些加密的存储过程...

    SQL 存储过程加密与解密 不传没用的东西

    4. **合规性**:在某些法规和标准下,加密存储过程可能是必要的,确保了解并遵守所有适用的法规。 总的来说,SQL Server的存储过程加密与解密是一个复杂而重要的主题,涉及到数据安全、代码管理和系统维护等多个...

    存储过程批量加密,解密

    - 尽管此方法不能完全解密存储过程,但在一定程度上可以帮助理解其大致逻辑。 #### 三、总结 存储过程的加密与解密是SQL Server中非常重要的安全特性。加密可以有效保护存储过程中的逻辑和数据不被非法访问,而...

    MSSQL存储过程解密工具SQL SERVER

    SQL Decryptor是一款专为了解密SQL Server中的加密存储过程、函数等数据库对象而开发的软件。这款工具的主要功能是帮助数据库管理员和开发者恢复那些由于各种原因被加密的数据库对象的源代码,从而便于查看、修改或...

    sqlserver存储过程解密工具

    在未经授权的情况下解密他人的存储过程是不道德的,也可能违反法律。 使用存储过程解密工具的一般步骤包括: 1. 连接数据库:首先,你需要使用工具连接到包含加密存储过程的SQL Server实例,输入服务器名、数据库...

    万能破解SQL存储过程加密

    本文档“万能破解SQL存储过程加密”提供了解密SQL Server 2000中的加密存储过程的方法,这将帮助那些曾经为此困扰或寻找付费解决方案的人。 SQL Server 2000的加密是通过透明数据加密(TDE)和对象级别的加密来实现...

    字符串加密解密!!!!!!!!!!

    在IT领域,字符串加密解密是一项至关重要的技术,它广泛应用于数据保护、网络安全以及隐私维护等方面。加密技术的目的是将可读的明文转化为看似随机的密文,以防止未经授权的访问者理解其内容。解密则相反,是将密文...

    oracle存储过程加密破解

    oracle存储过程加密破解 0

    存储过程解密器,可显示 SQL SERVER 中被加密的存储过程

    然而,有时出于安全考虑,开发者可能会选择加密存储过程,使得其源代码不可见,防止未经授权的访问和修改。本文将详细介绍“存储过程解密器”这一工具,它能够帮助管理员或开发者查看被加密的存储过程的源代码。 ...

    sql2005存储过程解密工具

    1. 访问权限:解密工具需要具有足够的SQL Server权限,才能读取和解密存储过程。 2. 法律合规:在解密他人的存储过程时,必须确保拥有适当的授权,遵循版权和隐私法规。 3. 数据安全:虽然解密工具可以帮助理解存储...

    简单加密和解密,讲述 加密的思想是,解密为加密的逆过程

    在这个主题中,我们将深入探讨加密的基本概念、常见的加密算法以及解密的过程。 加密是一种将明文(可读信息)转换成密文(不可读信息)的技术,目的是防止未经授权的访问或窃取。加密的核心思想在于其逆向性,即...

    SQL Server存储过程解密工具

    SQL Server存储过程是数据库管理...总之,"SQL Server存储过程解密工具"是数据库管理员和开发者在面对加密存储过程时的一个实用工具,它可以帮助我们查看和理解那些看似不可见的代码,从而更好地管理和维护数据库系统。

    SQL存储过程解密

    ”这两句话共同指向了一个在IT领域尤其是数据库管理中的重要概念——如何解密SQL Server中的加密存储过程。在数据库管理系统(DBMS)中,存储过程是一种预编译的SQL代码集合,用于执行特定的任务。当存储过程被加密...

    ZIP4J压缩包加密解密

    在IT行业中,压缩和加密是两个非常重要的概念,特别是在数据传输和存储方面。ZIP4J是一个专门为Java设计的库,它提供了对ZIP文件格式的全面支持,包括压缩、解压缩以及加密和解密功能。本篇文章将深入探讨ZIP4J库在...

    存储过程解密工具

    2. **安全风险**:解密存储过程可能暴露敏感的业务逻辑和数据操作,因此在非授权的情况下不应进行。 3. **版本兼容性**:虽然这个工具适用于SQL Server 2000,但不保证与更高版本的SQL Server兼容。 4. **代码质量**...

    查看加密存储过程工具.zip

    首先,SQL Server本身并不提供直接查看加密存储过程源代码的功能。当存储过程被加密后,SQL Server Management Studio(SSMS)无法直接打开并显示其内容,这给数据库管理员或开发者带来了挑战。但有一些第三方工具和...

    最新最全SQL2008存储过程解密

    然而,如果存储过程被加密,那么默认情况下,这些方法无法直接显示其源代码。这时,可能需要利用第三方工具或者特殊的技术手段进行解密,但请注意,这可能违反软件许可协议。 存储过程的优点在于提高性能,因为它们...

    sql2012解密存储过程

    sql2012解密存储过程,绝对可以用,登录后再使用DAC模式登陆(关键就在这个地方)

Global site tag (gtag.js) - Google Analytics