【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 !
 上一篇
【Root-Me】 PE DotNet - 0 protection 【Root-Me】 PE DotNet - 0 protection
来源:Root-Me 题型:Cracking 题目:PE DotNet - 0 protection 分数:10 Points 水题。 开启挑战后,下载了一个 ch22.exe 文件,运行后是一个 UI 程序。 随意输入一个 pass
2019-04-27
下一篇 
【Root-Me】 Javascript - Native code 【Root-Me】 Javascript - Native code
来源:Root-Me 题型:Web-Client 题目:Javascript - Native code 分数:15 Points 水题,熟悉编码的样子就很容易做。 打开页面弹出了一个交互框,然后强制提交了,再报错 fail 。 打开
2019-04-16
  目录