2012-12-19 41 views
6

每天我都會收到我有密碼的SDA文件。解密是通過運行文件並在彈出的程序窗口中手動輸入密碼來完成的。我想避免這個手動步驟,並將其轉化爲自動化過程的一個步驟。如何以編程方式解密PGP Self Decrypting Archive?

這將工作的方式如下: 只要我的守護程序檢測到新文件到達我的收件箱,我的程序就會下載,解密並保存它。我知道如何用代碼完成所有這些,除了解密部分。

,而不是運行.exe文件,並手動輸入密碼的,我想讀它的內容,並與密碼,解密其中包含的數據,它看起來像這樣:

4d5a 9000 0300 0000 0400 0000 ffff 0000 
b800 0000 0000 0000 4000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 f000 0000 
0e1f ba0e 00b4 09cd 21b8 014c cd21 5468 
...etc 

的我目前使用的語言是PHP,但看看任何語言的實現將有所幫助。

任何想法?

+0

你會發生什麼?你想讓你的密碼緩存一段時間嗎? –

+0

您在標題中說「編程」,那麼您是否期望編寫代碼來解決此問題? –

+0

@鄧肯瓊斯我編輯我的問題更清晰。 –

回答

1

PGP自解密檔案只是EXE存根+ PGP消息在這個文件裏面。您應該解析EXE頭文件,並找到這些數據的存儲位置,將其解壓縮,然後使用GnuPG或任何其他PGP庫進行解密。