zoukankan      html  css  js  c++  java
  • 实验吧之损坏的U盘

    1、首先用binwalk查看里面的内容,发现里面有Zip文件。

    要想把Zip文件弄出来有两种方法:

    一是用虚拟机里面的foremost+文件名

    然而,在终端中已经见到二零password文件夹,然而我却不知道foremost分离出来的文件放在哪个位置,真的是望眼欲穿呀。没办法,只好另谋出路。

    二是用winhex里面的“工具-磁盘工具-按文件类型恢复(本题是Zip)”,这个办法不错,得到了两个压缩包,一个有密码一个没有密码:

    里面提到的checksum,我也不知道是啥,然后也不知道如何计算checksum的值,好像是每个人计算的方式都不一样,蛤?而且用的好像是C#写的,我不会,就直接用百度找来的代码计算了checksum的值,不过python也能运行出来:

    # -*- coding:utf8 -*-  
      
    file = open('O:\ctf\Security miscellaneous\2019-4-30\损坏的U盘镜像\CTF.hdd', 'rb')  
    content = file.read()  
    checksum = 0  
    for i in range(0, 11*512):  
        if i == 106 or i == 107 or i == 112:  
            continue  
        checksum = (((checksum << 31) & int('0xFFFFFFFF', 16)) | (checksum >> 1))+content[i]  
    print(hex(checksum))  
    

     

    听说直接就这样按照刚才文件里面的提示MD5加密,并不能得到第一个压缩包的解压密码,得用94FAC681进行MD5加密才行(具体为啥要大写我也母鸡),加密后得到密码:

    C9737665D39274F6C5A256B943748068,解压第一个压缩包,得到key.txt。

  • 相关阅读:
    Qt判断文件夹是否存在并新建文件夹
    QFileDialog的使用
    C++11 std::chrono库详解
    disconnected no supported authentication methods available(server sent: publickey)
    connect函数的第5参数Qt::ConnectionType
    在C++ 中检查一个文件是否存在的几种方法
    win10打开便签
    1024. Palindromic Number (25)
    1023. Have Fun with Numbers (20)
    1021. Deepest Root (25)
  • 原文地址:https://www.cnblogs.com/BASE64/p/10798133.html
Copyright © 2011-2022 走看看