CISCN 2020 线上初赛 电脑被黑 WP

文件下载下来是ext linux磁盘文件,挂载上去后可以得到四个文件

在这里插入图片描述

在demo中使用IDA可以看到加密过程,核心代码为

在这里插入图片描述

推测为加密后将加密的flag删除了,我们只需要恢复加密后的flag并用逆向还原即可

故我们使用工具extundelete将数据恢复,命令为:

extundelete disk_dump --restore-all

可以恢复被删除的加密flag

在这里插入图片描述

之后编写脚本解密即可

if __name__ == "__main__":
    with open(r"C:\Users\shinelon\Downloads\disk_dump\flag.txt", "rb") as f:
        data = f.read()
    v4=34
    v5=0
    index=len(data)
    for j in range(len(data)):
        
        flag_maybe = (data[j] ^v4)-v5
        print(chr(flag_maybe), end='')
        v4 += 34
        v4 &=0xFF
        v5 = (v5 + 2) & 0xF

猜你喜欢

转载自blog.csdn.net/a709046532/article/details/108142399