SQL सर्वर प्रो आलेख "Decrypt SQL Server Objects" अभी भी SQL Server 2008 में काम करता है।
आपको DAC के माध्यम से कनेक्ट करने की आवश्यकता है। डाउनलोड .
बस उन चरणों को संक्षेप में प्रस्तुत करने के लिए जो यह निम्न संग्रहीत कार्यविधि परिभाषा के लिए करता है
CREATE PROC dbo.myproc
WITH ENCRYPTION
AS
SELECT 'FOO'
- एन्क्रिप्टेड ऑब्जेक्ट टेक्स्ट को
imageval
. से पुनर्प्राप्त करता हैsys.sysobjvalues
. में कॉलम और इसे एक वेरिएबल@ContentOfEncryptedObject
. में स्टोर करता है - गणना करता है
@ObjectDataLength
DATALENGTH(@ContentOfEncryptedObject)/2
. से । - एक
ALTER PROCEDURE
उत्पन्न करता है स्टेटमेंट को-
. के साथ सही लंबाई तक बढ़ाया गया है चरित्र (इसलिए इस मामले मेंALTER PROCEDURE [dbo].[myproc] WITH ENCRYPTION AS------------
) ALTER
निष्पादित करता है कथन, एन्क्रिप्टेड संस्करण कोsys.sysobjvalues
. से पुनर्प्राप्त करता है और उसे वेरिएबल@ContentOfFakeEncryptedObject
. में स्टोर करता है फिर परिवर्तन को वापस ले लेता है।- एक
CREATE PROCEDURE
उत्पन्न करता है स्टेटमेंट को-
. के साथ सही लंबाई तक बढ़ाया गया है चरित्र (इसलिए इस मामले मेंCREATE PROCEDURE [dbo].[myproc] WITH ENCRYPTION AS-----------
) यह वेरिएबल@ContentOfFakeObject
. में स्टोर हो जाता है
इसके बाद यह @i = 1 to @ObjectDataLength
. के लिए लूप करता है और निम्नलिखित XOR
. का उपयोग करके एक बार में एक वर्ण की परिभाषा को डिक्रिप्ट करता है गणना।
NCHAR(
UNICODE(SUBSTRING(@ContentOfEncryptedObject, @i, 1)) ^
(
UNICODE(SUBSTRING(@ContentOfFakeObject, @i, 1)) ^
UNICODE(SUBSTRING(@ContentOfFakeEncryptedObject, @i, 1))
)
)