[MRCTF2020]Hello_ misc

news/2024/11/9 16:45:17/

解压得一个png图片和一个flag.rar

图片拖入010editor

选择带zip头的这段蓝色全部复制,file-new-new Hex File,黏贴到新文件,另存为为1.zip

要密码,线索中断(当然try to restore it.png,隐藏了zip压缩包,可以用binwalk 、foremost分离。)

再去看图片是否隐写

方法一使用StegSolve查看隐写

Release StegSolve 1.4 · Giotino/stegsolve · GitHub

上面是stegslove 1.4版本下载地址,支持图片拖放

方法二使用Zsteg查看隐写

使用zsteg it.png命令看到有zip和lsb隐写

分别使用

zsteg -e "extradata:0" > 2.zip      

zsteg it.png -E "b1,r,lsb,xy" > at.png
提取zip和png

图片转文字 - 图片转Excel表格 - PDF转Word - 白描网页版

!@#$%67*()-+

用这个密码解压flag.rar提示密码错误

去解压之前用010edittor从图片手工提取的zip分卷压缩文件成功,得到一个out.txt

这是啥,使用TTl解密,哪下面的博客用过的脚本解密

[SWPU2019]Network-CSDN博客

import binascii

binary_dict = {

    '63': '00',

    '127': '01',

    '191': '10',

    '255': '11'

}

with open('out.txt', 'r') as f:

    binary_str = ''.join(binary_dict.get(num.rstrip(), '') for num in f)

number = ''.join(chr(int(binary_str[i:i+8], 2)) for i in range(0, len(binary_str), 8))

print("Binary String:", binary_str)

print("Decoded Number:", number)


#  下面是要输出的文件的,没有用注释掉

#data = binascii.unhexlify(number)

#with open('pass1.txt', 'wb') as f2:

   # f2.write(data)

拿0ac1fe6b77be5dbe作为密码去解压flag.zip

解压发现是word,改为docx后缀,打开

改色看到内容

import base64

# 要解码的字符串

encoded_str = '''MTEwMTEwMTExMTExMTEwMDExMTEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMTEwMDAwMDAxMTExMTExMTExMDAxMTAx

MTEwMTEwMTEwMDAxMTAxMDExMTEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMTExMTExMTExMTExMTEwMTEwMDEx

MTEwMDAwMTAxMTEwMTExMDExMTEwMTExMTExMTAwMDExMTExMTExMTExMDAxMDAxMTAxMTEwMDAwMDExMTExMDAwMDExMTExMTEx

MTEwMTEwMTAwMDAxMTExMDExMTEwMTExMTExMDExMTAxMTExMTExMTEwMTEwMTEwMTAxMTExMTExMTAwMTEwMTExMTExMTExMTEx

MTEwMTEwMTAxMTExMTExMDExMTEwMTExMTAxMDExMTAxMTExMTExMTEwMTEwMTEwMTAxMTAxMTExMTAwMTEwMTExMTExMTExMTEx

MTEwMTEwMTAwMDAxMTAwMDAwMTEwMDAwMDAxMTAwMDExMTAwMDAwMTEwMTEwMTEwMTAxMTEwMDAwMDAxMTExMDAwMDExMTExMTEx'''

# 按行分割字符串

lines = encoded_str.split('\n')

# 逐行解码并打印

for line in lines:

    decoded_str = base64.b64decode(line).decode()

    decoded_str = decoded_str.replace('1', ' ')

    print(decoded_str)

或者把word里那几行base64拷贝出另存为3.txt,使用下面脚本

mport base64

with open('3.txt', 'r', encoding='utf-8') as file:

    for line in file:          

        line = line.encode('utf-8').decode('unicode_escape')

        line = base64.b64decode(line).decode('utf-8')        

        #print(line)      

        decoded_line = line.replace('1',' ').replace('0','o')          

        print( decoded_line)

       

       

He1Lo_mi5c~

flag{He1Lo_mi5c~}


http://www.ppmy.cn/news/1515208.html

相关文章

GraphQL:API开发的未来,重塑数据交互的艺术

标题:GraphQL:API开发的未来,重塑数据交互的艺术 在当今快速发展的Web应用世界中,API(应用程序编程接口)已成为前后端分离架构的核心。然而,传统的RESTful API存在诸多限制,如过度获…

java进阶学习路线

目录 前言Java 入门怎么学? 计算机基础学什么?怎么学? 数据结构和算法学什么?怎么学? 设计模式学什么?怎么学? Java 高手进阶学什么?怎么学? 基础框架(SSM&am…

【Leetcode 1805 】 字符串中不同整数的数目—— 双指针

给你一个字符串 word ,该字符串由数字和小写英文字母组成。 请你用空格替换每个不是数字的字符。例如,"a123bc34d8ef34" 将会变成 " 123 34 8 34" 。注意,剩下的这些整数为(相邻彼此至少有一个空格隔开&am…

STM32是基于ARM架构的,那么ARM究竟是什么呢?

一、什么是ARM 首先,ARM是一家英国公司,全称Advanced RISC Machines,高级精简指令集机器,RISC意味着是精简指令集的芯片。同时也有复杂指令集CSIC的芯片,如X86,常以Intel和AMD为主。 其次,之后…

【网络编程】第八章 传输层-udp(netstat+pidof+upd协议)

文章目录 一、linux常用网络命令netstatpidof 二、UPD协议协议格式报头udp 协议的特点udp缓冲区udp 使用注意事项 一、linux常用网络命令 netstat netstat netstat -l # 只列出listen状态服务 netstat -n # 将显示的信息用数字(id)代替 netstat -p # 显…

使用 Dify 和 AI 大模型理解视频内容:Qwen 2 VL 72B

接下来的几篇相关的文章,聊聊使用 Dify 和 AI 大模型理解视频内容。 本篇作为第一篇内容,以昨天出圈的“黑神话悟空制作人采访视频”为例,先来聊聊经常被国外厂商拿来对比的国产模型:千问系列,以及它的内测版。 写在…

【Python机器学习】NLP概述——自然语言智商

就像人类的智能一样,如果不考虑多个智能维度,单凭一个智商分数是无法轻易衡量NLP流水线的能力的。 衡量机器人系统能力的一种常见方法是:根据系统行为的复杂性和所需的人类监督成都这两个维度来衡量。但是对自然语言处理流水线而言&#xff…

LLama3本地部署安装

这篇教程将指导你如何在本机上安装 LLama3 客户端和可视化对话界面,我们会分为三部分:安装 LLama3 客户端、部署大模型和设置模型文件路径。 一、LLama3客户端安装 去 Ollama 官网下载 Ollama 客户端 Download Ollama on macOS 选择合适的操作系统平台…