Character encoding 脚本,用于提取带有控制字符(0-31范围)的完整ASCII格式的zip密码 假设我的foo.zip使用包含扩展和控制ASCII的密码加密 其十六进制格式的密码类似于9E6A01D15774FF 我通过编辑password.txt的十六进制来匹配我的密码,因此当使用文本编辑器打开时,它将如下所示:�J�ñWtÿ 我没有编程技能(!!!)

Character encoding 脚本,用于提取带有控制字符(0-31范围)的完整ASCII格式的zip密码 假设我的foo.zip使用包含扩展和控制ASCII的密码加密 其十六进制格式的密码类似于9E6A01D15774FF 我通过编辑password.txt的十六进制来匹配我的密码,因此当使用文本编辑器打开时,它将如下所示:�J�ñWtÿ 我没有编程技能(!!!),character-encoding,passwords,unzip,non-ascii-characters,control-characters,Character Encoding,Passwords,Unzip,Non Ascii Characters,Control Characters,问题是:我没有办法告诉zip提取器读取二进制密码。我甚至尝试创建一个简单的脚本,并在密码部分编辑它的十六进制,所以看起来像这样 #!/bin/bash unzip -P �j�ÑWtÿ /home/john/foo.zip 但是stdin总是试图表示不可打印的字符,并且无法传递正确的二进制密码来解压 我的问题是:你能告诉我一种方法来编写一个简单的脚本(javascript?),它可以提取zip文件并支持完整的ascii密码吗?(请记住,我没有任何线索,我的知识非常基础) 我知道我可能提出了一个

问题是:我没有办法告诉zip提取器读取二进制密码。我甚至尝试创建一个简单的脚本,并在密码部分编辑它的十六进制,所以看起来像这样

#!/bin/bash
unzip -P �j�ÑWtÿ /home/john/foo.zip
但是stdin总是试图表示不可打印的字符,并且无法传递正确的二进制密码来解压

我的问题是:你能告诉我一种方法来编写一个简单的脚本(javascript?),它可以提取zip文件并支持完整的ascii密码吗?(请记住,我没有任何线索,我的知识非常基础)


我知道我可能提出了一个愚蠢的问题,因为没有人会想在密码中包含控制字符,但我花了一个星期的时间试图解决这个问题。我非常感谢你的帮助

您可以在shell中对字符串进行十六进制编码,如so
echo$'\x74\x65\x73\x74'
outputs
test
谢谢Alex,但我已经尝试了echo和printf。您的解决方案适用于ASCII>31范围,问题在于不可打印字符。stdin无法将正确的二进制输入作为密码传递