Spørsmål:
Åpent kildekode-GUI-verktøy for å dekomponere en PDF
Lizz
2013-04-03 08:09:07 UTC
view on stackexchange narkive permalink

Jeg har vært på utkikk etter et GUI-verktøy med åpen kildekode for å pakke ut PDF-filer på en automatisk måte på Windows-systemer. Jeg har brukt Didier Stevens verktøy med stor interesse en stund, men kan ikke gi mening om hvordan jeg bruker PDF-dekomponerende / analyseverktøy, selv etter å ha sett på noen av hans videoer . De ser ut til å kreve betydelig forståelse av den underliggende PDF-konstruksjonen, og muligens mye mer.

For SWF-filer er verktøyet SWFScan den typen jeg leter etter: du laster inn den aktuelle filen inn i verktøyet. Derfra kan du utforske lenker, skript og bilder. Den analyserer til og med kode og viser hvilke deler som kan ha sikkerhetsproblemer og hva problemet er for hver enkelt, og gir deretter en nettsidereferanse med mer informasjon.

Er det noen som vet om en god GUI for åpen kildekode for Windows som kan laste inn en PDF og ikke utføre den, men pakke ut alle skriptene, kompilert kode, tekst, lenker, bilder osv.? Ideelt sett vil det vise forholdet til hver, som når du klikker på et bestemt bilde, vil det fortelle deg hvilke skript som kjøres, hvilken URL det går til, og la deg se bildet alene.

PDF-filer er så vanlige, ved siden av SWF, at denne typen verktøy virker som om det allerede ville være vanlig. Jeg har kanskje oversett det / dem.

Didier Stevens verktøy er mye brukt, men du har rett, du trenger en forståelse av PDF-filformatet hvis du vil forstå det. Jeg har et (noe langt) [blogginnlegg] (http://www.amccormack.net/anatomy-of-a-pdf-document/) som går gjennom en PDF-fil linje for linje for å forklare det grunnleggende i strukturen, men ingen av dem bruker GUI-verktøy. Didier har også en [mal] (http://blog.didierstevens.com/programs/pdf-tools/) for [010 Editor] (http://www.sweetscape.com/010editor/). 010 har et sterkt rykte, og du kan prøve det gratis i 30 dager
@amccormack Flott kommentar, tagredigering og god skriving - jeg leser den nå. Interessant, det overbeviser meg om at verktøyet jeg leter etter * burde * eksistere - selv om det bare er kommersielt, som jeg betaler for hvis det var bra. Jeg pleide å tro at gode verktøy vanligvis er tekst / kommandolinjebasert, men tilfeller som dette får meg til å innse at et bilde noen ganger er verdt mer enn 1000 ord. Selv med større kompleksitet enn SWF-filer, er det fortsatt en struktur som kan ha nytte av et slikt verktøy.
Uvedlikeholdt siden 2006, men fortsatt et interessant verktøy: http://multivalent.sourceforge.net/
Også, https://github.com/qpdf/qpdf kan hjelpe, det kan konvertere pdf til et mer menneskelig lesbart format, på kildenivå.
Jeg har ikke lenger tilgang til @amccormack's blogginnlegg under lenken i kommentaren hans; Jeg finner den her, med en litt endret URL: https://amccormack.net/2012-01-22-anatomy-of-a-pdf-document.html Takk!
Fem svar:
Mick
2013-04-03 23:14:38 UTC
view on stackexchange narkive permalink

Sogetis Origami framework kommer med et GTK-basert GUI.

Hva er det?

origami er et Ruby-rammeverk designet for å analysere, analysere og smi PDF-dokumenter. Dette er IKKE et PDF-renderingsbibliotek. Det tar sikte på å tilby et skriptverktøy for å generere og analysere ondsinnede PDF-filer. I tillegg kan den brukes til å lage tilpassede PDF-filer på farten, eller til å injisere (ond) kode i allerede eksisterende dokumenter.

  • Opprett PDF-dokumenter fra bunnen av.
  • Analyser eksisterende dokumenter, modifiser dem og kompiler dem på nytt.
  • Utforsk dokumenter på objektnivå, gå dypt inn i dokumentstrukturen, komprimere PDF-objektstrømmer og desobusere navn og strenger.
  • Operasjoner på høyt nivå, for eksempel kryptering / dekryptering, signatur, filvedlegg ...
  • Et GTK-grensesnitt for raskt å bla i dokumentinnholdet.

enter image description here

Slik installerte jeg det på Windows 7-systemet:

  • Forsikre deg om at du har Ruby v1.9.3 installert for Windows http://rubyinstaller.org/downloads/
  • MERK: Dette kan fungere på nyere / eldre Ruby-versjoner, men jeg har bare testet på v1.9.3 på Windows 7. (Det fungerer med ruby ​​v1.8.7 på Linux-systemet mitt)
  • Deretter installerer du origami ved å åpne en ADMIN cmd ledetekst og kjører:

    gem install origami

  • Deretter må du installere ruby -gtk2 . Fra samme ADMIN cmd-ledetekst som tidligere, kjør:

    gem install gtk2

  • Installer deretter pdfwalker, siden den ble flyttet til en egen perle:

    perle installere pdfwalker

Til slutt, bare kjør pdfwalker fra en cmd-ledetekst.

Hvis dette ikke fungerer for deg, foreslår jeg at du prøver trinnene ovenfor fra Cygwin, hvor du i hovedsak kan følge instruksjonene for installasjon på * nix.

Hvis du installerer den på Ubuntu / Debian

Installer ruby ​​med følgende kommando:

apt install ruby-full

Etterpå installerer du origami som nevnt ovenfor:

gem install origami

Hvis du vil bruke GUI, vil du trenger sannsynligvis å installere libgtk2.0-dev og få rake-perlen installert for at du skal kunne installere gtk2:

  apt install libgtk2.0-devgem install rakekem install gtk2  

Siden pdfwalker også trenger libcanberra, er det lurt å installere det nå:

apt install libcanberra-gtk-module

Etterpå installer pdfwalker, siden den ble flyttet til en egen perle:

gem installer pdfwalker

Og den skal kjøre fra kommandolinjen som beskrevet ovenfor.

Dette ville være bra, men jeg ser ikke ut til å få GUI 'pdfwalker' installert / kjørt. Ser jeg på websiden, ser jeg ikke Windows-støtte. Kan du peke meg på hvordan jeg kan få denne appens GUI til å kjøre på Windows?
Jeg oppdaterte svaret mitt med trinn for å installere på Windows. Jeg har den på Windows 7-systemet mitt nå.
Oppdatering for Ruby 2.2., Gtk2-2.2.5: Du trenger mange Cygwin-pakker for å få dette til å fungere. Foruten gcc and make, er ikke listen over biblioteker åpenbar og innebærer å kjøre `gem install origami 'og [http://superuser.com/questions/923190/gem-installation-failling-with-the-compiler-failed-to- generere-en-kjørbar-fi] (lese mkmf.log) for å se hvilke biblioteker den mislykkes på. Det krever også installering av en X-server, start den, `eksport DISPLAY =: 0.0` og til og med får jeg:` /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:54:in `require ': superklassefellestilling Dato (TypeError) `
Denis Laskov
2013-04-03 12:23:08 UTC
view on stackexchange narkive permalink

For å trekke ut skadelig innhold for det meste, som skript og utnyttelser, kan du se på elektroniske verktøy:

Wepawet - online verktøysett for analyse av js \ pdf \ flash-filer.

Jsunpack - online verktøykasse for analyse av filer, som kan inneholde pakket \ kodet JavaScript-kode, som PDF \ HTML \ JS. jobber også med .pcap-filer

I tillegg - offline verktøy for linux (vel, ikke GUI, men godt verktøy) for å trekke ut skallkoder og skjulte felt:

Pdfextract - Et offline kommandolinjeverktøy og bibliotek som kan trekke ut forskjellige tekstområder i en PDF.

broadway
2013-04-03 12:21:09 UTC
view on stackexchange narkive permalink

Kanskje PdfStreamDumper er nær nok det du vil, men du trenger fortsatt litt kunnskap om PDF for å bruke den effektivt.

Legg til en kort beskrivelse om lenken og / eller den aktuelle saken. Koblingsbesvarelser anses ikke som svar.
jduck
2013-04-04 00:37:08 UTC
view on stackexchange narkive permalink

Jeg anbefaler Cerbero Profiler!

Cerbero Profiler er et verktøy primært designet for malware og rettsmedisinsk analyse. Den støtter et stort antall filformater (listet opp nedenfor) som den utfører analyse på og lar brukeren inspisere deres interne layout. Profiler brukes ofte til å identifisere 0-dagers trusler og personlig informasjon i filene. Gitt prosjektets omfang, har det imidlertid mange andre bruksområder, og vi oppfordrer deg til å besøke bloggen vår for å se profilen i aksjon.

Det kan også være lurt å sjekke ut mitt open source file-dissect tool. Jeg skrev en PDF-parser for den, men har ikke begått den ennå. Beklager, jeg vet at det ikke hjelper så mye. Jeg vil til slutt skyve det opp skjønt.

tibar
2017-11-16 20:36:00 UTC
view on stackexchange narkive permalink

Selv om det ikke er noe GUI, tror jeg det er verdt å nevne kommandolinjeverktøy som vil hjelpe deg med på en automatisk måte del av spørsmålet ditt. Jeg har personlig brukt mupdf tilknyttet kommandolinjeverktøy: mutool.

For eksempel å jobbe med følgende PDF-fil, her er hva du ville gjort for å trekke ut den innkapslede JPX-strømmen:

  $ mutool info Bug691816.pdf Bug691816.pdf: PDF-1.5Info-objekt (49 0 R ): << / ModDate (D: 20101122114310-08'00 ') / CreationDate (D: 20101122114251-08'00') / Tittel (ID1561x.indd) / Creator (Adobe InDesign 1.5.2) / Producer (Adobe PDF Library 4.16 ) >> Sider: 1 Henter informasjon fra side 1-1 ... Mediekasser (1): 1 (54 0 R): [0 0 612 792] Bilder (1): 1 (54 0 R): [JPX] 300x161 8 bpc Idx ( 58 0 R)  

Så du trenger bare å:

  $ mutool show -be -o obj58.jp2 Bug691816.pdf 58  

Du kan bekrefte:

  $ file obj58.jp2obj58.jp2: JPEG 2000 Del 1 (JP2)  

Se dokumentasjon:


For PDF / A-3: EmbeddedFile (som i denne filen) kan du til og med kjøre:

  $ mutool portfolio ZUGFeRD_1p0_BASIC_Einfach.pdf x 0 ZUGFeRD- invoice.xml $ head ZUGFeRD-invoice.xml<? xml version = "1.0" koding = "UTF-8"? ><! - Nutzungsrechte ZUGFeRD Datenformat Versjon 1.0, 25.6.2014 Beispiel Versjon 29.09.2014 Zweck des Forums for elektronische Rechn eV („FeRD“) er ua die Schaffung und Spezifizierung eines offenen Datenformats für strukturierten elektronischen Datenaustausch auf der Grundlage offener and nicht diskriminierender, standardisierter Technologien („ZUGFeRD Datenformat“)  

Se dokumentasjon:

OP ber om GUI-verktøy
Faktisk savnet jeg det, dette kommer i konflikt med `på en automatisert måte` imho
i de fleste tilfeller ja, men trenger ikke


Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 3.0-lisensen den distribueres under.
Loading...