加载中...

【Root-Me】 Shift cipher



水题,题目就是提示,位移加密(其实就是凯撒加密)。

点击挑战后下载了一个 ch7.bin 文件,文件内容是乱码。

考虑到凯撒加密的特性,尝试对文件内容的每个字符的 ASCII 码做偏移,偏移范围从 -256 枚举到 +256

简单写了一段 python 代码实现,于是在偏移值为 -10 的时候,还原出了明文,得到密码,完成挑战。

代码比较简单,贴在下面:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

# ch7.bin 的文件内容
ch7_bin = 'L|k€y+*^*zo‚*€kvsno|*k€om*vo*zk}}*cyvksr'

for offset in range(1, 256) :

    # ASCII码负向偏移
    try :
        pwd = ''
        for c in ch7_bin : 
            cn = chr(ord(c) - offset)
            pwd += cn
        print('offset=-%i, pwd=%s' % (offset, pwd))

    except Exception :
        pass # ascii overflow


    # ASCII码正向偏移
    try :
        pwd = ''
        for c in ch7_bin : 
            cp = chr(ord(c) + offset)
            pwd += cp
        print('offset=+%i, pwd=%s' % (offset, pwd))

    except Exception :
        pass # ascii overflow


答案下载

flag 下载后的 flagzip 的文件需要手动更改后缀为 *.zip,然后解压即可(为了避免直接刷答案)


文章作者: EXP
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 EXP !
  目录