pimped pdfanalysis
This commit is contained in:
11
dockerfiles/pdf-analysis/README
Normal file
11
dockerfiles/pdf-analysis/README
Normal 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.
|
||||||
54
dockerfiles/pdf-analysis/command_help
Normal file
54
dockerfiles/pdf-analysis/command_help
Normal 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
|
||||||
@@ -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 && \
|
||||||
Reference in New Issue
Block a user