Artykuł dotyczący SQL Server Pro "Odszyfrowywanie obiektów SQL Server" nadal działa w SQL Server 2008.
Musisz połączyć się przez DAC. Zobacz plik „Odszyfruj procedury składowane, funkcje, wyzwalacze, widoki.sql SQL 2005” w pobieranie .
Wystarczy podsumować kroki, które wykonuje dla następującej definicji procedury składowanej
CREATE PROC dbo.myproc
WITH ENCRYPTION
AS
SELECT 'FOO'
- Pobiera zaszyfrowany tekst obiektu z
imagevalkolumna wsys.sysobjvaluesi przechowuje go w zmiennej@ContentOfEncryptedObject - Oblicza
@ObjectDataLengthzDATALENGTH(@ContentOfEncryptedObject)/2. - Generuje
ALTER PROCEDUREinstrukcja wypełniona do właściwej długości za pomocą-znak (więc w tym przypadkuALTER PROCEDURE [dbo].[myproc] WITH ENCRYPTION AS------------) - Wykonuje
ALTERinstrukcja, pobiera zaszyfrowaną wersję zsys.sysobjvaluesi przechowuje to w zmiennej@ContentOfFakeEncryptedObjectnastępnie cofa zmianę. - Generuje
CREATE PROCEDUREinstrukcja wypełniona do właściwej długości za pomocą-znak (więc w tym przypadkuCREATE PROCEDURE [dbo].[myproc] WITH ENCRYPTION AS-----------). Zostanie to zapisane w zmiennej@ContentOfFakeObject
Następnie przechodzi w pętlę dla @i = 1 to @ObjectDataLength i odszyfrowuje definicję znak na raz za pomocą następującego XOR obliczenia.
NCHAR(
UNICODE(SUBSTRING(@ContentOfEncryptedObject, @i, 1)) ^
(
UNICODE(SUBSTRING(@ContentOfFakeObject, @i, 1)) ^
UNICODE(SUBSTRING(@ContentOfFakeEncryptedObject, @i, 1))
)
)