O artigo do SQL Server Pro "Descriptografar objetos do SQL Server" ainda funciona no SQL Server 2008.
Você precisa se conectar através do DAC. Consulte o arquivo "Decrypt SQL 2005 stored procedures, functions, triggers, views.sql" em o download .
Apenas para resumir as etapas que ele executa para a seguinte definição de procedimento armazenado
CREATE PROC dbo.myproc
WITH ENCRYPTION
AS
SELECT 'FOO'
- Recupera o texto do objeto criptografado do
imagevalcoluna emsys.sysobjvaluese o armazena em uma variável@ContentOfEncryptedObject - Calcula
@ObjectDataLengthdeDATALENGTH(@ContentOfEncryptedObject)/2. - Gera um
ALTER PROCEDUREinstrução preenchida para o comprimento correto com o-caractere (então neste casoALTER PROCEDURE [dbo].[myproc] WITH ENCRYPTION AS------------) - Executa o
ALTERinstrução, recupera a versão criptografada desys.sysobjvaluese armazena isso na variável@ContentOfFakeEncryptedObjectem seguida, reverte a alteração. - Gera um
CREATE PROCEDUREinstrução preenchida para o comprimento correto com o-caractere (então neste casoCREATE PROCEDURE [dbo].[myproc] WITH ENCRYPTION AS-----------). Isso é armazenado na variável@ContentOfFakeObject
Em seguida, ele percorre
@i = 1 to @ObjectDataLength e descriptografa a definição um caractere por vez usando o seguinte XOR Cálculo. NCHAR(
UNICODE(SUBSTRING(@ContentOfEncryptedObject, @i, 1)) ^
(
UNICODE(SUBSTRING(@ContentOfFakeObject, @i, 1)) ^
UNICODE(SUBSTRING(@ContentOfFakeEncryptedObject, @i, 1))
)
)