山石-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}

相关推荐
终焉暴龙王7 小时前
CTFHub web进阶 php Bypass disable_function通关攻略
开发语言·安全·web安全·php
qq_4309085715 小时前
网络安全-机遇与挑战
安全
安 当 加 密21 小时前
守护汽车“空中升级“:基于HSM/KMS的安全OTA固件签名与验证方案
安全·汽车
大咖分享课1 天前
多租户系统中的安全隔离机制设计
人工智能·安全·安全隔离
荔枝吻1 天前
软件异常读写威胁硬盘安全:从过往案例到防护之道
安全·硬盘
小马爱打代码1 天前
Spring Boot 接口安全设计:接口限流、防重放攻击、签名验证
网络·spring boot·安全
北极光SD-WAN组网1 天前
工业互联网时代,如何通过混合SD-WAN提升煤炭行业智能化网络安全
网络·安全·web安全
深圳安锐科技有限公司1 天前
基坑渗压数据不准?选对渗压计能实现自动化精准监测吗?
安全·自动化·自动化监测·大坝监测·渗压计
Arwen3031 天前
解密国密 SSL 证书:SM2、SM3、SM4 算法的协同安全效应
算法·安全·ssl
dingzd951 天前
通过 Web3 区块链安全评估,领先应对网络威胁
安全·web3·区块链·facebook·tiktok·instagram·clonbrowser