ymhld 发表于 2020-2-9 19:52

python 如何调用openssl 命令解开文档

大佬们不忙的来看一看,



https://www.lanzouj.com/i96vpxe
这是压缩的PDF 包和解出来的KEY,大佬帮着测试一下?


方式加密是aes-128-ecb

加密后的文件为1.PDF,怎么用openssl命令行解成2.pdf
openssl aes-128-ecb -d -in 1.pdf -out 2.pdf -k "!KU
Weu8CtEQlSaK%"
提示bad magic number


用:
openssl enc -aes-128-ecb -d -nosalt -nopad -in 1.pdf -out 2.pdf -K $(xxd -pu <<< "!KUWeu8CtEQlSaK%")


提示此时不应有 <<。

sdieedu 发表于 2020-2-9 20:01

电子工业出版社的书现在新加密是rsa 啊 亲

ymhld 发表于 2020-2-9 20:02

sdieedu 发表于 2020-2-9 20:01
电子工业出版社的书现在新加密是rsa 啊 亲

怎么能解开呢?

漁滒 发表于 2020-2-9 20:24

本帖最后由 aiai 于 2020-2-9 20:25 编辑

我首先用python测试了一下,可以正常解密

from Crypto.Cipher import AES
with open('ky.txt', 'rb') as f:
    key = f.read()
with open('1.pdf', 'rb') as f:
    pdf = f.read()
cryptor = AES.new(key=key, mode=AES.MODE_ECB)
with open('2.pdf', 'wb') as f:
    f.write(cryptor.decrypt(pdf))
如果要调用openssl的话我不太懂,但是应该要用16进制的KEY和IV
将ky.txt转换为16进制KEY=214B5557657538437445516C53614B25
    with open('ky.txt', 'rb') as f:
      key = f.read().hex().upper()
然后再用命令
openssl aes-128-ecb -d -K 214B5557657538437445516C53614B25 -iv 00000000000000000000000000000000 -nosalt -in 1.pdf -out 2.pdf
但是我没有测试过能不能解密成功

ymhld 发表于 2020-2-9 20:26

aiai 发表于 2020-2-9 20:24
我首先用python测试了一下,可以正常解密

from Crypto.Cipher import AES


我试试这个命令行,谢谢爱爱

ymhld 发表于 2020-2-9 20:30

aiai 发表于 2020-2-9 20:24
我首先用python测试了一下,可以正常解密

from Crypto.Cipher import AES


不过命令行只能头一页,下一页呢?加什么命令行参数?

漁滒 发表于 2020-2-9 20:35

ymhld 发表于 2020-2-9 20:30
不过命令行只能头一页,下一页呢?加什么命令行参数?

我也不太清楚,如果相同的KEY和IV解不出来,可以试试将IV递增1。还是不行的话可能是密钥不正确了

ymhld 发表于 2020-2-9 20:37

aiai 发表于 2020-2-9 20:35
我也不太清楚,如果相同的KEY和IV解不出来,可以试试将IV递增1。还是不行的话可能是密钥不正确了

收到,我再试试,多谢

pwp 发表于 2020-2-11 00:27

{:1_921:}大佬机智
页: [1]
查看完整版本: python 如何调用openssl 命令解开文档