SQL सर्वर प्रो आलेख "Decrypt SQL Server Objects" अभी भी SQL Server 2008 में काम करता है।
आपको DAC के माध्यम से कनेक्ट करने की आवश्यकता है। डाउनलोड .
बस उन चरणों को संक्षेप में प्रस्तुत करने के लिए जो यह निम्न संग्रहीत कार्यविधि परिभाषा के लिए करता है
CREATE PROC dbo.myproc
WITH ENCRYPTION
AS
SELECT 'FOO'
- एन्क्रिप्टेड ऑब्जेक्ट टेक्स्ट को
imageval. से पुनर्प्राप्त करता हैsys.sysobjvalues. में कॉलम और इसे एक वेरिएबल@ContentOfEncryptedObject. में स्टोर करता है - गणना करता है
@ObjectDataLengthDATALENGTH(@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))
)
)