山石-Ultrasonic-好久不见45

.exe.config

复制代码
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
</configuration>

这段配置文件的作用是:

  • 指定应用程序运行时依赖的 .NET Framework 版本为 .NET Framework 4.7.2

  • 确保应用程序在启动时加载正确的运行时环境。

  1. 检查是否有原始图像。

  2. 弹出一个保存文件对话框,让用户选择保存加密图像的位置。

  3. 将图像保存为PNG格式,然后对图像数据进行加密。

  4. 将加密后的图像数据保存到用户指定的文件路径。

  1. 遍历图像的每个字节。

  2. 对每个字节执行以下操作:

    • 减去1。

    • 将字节的高3位右移5位,低5位左移3位,然后将它们按位或。

    • 对结果取反(按位取反)。

  3. 返回加密后的字节数组。

逆向还原图片

复制代码
def decrypt_image_bytes(encrypted_bytes):

    decrypted_bytes = bytearray(len(encrypted_bytes))  # 创建与加密数据等长的字节数组

    for i, b in enumerate(encrypted_bytes):  # 遍历每个字节
        b = ~b & 0xFF  # 按位取反并确保结果为一个字节
        b = ((b & 0xF8) >> 3) | ((b & 0x07) << 5)  # 恢复高低位顺序
        b = (b + 1) & 0xFF  # 加1并确保结果为一个字节
        decrypted_bytes[i] = b  # 存入解密后的字节

    return bytes(decrypted_bytes)  # 返回解密后的字节数据


# 主程序:读取加密图像文件,解密并保存为新的图像文件
if __name__ == "__main__":
    # 读取加密图像文件
    encrypted_file_path = "enc.png"  # 加密图像文件路径
    decrypted_file_path = "dec.png"  # 解密后保存的文件路径

    try:
        with open(encrypted_file_path, "rb") as f:  # 以二进制模式读取文件
            encrypted_data = f.read()  # 读取加密数据

        # 调用解密函数
        decrypted_data = decrypt_image_bytes(encrypted_data)

        # 保存解密后的图像文件
        with open(decrypted_file_path, "wb") as f:  # 以二进制模式写入文件
            f.write(decrypted_data)

        print(f"解密成功!解密后的图像已保存为:{decrypted_file_path}")

    except FileNotFoundError:
        print(f"错误:文件 {encrypted_file_path} 未找到。")
    except Exception as e:
        print(f"解密过程中发生错误:{e}")

flagf62ead9d005bbf8fe4b7a5e9c2f56cc56}

相关推荐
用户9623779544811 小时前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机14 小时前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机14 小时前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户9623779544816 小时前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star16 小时前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户9623779544819 小时前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher2 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行5 天前
网络安全总结
安全·web安全
red1giant_star5 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全
ZeroNews内网穿透6 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全