午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    MSSQL存儲(chǔ)過程解秘過程全析
    來源:易賢網(wǎng) 閱讀:1070 次 日期:2014-11-03 10:09:28
    溫馨提示:易賢網(wǎng)小編為您整理了“MSSQL存儲(chǔ)過程解秘過程全析”,方便廣大網(wǎng)友查閱!

    因?yàn)檫@兩天在弄自己的一個(gè)問答程序www.sosoask.com ,結(jié)果發(fā)現(xiàn)開發(fā)人員把我的存儲(chǔ)過程加密了,郁悶,還好找到解決方法了,現(xiàn)在共享下:

    打開查詢分析器,定位到你所在的數(shù)據(jù)庫,執(zhí)行以下SQL語句:

    CREATE PROCEDURE sp_decrypt (@objectName varchar(50))

    AS

    begin

    begin transaction

    declare @objectname1 varchar(100)

    declare @sql1 nvarchar(4000),@sql2 nvarchar(4000),@sql3 nvarchar(4000),@sql4 nvarchar(4000),@sql5 nvarchar(4000),@sql6 nvarchar(4000),@sql7 nvarchar(4000),@sql8 nvarchar(4000),@sql9 nvarchar(4000),@sql10 nvarchar(4000)

    DECLARE @OrigSpText1 nvarchar(4000), @OrigSpText2 nvarchar(4000) , @OrigSpText3 nvarchar(4000), @resultsp nvarchar(4000)

    declare @i int , @t bigint

    declare @m int,@n int,@q int

    set @m=(SELECT max(colid) FROM syscomments WHERE id = object_id(@objectName))

    set @n=1

    --get encrypted data

    create table #temp(colid int,ctext varbinary(8000))

    insert #temp SELECT colid,ctext FROM syscomments WHERE id = object_id(@objectName)

    set @sql1='ALTER PROCEDURE '+ @objectName +' WITH ENCRYPTION AS '

    --set @sql1='ALTER PROCEDURE '+ @objectName +' WITH ENCRYPTION AS '

    set @q=len(@sql1)

    set @sql1=@sql1+REPLICATE('-',4000-@q)

    select @sql2=REPLICATE('-',4000),@sql3=REPLICATE('-',4000),@sql4=REPLICATE('-',4000),@sql5=REPLICATE('-',4000),@sql6=REPLICATE('-',4000),@sql7=REPLICATE('-',4000),@sql8=REPLICATE('-',4000),@sql9=REPLICATE('-',4000),@sql10=REPLICATE('-',4000)

    exec(@sql1+@sql2+@sql3+@sql4+@sql5+@sql6+@sql7+@sql8+@sql9+@sql10)

    while @n<=@m

    begin

    SET @OrigSpText1=(SELECT ctext FROM #temp WHERE colid=@n)

    set @objectname1=@objectname+'_t'

    SET @OrigSpText3=(SELECT ctext FROM syscomments WHERE id=object_id(@objectName) and colid=@n)

    if @n=1

    begin

    SET @OrigSpText2='CREATE PROCEDURE '+ @objectName +' WITH ENCRYPTION AS '--

    set @q=4000-len(@OrigSpText2)

    set @OrigSpText2=@OrigSpText2+REPLICATE('-',@q)

    end

    else

    begin

    SET @OrigSpText2=REPLICATE('-', 4000)

    end

    --start counter

    SET @i=1

    --fill temporary variable

    SET @resultsp = replicate(N'A', (datalength(@OrigSpText1) / 2))

    --loop

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

    BEGIN

    --reverse encryption (XOR original+bogus+bogus encrypted)

    SET @resultsp = stuff(@resultsp, @i, 1, NCHAR(UNICODE(substring(@OrigSpText1, @i, 1)) ^

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

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

    SET @i=@i+1

    END

    --drop original SP

    --EXECUTE ('drop PROCEDURE '+ @objectName)

    --remove encryption

    --preserve case

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

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

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

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

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

    --replace Stored procedure without enryption

    print @resultsp

    --execute( @resultsp)

    set @n=@n+1

    end

    drop table #temp

    rollback transaction

    end

    GO

    說明一下:其中的@objectName要全部換成你所要破解的存儲(chǔ)過程名稱(比如我的就換成:@www.***.com)。

    這樣你就在你的數(shù)據(jù)庫里新建了一個(gè)叫做sp_decrypt的存儲(chǔ)過程,

    現(xiàn)在在查詢分析器里面調(diào)用sp_decrypt來解密需要破解的存儲(chǔ)過程,語句如下:

    exec sp_decrypt ‘存儲(chǔ)過程名稱’

    具體的語句我來舉個(gè)例子:exec sp_decrypt ‘www.***.com’ (注意名稱有“單引號(hào)”)。

    這樣解密完成,直接拷貝出Sql腳本到你的服務(wù)器上恢復(fù)吧。

    更多信息請(qǐng)查看IT技術(shù)專欄

    更多信息請(qǐng)查看數(shù)據(jù)庫
    易賢網(wǎng)手機(jī)網(wǎng)站地址:MSSQL存儲(chǔ)過程解秘過程全析
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2025國考·省考課程試聽報(bào)名

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)