Spørgsmål:
Open source GUI-værktøj til nedbrydning af en PDF
Lizz
2013-04-03 08:09:07 UTC
view on stackexchange narkive permalink

Jeg har ledt efter et open-source GUI-værktøj til at udtrække PDF'er på en automatisk måde på Windows-systemer. Jeg har brugt Didier Stevens værktøjer med stor interesse i et stykke tid, men kan ikke give mening om, hvordan man bruger hans PDF-nedbrydning / analyseværktøjer, selv efter at have set nogle af hans videoer . De ser ud til at kræve betydelig forståelse af den underliggende PDF-konstruktion og muligvis meget mere.

For SWF-filer er værktøjet SWFScan den slags, jeg leder efter: du indlæser fil i værktøjet. Derfra kan du udforske links, scripts og billeder. Det analyserer endda automatisk kode og viser, hvilke dele der kan have sikkerhedsproblemer, og hvad problemet er for hver enkelt, giver derefter en websidehenvisning med mere information.

Er der nogen der kender en god open source GUI til Windows, der kan indlæse en PDF og ikke udføre den, men udpakke alle scripts, kompileret kode, tekst, links, billeder osv.? Ideelt set ville det vise forholdet mellem hver, som når du klikker på et bestemt billede, det fortæller dig, hvilke script (er) der køres, hvilken URL det går til, og giver dig mulighed for at se billedet alene.

PDF'er er så almindelige ved siden af ​​SWF, at denne form for værktøj ser ud til at være allerede almindelig. Jeg har måske overset det / dem.

Didier Stevens-værktøjer bruges i vid udstrækning, men du har ret, du har brug for en forståelse af PDF-filformatet, hvis du vil forstå det. Jeg har et (noget langt) [blogindlæg] (http://www.amccormack.net/anatomy-of-a-pdf-document/), der går gennem en PDF-fil linje for linje for at forklare det grundlæggende i strukturen, men ingen af ​​det bruger nogen GUI-værktøjer. Didier har også en [skabelon] (http://blog.didierstevens.com/programs/pdf-tools/) til [010 Editor] (http://www.sweetscape.com/010editor/). 010 har et stærkt ry, og du kan prøve det gratis i 30 dage
@amccormack Stor kommentar, tagredigering og god skrivning - jeg læser det nu. Interessant er det at overbevise mig om, at det værktøj, jeg leder efter *, skal eksistere - selvom det kun er kommercielt, hvilket jeg ville betale for, hvis det var godt. Jeg plejede at tænke, at store værktøjer normalt er tekst / kommandolinjebaserede, men tilfælde som dette får mig til at indse, at et billede undertiden er mere end 1.000 ord værd. Selv med større kompleksitet end SWF-filer er der stadig en struktur, der kan drage fordel af et sådant værktøj.
Ikke vedligeholdt siden 2006, men stadig et interessant værktøj: http://multivalent.sourceforge.net/
Https://github.com/qpdf/qpdf kan også hjælpe, det kan konvertere pdf'en til et mere menneskeligt læsbart format på kildeniveau.
Jeg kan ikke længere få adgang til @amccormack's blogindlæg under linket i hans kommentar; Jeg finder det her med en lidt ændret URL: https://amccormack.net/2012-01-22-anatomy-of-a-pdf-document.html Tak!
Fem svar:
Mick
2013-04-03 23:14:38 UTC
view on stackexchange narkive permalink

Sogetis Origami framework leveres med et GTK-baseret GUI.

Hvad er det?

origami er en Ruby-ramme designet til at analysere, analysere og smede PDF-dokumenter. Dette er IKKE et PDF-gengivelsesbibliotek. Det sigter mod at tilvejebringe et scriptværktøj til at generere og analysere ondsindede PDF-filer. Den kan også bruges til at oprette tilpassede PDF-filer on-the-fly eller til at indsprøjte (ond) kode i allerede eksisterende dokumenter.

  • Opret PDF-dokumenter fra bunden.
  • Parse eksisterende dokumenter, rediger dem og kompilér dem igen.
  • Udforsk dokumenter på objektniveau, gå dybt ind i dokumentstrukturen, komprimere PDF-objektstrømme og desobfusere navne og strenge.
  • Højt niveau-operationer, såsom kryptering / dekryptering, signatur, vedhæftede filer ...
  • En GTK-grænseflade til hurtigt at gennemse dokumentets indhold.

enter image description here

Sådan installerede jeg det på mit Windows 7-system:

  • Sørg for, at du har Ruby v1.9.3 installeret til Windows http://rubyinstaller.org/downloads/
  • BEMÆRK: Dette fungerer muligvis på nyere / ældre Ruby-versioner, men jeg har kun testet på v1.9.3 på Windows 7. (Det fungerer med ruby ​​v1.8.7 på mit Linux-system)
  • Installer derefter origami ved at åbne en ADMIN cmd prompt og kører:

    gem install origami

  • Derefter skal du installere ruby -gtk2 . Fra den samme ADMIN cmd-prompt som tidligere skal du køre:

    gem install gtk2

  • Installer derefter pdfwalker, da den blev flyttet til en separat perle:

    perleinstallation pdfwalker

Endelig skal du blot køre pdfwalker fra en cmd-prompt.

Hvis dette ikke virker for dig, vil jeg foreslå at prøve ovenstående trin fra Cygwin, hvor du i det væsentlige kan følge instruktionerne til installation på * nix.

Hvis du installerer det på Ubuntu / Debian

Installer rubin med følgende kommando:

apt install ruby-full

Bagefter skal du installere origami som angivet ovenfor:

gem install origami

Hvis du vil bruge GUI, vil du har sandsynligvis brug for at installere libgtk2.0-dev og få rake-perlen installeret, så du kan installere gtk2:

  apt install libgtk2.0-devgem install rakekem install gtk2  

Da pdfwalker også har brug for libcanberra, er det en god ide at installere det nu:

apt install libcanberra-gtk-module

Bagefter installer pdfwalker, da den blev flyttet til en separat perle:

perle installere pdfwalker

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

Dette ville være fantastisk, men jeg ser ikke ud til at få GUI 'pdfwalker' installeret / kørende. Ser jeg på websiden, ser jeg ikke Windows-support. Kan du pege på mig, hvordan jeg kan få denne apps GUI til at køre på Windows?
Jeg opdaterede mit svar med trin til installation på Windows. Jeg har det kørende på mit Windows 7-system nu.
Opdatering til Ruby 2.2., Gtk2-2.2.5: Du har brug for en hel masse Cygwin-pakker for at få dette til at fungere. Udover gcc og make er listen over biblioteker ikke indlysende og involverer kørsel af 'gem install origami' og [http://superuser.com/questions/923190/gem-installation-failling-with-the-compiler-failed-to- generere-en-eksekverbar-fi] (læsning af mkmf.log) for at se, hvilke biblioteker den fejler. Det kræver også installation af en X-server, start den, `eksport DISPLAY =: 0.0` og endda får jeg:` /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:54:in `kræver`: superklasses uoverensstemmelse til klasse Dato (TypeError) `
Denis Laskov
2013-04-03 12:23:08 UTC
view on stackexchange narkive permalink

For at udtrække skadeligt indhold hovedsagelig, som scripts og exploits, kan du se på onlineværktøjer:

Wepawet - online værktøjssæt til analyse af js \ pdf \ flash-filer.

Jsunpack - online værktøjssæt til analyse af filer, der kan indeholde pakket \ kodet JavaScript-kode, som PDF \ HTML \ JS. arbejde også med .pcap-filer

Derudover - offlineværktøj til linux (godt, ikke GUI, men godt værktøj) til at udtrække shellcodes og skjulte felter:

Pdfextract - Et offline kommandolinjeværktøj og bibliotek, der kan udtrække forskellige områder af tekst fra en PDF.

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

Måske er PdfStreamDumper tæt på det, du ønsker, men du har stadig brug for noget kendskab til PDF for at bruge det effektivt.

Tilføj venligst en kort beskrivelse af linket og / eller den relevante sag. Svar til kun link betragtes ikke som svar.
jduck
2013-04-04 00:37:08 UTC
view on stackexchange narkive permalink

Jeg kan varmt anbefale Cerbero Profiler!

Cerbero Profiler er et værktøj, der primært er designet til malware og retsmedicinsk analyse. Det understøtter et stort antal filformater (angivet nedenfor), som det udfører analyse på og lader brugeren inspicere deres interne layout. Profiler bruges ofte til at identificere 0-dages trusler og personlige oplysninger inde i filer. I betragtning af projektets omfang har det mange andre anvendelser, og vi opfordrer dig til at besøge vores blog for at se profilen i aktion.

Det kan også være en god idé at tjekke ud mit open source-fil-dissektionsværktøj. Jeg skrev en PDF-parser til den, men har ikke forpligtet den endnu. Undskyld, jeg ved, det hjælper ikke meget. Jeg vil dog til sidst skubbe det op.

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

Selvom der ikke er nogen GUI, mener jeg, at det er værd at nævne kommandolinjeværktøjer, der hjælper med på en automatisk måde del af dit spørgsmål. Jeg har personligt brugt det mupdf tilknyttede kommandolinjeværktøj: mutool.

For eksempel arbejder jeg på følgende PDF-fil, her er hvad du ville gøre for at udtrække den indkapslede JPX-strøm:

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

Så du skal bare:

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

Du kan kontrollere:

  $ -fil obj58.jp2obj58.jp2: JPEG 2000 del 1 (JP2)  

Se dokumentation:


For PDF / A-3: EmbeddedFile (som i denne fil) kan du endda køre:

  $ mutool portfolio ZUGFeRD_1p0_BASIC_Einfach.pdf x 0 ZUGFeRD- invoice.xml $ head ZUGFeRD-invoice.xml<? xml version = "1.0" encoding = "UTF-8"? ><! - Nutzungsrechte ZUGFeRD Dataformat Version 1.0, 25.6.2014 Beispiel Version 29.09.2014 Zweck des Forums for elektronisk R 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 dokumentation:

OP asks for GUI tool
Faktisk savnede jeg det, dette er i konflikt med 'på en automatiseret måde' imho
i de fleste tilfælde ja, men behøver ikke


Denne spørgsmål og svar blev automatisk oversat fra det engelske sprog.Det originale indhold er tilgængeligt på stackexchange, som vi takker for den cc by-sa 3.0-licens, den distribueres under.
Loading...