2011-10-06 3 views
17

WITH ENCRYPTION 옵션을 사용하여 암호화 된 저장 프로 시저가 있습니다. 이제 그 절차를 해독하고 싶습니다. 나는이 포럼에서 SQL 2000을 위해 주어진 "Decryptsp2K"라는 저장 프로 시저를 이미 시도했다 : http://forums.asp.net/t/1516587.aspx/1SQL Server 2008에서 저장 프로 시저를 암호 해독하는 방법

그러나 해독하는 대신 저장 프로 시저를 삭제한다.

SQL Server 2008에서 저장 프로 시저를 암호 해독하는 방법이 있습니까?

답변

21

SQL 서버 프로 기사 "Decrypt SQL Server Objects" 여전히 SQL 서버 당신은 DAC를 통해 연결해야 2008 년

에서 작동합니다. the download에 "SQL 2005 저장 프로 시저, 함수, 트리거, views.sql 해독"파일을 참조하십시오.

다만

CREATE PROC dbo.myproc 
WITH ENCRYPTION 
AS 
SELECT 'FOO' 
  1. 변수 @ContentOfEncryptedObject
  2. 에서 암호화 대상 sys.sysobjvalues에서 imageval 열에서 텍스트 저장을 @ObjectDataLength을 계산를 취득는 다음 프로 시저 정의에 대해 수행하는 단계를 요약 DATALENGTH(@ContentOfEncryptedObject)/2에서.
  3. ALTER 명령문을 실행한다 (이 경우 ALTER PROCEDURE [dbo].[myproc] WITH ENCRYPTION AS------------ 단위) - 문자 정확한 길이 밖으로 패딩 ALTER PROCEDURE 문을 생성 가변 @ContentOfFakeEncryptedObject에 그 변경을 롤백 sys.sysobjvalues 저장로부터 암호화 된 버전을 검색 .
  4. - 문자 (이 경우 CREATE PROCEDURE [dbo].[myproc] WITH ENCRYPTION AS-----------)로 올바른 길이로 패딩 된 문을 CREATE PROCEDURE 생성합니다. 이것은 그런 다음 @i = 1 to @ObjectDataLength을 위해를 통하여 루프 다음과 같은 XOR 계산을 사용하여 한 번에 정의에게 문자를 해독 변수 @ContentOfFakeObject

에 저장됩니다.

NCHAR(
     UNICODE(SUBSTRING(@ContentOfEncryptedObject, @i, 1))^
     (
      UNICODE(SUBSTRING(@ContentOfFakeObject, @i, 1))^
      UNICODE(SUBSTRING(@ContentOfFakeEncryptedObject, @i, 1)) 
    ) 
    ) 

UPDATE

폴 화이트 이유는 위의 작품에 대한 자세한로가는 아주 좋은 기사를 작성했습니다, 그것은 가를 변경에 의존하지 않는 다른 방법을 제공

목적 : SQL 서버의 The Internals of WITH ENCRYPTION

+0

내 SP의 암호를 해독하기 위해 실행해야하는 스크립트를 안내해 주시겠습니까? "SQL 2005의 저장 프로 시저, 함수, 트리거, views.sql"을 해독 한 것입니까? –

+0

감사합니다. 저는 DAC를 사용하여 스크립트를 실행했지만 저에게 잘 작동합니다. –

+2

니스. 나는 이것에 너무 깊이 들여다 보지 않았다. – gbn

3

많은 이전 도구가 SQL Server 2005 이상에서 작동하지 않았습니다. 참고 : Dedicated Admin Connection

빠른 검색은 몇 가지 옵션을 보여줍니다.

+0

나는 모든 유료 버전이라고 생각합니다. 무료는 아닙니다. http://www.elitude.net/ 링크에서 decryptor를 확인했습니다. –

+0

@Upendra Chaudhari : 아마도 앱 밖에 지불했을 것입니다. SQL Server 2005에서 모두 변경되었습니다. – gbn

+0

지원에 감사드립니다. –

5

의 : 도구 -

다운로드.

무료 독립 실행 형 도구이며 SSMS에 통합하고 원본 DDL 스크립트를 미리보고 수정 또는 암호 해독 스크립트를 만드는 옵션이 있습니다.

독립 실행 형 도구에서 여러 서버에 연결하고 여러 개체를 한 번에 해독 할 수 있습니다.

dbForge SQL Decryptor이 경우에도 당신을 도울 수있는 다른 도구입니다.

관련 문제