只要知道其中一条可以反向推理就可以了  比如
char(0x47   ^   ascii(SUBSTRING(@STR,9,1)))

解决方案 »

  1.   

    g U K0 &
    根据上边的 这个的原文是什么?
    真的没人知道//
      

  2.   

    回复框不好用...declare @STR varchar(10)
    select @STR = 'abcdefghij'
    SET   @STR= 
    char(0x47   ^   ascii(SUBSTRING(@STR,9,1)))+     --1 
    char(0x4D   ^   ascii(SUBSTRING(@STR,7,1)))+     --2 
    char(0x53   ^   ascii(SUBSTRING(@STR,5,1)))+     --3 
    char(0x75   ^   ascii(SUBSTRING(@STR,8,1)))+     --4 
    char(0x53   ^   ascii(SUBSTRING(@STR,3,1)))+     --5 
    char(0x6b   ^   ascii(SUBSTRING(@STR,10,1)))+     --6 
    char(0x4D   ^   ascii(SUBSTRING(@STR,2,1)))+     --7 
    char(0x75   ^   ascii(SUBSTRING(@STR,4,1)))+     --8 
    char(0x47   ^   ascii(SUBSTRING(@STR,1,1)))+     --9 
    char(0x6b   ^   ascii(SUBSTRING(@STR,6,1))) select @STR 
    select @STR=
    char(0x47   ^   ascii(SUBSTRING(@STR,9,1)))+     --1 
    char(0x4D   ^   ascii(SUBSTRING(@STR,7,1)))+     --2 
    char(0x53   ^   ascii(SUBSTRING(@STR,5,1)))+     --3 
    char(0x75   ^   ascii(SUBSTRING(@STR,8,1)))+     --4 
    char(0x53   ^   ascii(SUBSTRING(@STR,3,1)))+     --5 
    char(0x6b   ^   ascii(SUBSTRING(@STR,10,1)))+     --6 
    char(0x4D   ^   ascii(SUBSTRING(@STR,2,1)))+     --7 
    char(0x75   ^   ascii(SUBSTRING(@STR,4,1)))+     --8 
    char(0x47   ^   ascii(SUBSTRING(@STR,1,1)))+     --9 
    char(0x6b   ^   ascii(SUBSTRING(@STR,6,1))) select @STR            
    ---------- 
    .*60/&
    (所影响的行数为 1 行)           
    ---------- 
    abcdefghij(所影响的行数为 1 行)
      

  3.   

    没有这么多巧合的
    主要还是分析一下加密过程吧,
    加密的时候是将第9个和第1个字符对调,且都是和0X47位运算
    第2个和第7个字符对调,和0X4D位运算, 后面以此类推
    两次位运算后就得到原文件了SET   @STR= 
    char(0x47   ^   ascii(SUBSTRING(@STR,9,1)))+     --1 
    char(0x4D   ^   ascii(SUBSTRING(@STR,7,1)))+     --2 
    char(0x53   ^   ascii(SUBSTRING(@STR,5,1)))+     --3 
    char(0x75   ^   ascii(SUBSTRING(@STR,8,1)))+     --4 
    char(0x53   ^   ascii(SUBSTRING(@STR,3,1)))+     --5 
    char(0x6b   ^   ascii(SUBSTRING(@STR,10,1)))+     --6 
    char(0x4D   ^   ascii(SUBSTRING(@STR,2,1)))+     --7 
    char(0x75   ^   ascii(SUBSTRING(@STR,4,1)))+     --8 
    char(0x47   ^   ascii(SUBSTRING(@STR,1,1)))+     --9 
    char(0x6b   ^   ascii(SUBSTRING(@STR,6,1)))