【问题标题】:Execute encrypted script [closed]执行加密脚本[关闭]
【发布时间】:2012-10-15 20:05:09
【问题描述】:

我有一个 python 脚本,可以读取解密 base64 加密字符串,我正在尝试拥有它,以便在解密字符串时执行其内容。

def crypexec(jargon):
#push base64 through decryptor
 decipher = base64.b64decode(jargon)
#execute instructions in the encoded string
 exec decipher

ferret= unicode("""DQpzZXJ2ZXIgPSBzb2NrZXQuc29ja2V0KHC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJF..

然后我尝试用

回调它
crypexec(ferret)

不工作

This 看起来像未加密的雪貂。当然我在运行之前删除了加密脚本的导入部分,仍然无法理解为什么它不起作用。

【问题讨论】:

  • Base64 不是加密,是编码。
  • base64 用于加密,就像湿厕纸用于淋浴后擦干。
  • 请使用四个空格正确缩进您的 Python 代码。
  • 不起作用信息不足以帮助您。请问可以发回溯吗?
  • 您是否 100% 确定该字符串是正确的?最后没有遗漏几个字符?

标签: python encryption base64


【解决方案1】:

您的 base64 编码 字符串缺少填充...

您可以尝试在字符串末尾添加一个“=”(可能多达 3 个“=”符号)

如果这不起作用,您可能使用与标准“=”不同的填充符号对其进行了加密...。您是如何编码字符串的?

尝试使用 python 对其进行编码应该可以解决此问题

import base64
my_enc = base64.b64encode(""" 
def hello():
     print 'hello world!'
hello() """)

exec(base64.b64decode(my_enc))

【讨论】:

    猜你喜欢
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    相关资源
    最近更新 更多