网站建设中的英文,外贸网站开发多少钱,网站建设规划方案论文,海口制作手机网站下载得到3个文件 预期解法应该是根据图片写出脚本#xff0c;把混淆过的二维码恢复#xff0c;我发现照着password.png也能看出原本的二维码大概长啥样 手动修复得到一张二维码
扫码得到IXE1VDYmMjk,base64解码得到压缩包密码!q5T629 从password.png里面foremost分离出…下载得到3个文件 预期解法应该是根据图片写出脚本把混淆过的二维码恢复我发现照着password.png也能看出原本的二维码大概长啥样 手动修复得到一张二维码
扫码得到IXE1VDYmMjk,base64解码得到压缩包密码!q5T629 从password.png里面foremost分离出压缩包解压得到文本内容如下 目前知道这是背包加密,根据师傅的提示可以在博客给的c语言代码基础上稍加改动这里附上Python脚本
from gmpy2 import invertK 1074
S 43
inv invert(S, K) # 求模逆元# 背包密码解密
# 这个背包是最重的物件对应每字节8bit里的第1个bit依此类推
def unpack(num):A [175, 87, 44, 21, 11, 5, 3, 1]res for i in range(8):if num A[i]:# res 1 resres res 1num - A[i]else:# res 0 resres res 0return int(res, 2)C [1817, 3100, 2240, 868, 172, 1816, 2025, 50, 172, 2289, 1642, 2067, 1337, 1681, 655, 2588, 691, 2591, 1595, 1552, 2498, 1513, 609, 1075, 602, 1420, 2720, 1042, 947, 2160, 731]# 对密文直接进行背包解密
tmp []
for i in C:tmp [unpack(i * inv % K)]
# 由于使用了CBC模式解密结果要异或其上一位密文或初始向量
# 明文第1位不是flag所以从第2位开始直接异或上一位密文后8位即可
for i in range(1, len(tmp)):print(chr(tmp[i] ^ C[i-1] % 256), end )