2301_80063666 2023-10-28 17:42 采纳率: 8.3%
浏览 4

ctf 逆向 代码反演失败

ctf逆向 反编译之后C# 代码

img


需要 密匙和初始化向量IV 从资源文件得到 原始密匙为

img


进行异或运算得到加密后密匙520XGAME
编写如下代码解密

from base64 import b64decode  
from Crypto.Cipher import DES  
from Crypto.Util.Padding import unpad

def decrypt(ciphertext):  
    # base64 解码  
    ciphertext = b64decode(ciphertext)

    # 解密 DES  
    cipher = DES.new(key, DES.MODE_CBC, iv)  
    plaintext = unpad(cipher.decrypt(ciphertext), DES.block_size)

    return plaintext.decode('utf-8')

key = '520XGAME'
iv = "STV>!'+#"

ciphertext = "s7/e+JnJbGEdE9j2g3XHxgym+G6Fu/PjJuW80NeMKgemdqaWG9KVM8Tfcc0eRfaA"

print(decrypt(ciphertext))  


但报错,应该如何解决得到应输入的值

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-28 21:22
    关注

    【相关推荐】



    • 这篇博客: 【学习栈溢出攻击】给可执行程序传入不可见字符作为输入中的 在 CTF 中的用法 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      在 CTF 中,传入不可见字符是这样的:

      • python -c "print 'A'*4 + b'\xef\xbe' + 'B'*4 + b'\x09\x82' +'C'*4" | nc server_addr port

      • python3 -c "import sys;sys.stdout.buffer.write(b'A'*4 + b'\xef\xbe' + b'B'*4 + b'\x09\x82' +b'C'*4)" | nc server_addr port


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 10月28日