diff --git a/dockerfiles/pdf-analysis/README b/dockerfiles/pdf-analysis/README new file mode 100644 index 0000000..551bff5 --- /dev/null +++ b/dockerfiles/pdf-analysis/README @@ -0,0 +1,11 @@ +README - pdfanalysis +Dieser Container enthält Tools um PDFs zu analysieren: + +pdfid.py - Schnelle Übersicht über PDF-Aufbau. +pdf-parser.py - Zerlegen und extrahieren von PDF-Elementen +peepdf.py - PDF - Analyse Framework mit Javascript Analyse +pdftk - Tool um das PDF zu "flatten" +convert - ImageMagick Tool zum convertieren + +Für Kommandobeispiele /opt/command_help lesen. +Der Nutzer innerhalb des Containers braucht Schreibrechte auf das gemountete Verzeichnis. diff --git a/dockerfiles/pdf-analysis/command_help b/dockerfiles/pdf-analysis/command_help new file mode 100644 index 0000000..51638a9 --- /dev/null +++ b/dockerfiles/pdf-analysis/command_help @@ -0,0 +1,54 @@ +## pdfid.py +#Überblick über Inhalt eines PDFs +pdfid.py + +#Um einen ganzen Ordner mit PDFs zu analysieren +pdfid.py -s + +#Verarbeitung erzwingen auch wenn Datei defekt +pdfid.py -f + + +## peepdf.py +#Überblick ähnlich pdfid.py +peepdf.py + +#Verarbeitung erzwingen auch wenn Datei defekt ist z.B: bei der Fehlermeldung: +# Error: An error has occurred while parsing an indirect object!! +peepdf.py -f + +#starten der interactiven peepdf-shell (empfohlen) +peepdf.py -f -i + +# in der shell zeigt die Eingabe von "help" weitere Informationen an + + +## pdf-parser.py +#Überblick über Struktur des Dokuments +pdf-parser.py + +#Auswahl eines Elements +pdf-parser.py -o + +#Hashen der Elemente +pdf-parser.py -H +pdf-parser.py -H -o + +#Exportieren eines Objects (z.B. word.doc) +pdf-parser.py -d -f -o + + +## pdftk +#Dateien extrahieren +pdftk unpack_files + +#PDF - Plätten (javascript und andere objekte entfernen) +#Dieser Prozess ist anschließend zu überprüfen +pdftk cat output flattened_ + +#PDF - reparieren +pdftk output fixed + +##convert +#PDF - in TIFF Plätten +convert .tiff diff --git a/dockerfiles/peepdf.dockerfile b/dockerfiles/pdf-analysis/pdf-analysis.dockerfile similarity index 85% rename from dockerfiles/peepdf.dockerfile rename to dockerfiles/pdf-analysis/pdf-analysis.dockerfile index 54dc58f..639762f 100644 --- a/dockerfiles/peepdf.dockerfile +++ b/dockerfiles/pdf-analysis/pdf-analysis.dockerfile @@ -25,13 +25,18 @@ RUN git clone https://github.com/buffer/pyv8.git ; cd pyv8 ; python setup.py bui RUN git clone https://github.com/buffer/libemu.git ; cd libemu ; autoreconf -v -i && ./configure --prefix=/opt/libemu && make install && cd .. && rm -rf libemu2 RUN pip install pylibemu +RUN apt-get update && apt-get install -y exiftool ; rm -rf /var/lib/apt/lists/* RUN chmod +x /opt/didierstevenssuite/*py RUN ln -s /opt/peepdf/peepdf.py /bin/peepdf.py RUN chmod +x /bin/peepdf.py RUN chmod 777 -R /opt/peepdf/ +RUN sed -i '/PDF/s/"none"/"read|write"/' /etc/ImageMagick-6/policy.xml ENV PATH="/opt/didierstevenssuite/:${PATH}" +ADD README /opt/README +ADD command_help /opt/command_help +RUN echo 'cat /opt/README' >> /etc/bash.bashrc RUN groupadd -g 1000 -r user && \ useradd -u 1000 -r -g user -d /home/user -s /sbin/nologin -c "Nonroot User" user && \