Encryption

  • Hi

    I have encrypted my view and unfortunaltely I didnt save my script, is there any way I can decrypt it.

  • Hi,

     

    U can run this code and dencrypt the view , trigger and sp

     

    SET QUOTED_IDENTIFIER OFF

    GO

    SET ANSI_NULLS OFF

    GO

    CREATE PROCEDURE DECRYPT2K (@objName varchar(50), @type char(1) )

     AS

    DECLARE @a nvarchar(4000), @b-2 nvarchar(4000), @C nvarchar(4000), @d nvarchar(4000), @i int, @t bigint, @tablename varchar(255), @trigtype varchar(6)

    SET @type=UPPER(@type)

    IF @type='T'

     BEGIN

     SET @tablename=(SELECT sysobjects_1.name

     FROM dbo.sysobjects INNER JOIN

      dbo.sysobjects sysobjects_1 ON dbo.sysobjects.parent_obj = sysobjects_1.id

     WHERE (dbo.sysobjects.type = 'TR') AND (dbo.sysobjects.name = @objName))

     SET @trigtype=(SELECT CASE WHEN dbo.sysobjects.deltrig > 0 THEN 'DELETE'

         WHEN dbo.sysobjects.instrig > 0 THEN 'INSERT'

         WHEN dbo.sysobjects.updtrig > 0 THEN 'UPDATE' END

       FROM dbo.sysobjects INNER JOIN

        dbo.sysobjects sysobjects_1 ON dbo.sysobjects.parent_obj = sysobjects_1.id

       WHERE (dbo.sysobjects.type = 'TR') AND (dbo.sysobjects.name = @objName))

     END

    --get encrypted data

    SET @a=(SELECT ctext FROM syscomments WHERE id = object_id(@objName))

    SET @b-2=case @type

      WHEN 'S' THEN 'ALTER PROCEDURE '+ @objName +' WITH ENCRYPTION AS '+REPLICATE('-', 4000-62)

      WHEN 'V' THEN 'ALTER VIEW '+ @objName +' WITH ENCRYPTION AS SELECT dbo.dtproperties.* FROM dbo.dtproperties'+REPLICATE('-', 4000-150)

      WHEN 'T' THEN 'ALTER TRIGGER '+@objName+' ON '+ @tablename+' WITH ENCRYPTION FOR '+@trigtype+' AS PRINT ''a'''+REPLICATE('-', 4000-150)

      END

    EXECUTE (@b)

    --get encrypted bogus SP

    SET @C=(SELECT ctext FROM syscomments WHERE id = object_id(@objName))

    SET @b-2=case @type

     WHEN 'S' THEN 'CREATE PROCEDURE '+ @objName +' WITH ENCRYPTION AS '+REPLICATE('-', 4000-62)

     WHEN 'V' THEN 'CREATE VIEW '+ @objName +' WITH ENCRYPTION AS SELECT dbo.dtproperties.* FROM dbo.dtproperties'+REPLICATE('-', 4000-150)

     WHEN 'T' THEN 'CREATE TRIGGER '+@objName+' ON '+ @tablename+' WITH ENCRYPTION FOR '+@trigtype+' AS PRINT ''a'''+REPLICATE('-', 4000-150)

     END

    --start counter

    SET @i=1

    --fill temporary variable

    SET @d = replicate(N'A', (datalength(@a) / 2))

    --loop

    WHILE @i<=datalength(@a)/2

     BEGIN

    --xor original+bogus+bogus encrypted

    SET @d = stuff(@d, @i, 1,

     NCHAR(UNICODE(substring(@a, @i, 1)) ^

     (UNICODE(substring(@b, @i, 1)) ^

     UNICODE(substring(@c, @i, 1)))))

     SET @i=@i+1

     END

    --drop original SP

    IF @type='S'

     EXECUTE ('drop PROCEDURE '+ @objName)

    ELSE

     IF @type='V'

      EXECUTE ('drop VIEW '+ @objName)

     ELSE

      IF @type='T'

       EXECUTE ('drop TRIGGER '+ @objName)

    --remove encryption

    --try to preserve case

    SET @d=REPLACE((@d),'WITH ENCRYPTION', '')

    SET @d=REPLACE((@d),'With Encryption', '')

    SET @d=REPLACE((@d),'with encryption', '')

    IF CHARINDEX('WITH ENCRYPTION',UPPER(@d) )>0

     SET @d=REPLACE(UPPER(@d),'WITH ENCRYPTION', '')

    --replace SP

    execute( @d)

    GO

    SET QUOTED_IDENTIFIER OFF

    GO

    SET ANSI_NULLS ON

    GO

     

    I got the code  from a website but i dont have the link this time.

    from

    Killer

  • I tried using bythis but still cudnt decrypt

  • Ohh OK It is working fine. Thanks a lot.

Viewing 4 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic. Login to reply