SQL 서버 프로 기사 "Decrypt SQL Server Objects" 여전히 SQL 서버 당신은 DAC를 통해 연결해야 2008 년
에서 작동합니다. the download에 "SQL 2005 저장 프로 시저, 함수, 트리거, views.sql 해독"파일을 참조하십시오.
다만
CREATE PROC dbo.myproc
WITH ENCRYPTION
AS
SELECT 'FOO'
- 변수
@ContentOfEncryptedObject
- 에서 암호화 대상
sys.sysobjvalues
에서 imageval
열에서 텍스트 저장을 @ObjectDataLength
을 계산를 취득는 다음 프로 시저 정의에 대해 수행하는 단계를 요약 DATALENGTH(@ContentOfEncryptedObject)/2
에서.
- 는
- 가
ALTER
명령문을 실행한다 (이 경우 ALTER PROCEDURE [dbo].[myproc] WITH ENCRYPTION AS------------
단위) -
문자 정확한 길이 밖으로 패딩 ALTER PROCEDURE
문을 생성 가변 @ContentOfFakeEncryptedObject
에 그 변경을 롤백 sys.sysobjvalues
저장로부터 암호화 된 버전을 검색 .
-
문자 (이 경우 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
내 SP의 암호를 해독하기 위해 실행해야하는 스크립트를 안내해 주시겠습니까? "SQL 2005의 저장 프로 시저, 함수, 트리거, views.sql"을 해독 한 것입니까? –
감사합니다. 저는 DAC를 사용하여 스크립트를 실행했지만 저에게 잘 작동합니다. –
니스. 나는 이것에 너무 깊이 들여다 보지 않았다. – gbn