[email protected]   密码299981  有一个数据库,数据库中的存储过程被加密了,解密代码解的有问题,欢迎大家挑战

解决方案 »

  1.   

    随便给你解密了一个,你看看CREATE PROCEDURE [dbo].EL_SP_AdminComment @AdminType int,
    @CommentID int,
    @ChannelID int,
    @ClassID int,
    @InfoID int,
    @ArrCommentID nvarchar(1000),
    @Point int,
    @Content ntext,
    @IpAddress nvarchar(15),
    @UserName nvarchar(50)WITH ENCRYPTIONAS
    SET NOCOUNT ON
    BEGINIF @AdminType=1 --删除单条评论
    BEGIN
       DELETE FROM [EL_Comment] WHERE [ChannelID]=@ChannelID AND [CommentID]=@CommentID
    END
    ELSE IF @AdminType=2 --删除信息下的所有评论
    BEGIN
       DELETE FROM [EL_Comment] WHERE [ChannelID]=@ChannelID AND [InfoID]=@InfoID
    END
    ELSE IF @AdminType=3 --删除分类下的所有评论
    BEGIN
       DELETE FROM [EL_Comment] WHERE [ChannelID]=@ChannelID AND [ClassID]=@ClassID
    END
    ELSE IF @AdminType=4 --批量删除
    BEGIN
       DELETE FROM [EL_Comment] WHERE [ChannelID]=@ChannelID AND [CommentID] IN(SELECT CONVERT(int, [TempField]) FROM EL_FC_Split(@ArrCommentID, ','))
    END
    ELSE IF @AdminType=5 --修改评论内容
    BEGIN
       UPDATE [EL_Comment] SET [Point]=@Point,[Content]=@Content WHERE [ChannelID]=@ChannelID AND [CommentID]=@CommentID
    ENDELSE IF @AdminType=6 --回复评论
    BEGIN
       DECLARE @ChannelModule int
       SELECT @ChannelModule=[ChannelModule] FROM [EL_Channel] WHERE [ChannelID]=@ChannelID   SET @ClassID=
       CASE @ChannelModule
       WHEN 1 THEN (SELECT [ClassID] FROM [EL_Article] WHERE [ChannelID]=@ChannelID AND [ArticleID]=@InfoID)
       WHEN 2 THEN 0
       WHEN 3 THEN (SELECT [ClassID] FROM [EL_Product] WHERE [ChannelID]=@ChannelID AND [ProductID]=@InfoID)
       WHEN 5 THEN 0
       WHEN 6 THEN (SELECT [ClassID] FROM [EL_Photo]   WHERE [ChannelID]=@ChannelID AND [PhotoID]=@InfoID)
       WHEN 7 THEN (SELECT [ClassID] FROM [EL_Shop]    WHERE [ChannelID]=@ChannelID AND [ProductID]=@InfoID)
       WHEN 8 THEN (SELECT [ClassID] FROM [EL_Car]     WHERE [ChannelID]=@ChannelID AND [CarID]=@InfoID)
       ELSE 0
       END      INSERT INTO [EL_Comment]([ChannelID],[ClassID],[InfoID],[UserName],[UserType],[QQ],[MSN],[Email],[Content],[IpAddress])
             VALUES(@ChannelID, @ClassID, @InfoID, @UserName, 0, '', '', '', @Content, @IpAddress)
    END
    ELSE IF @AdminType=7 --删除频道所有评论
    BEGIN
       DELETE FROM [EL_Comment] WHERE [ChannelID]=@ChannelID
    ENDELSE IF @AdminType=8
    BEGINIF @ChannelID<>0
       DELETE FROM [EL_Comment] WHERE [ChannelID]=@ChannelID AND [UpdateTime]<CONVERT(datetime, @ArrCommentID)
    ELSE
       DELETE FROM [EL_Comment] WHERE [UpdateTime]<CONVERT(datetime, @ArrCommentID)ENDELSE IF @AdminType=9
    BEGINIF @ChannelID<>0
       DELETE FROM [EL_Comment] WHERE [ChannelID]=@ChannelID AND [UpdateTime]<DATEADD(day, 0-@CommentID, GETDATE())
    ELSE
       DELETE FROM [EL_Comment] WHERE [UpdateTime]<DATEADD(day, 0-@CommentID, GETDATE())ENDELSE IF @AdminType=10
    BEGINIF @ChannelID<>0
    BEGIN
       IF @CommentID=1
          DELETE FROM [EL_Comment] WHERE [ChannelID]=@ChannelID AND [UserName]=@UserName 
       ELSE
          DELETE FROM [EL_Comment] WHERE [ChannelID]=@ChannelID AND [UserName]=@UserName AND [UserType]=1
    END
    ELSE
    BEGIN
       IF @CommentID=1
          DELETE FROM [EL_Comment] WHERE [UserName]=@UserName 
       ELSE
          DELETE FROM [EL_Comment] WHERE [UserName]=@UserName AND [UserType]=1
    ENDENDELSE IF @AdminType=11
    BEGINIF @ChannelID<>0
       DELETE FROM [EL_Comment] WHERE [ChannelID]=@ChannelID AND [Content] LIKE '%'+@ArrCommentID+'%'
    ELSE
       DELETE FROM [EL_Comment] WHERE [Content] LIKE '%'+@ArrCommentID+'%'ENDEND
      

  2.   

    你刚才发帖的那个也给你解密了下CREATE PROCEDURE [dbo].EL_SP_KeyLink@UpdateType int,
    @KeyID int,
    @KeyType int,
    @KeyLevel int,
    @KeyText nvarchar(255),
    @ReplaceText nvarchar(255),
    @ArrKeyID nvarchar(4000)WITH ENCRYPTION
    AS
    SET NOCOUNT ONBEGIN  IF @UpdateType=0
      BEGIN
       BEGIN TRANSACTION
       INSERT INTO [EL_KeyLink]([KeyType],[KeyLevel],[KeyText],[ReplaceText])
            VALUES(@KeyType, @KeyLevel, @KeyText, @ReplaceText)
       SELECT @KeyID=MAX([KeyID]) FROM [EL_KeyLink]   IF @@ERROR=0
          COMMIT TRANSACTION
       ELSE
          ROLLBACK TRANSACTION  END
      ELSE IF @UpdateType=1
      BEGIN   IF NOT EXISTS(SELECT [KeyID] FROM [EL_KeyLink] WHERE [KeyID]=@KeyID)
          RETURN 40
       UPDATE [EL_KeyLink] SET [KeyLevel]=@KeyLevel,[KeyText]=@KeyText,[ReplaceText]=@ReplaceText WHERE [KeyID]=@KeyID AND [KeyType]=@KeyType  END
      ELSE IF @UpdateType=2
      BEGIN
       EXEC('DELETE FROM [EL_KeyLink] WHERE [KeyID] IN('+ @ArrKeyID +')')  ENDRETURN
    END