pimped pdfanalysis

This commit is contained in:
tke
2019-01-24 16:59:50 +01:00
parent 47a3165013
commit 02817317e0
3 changed files with 70 additions and 0 deletions

View File

@@ -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.

View File

@@ -0,0 +1,54 @@
## pdfid.py
#Überblick über Inhalt eines PDFs
pdfid.py <pdf-file>
#Um einen ganzen Ordner mit PDFs zu analysieren
pdfid.py -s <dir>
#Verarbeitung erzwingen auch wenn Datei defekt
pdfid.py -f <pdf-file>
## peepdf.py
#Überblick ähnlich pdfid.py
peepdf.py <pdf-file>
#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 <pdf-file>
#starten der interactiven peepdf-shell (empfohlen)
peepdf.py -f -i <pdf-file>
# in der shell zeigt die Eingabe von "help" weitere Informationen an
## pdf-parser.py
#Überblick über Struktur des Dokuments
pdf-parser.py <pdf-file>
#Auswahl eines Elements
pdf-parser.py -o <obj-ID> <pdf-file>
#Hashen der Elemente
pdf-parser.py -H <pdf-file>
pdf-parser.py -H -o <obj-id> <pdf-file>
#Exportieren eines Objects (z.B. word.doc)
pdf-parser.py -d <extracted-filename> -f -o <obj-id> <pdf-file>
## pdftk
#Dateien extrahieren
pdftk <pdf-file> unpack_files
#PDF - Plätten (javascript und andere objekte entfernen)
#Dieser Prozess ist anschließend zu überprüfen
pdftk <pdf-file> cat output flattened_<original_filename>
#PDF - reparieren
pdftk <pdf-file> output fixed<original_filename>
##convert
#PDF - in TIFF Plätten
convert <pdf-file> <original_filename>.tiff

View File

@@ -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 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 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 chmod +x /opt/didierstevenssuite/*py
RUN ln -s /opt/peepdf/peepdf.py /bin/peepdf.py RUN ln -s /opt/peepdf/peepdf.py /bin/peepdf.py
RUN chmod +x /bin/peepdf.py RUN chmod +x /bin/peepdf.py
RUN chmod 777 -R /opt/peepdf/ RUN chmod 777 -R /opt/peepdf/
RUN sed -i '/PDF/s/"none"/"read|write"/' /etc/ImageMagick-6/policy.xml
ENV PATH="/opt/didierstevenssuite/:${PATH}" 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 && \ RUN groupadd -g 1000 -r user && \
useradd -u 1000 -r -g user -d /home/user -s /sbin/nologin -c "Nonroot User" user && \ useradd -u 1000 -r -g user -d /home/user -s /sbin/nologin -c "Nonroot User" user && \