2012-12-19 27 views
6

Codziennie otrzymuję pliki SDA, dla których mam hasło. Odszyfrowywanie odbywa się poprzez uruchomienie pliku i ręczne wpisanie hasła w oknie programu, które się pojawi. Chciałbym uniknąć tego ręcznego kroku i przekształcić go w krok zautomatyzowany.Jak programowo odszyfrować archiwum samoszyfrowania PGP?

Sposób, w jaki to działa, jest następujący: Gdy tylko mój demon wykryje, że nowy plik dotarł do mojej skrzynki odbiorczej, mój program pobierze, odszyfruje i zapisze. Wiem, jak zrobić to wszystko za pomocą kodu, z wyjątkiem części odszyfrowywania.

Zamiast uruchamiając plik .exe, a ręcznie wpisując hasło, chcę odczytać jego zawartość, a wraz z hasłem, deszyfrowanie danych w nim zawartych, które wygląda następująco:

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 

język, którego aktualnie używam to PHP, ale przyjrzenie się implementacji w dowolnym języku pomoże.

Wszelkie pomysły?

+0

Co byś raczej się stało? Czy chcesz, aby twoje hasło było buforowane przez pewien okres czasu? –

+0

Mówisz "programowo" w tytule, więc czy spodziewasz się napisać kod, aby naprawić to zachowanie? –

+0

@Duncan Jones Zmieniłem moje pytanie, aby było jaśniejsze. –

Odpowiedz

1

Archiwa samo rozszyfrowujące PGP to tylko plik pośredniczący EXE i komunikat PGP wewnątrz tego pliku. Powinieneś parsować nagłówki EXE i znaleźć gdzie te dane są przechowywane, wyodrębnić je i odszyfrować używając GnuPG lub dowolnej innej biblioteki PGP.