
Repositório de análise da CVE-2019-13288: reúne o código-fonte e a documentação do analisador de PDF Xpdf para reproduzir, analisar e corrigir a lógica de análise vulnerável.
versão 4.02 25-set-2019
O software e a documentação do Xpdf são copyright 1996-2019 Glyph & Cog, LLC.
Email: [email protected] WWW: http://www.xpdfreader.com/
As estruturas de dados, os operadores e a especificação do PDF estão documentados na ISO 32000-2:2017.
O Xpdf é um visualizador de código aberto para arquivos no Formato de Documento Portátil (PDF). (Estes também são às vezes chamados de arquivos 'Acrobat', devido ao nome do software PDF da Adobe.) O projeto Xpdf também inclui um extrator de texto de PDF, conversor de PDF para PostScript e vários outros utilitários.
O visualizador Xpdf usa o kit de ferramentas GUI multiplataforma Qt. Os outros utilitários de linha de comando não requerem Qt.
O Xpdf é licenciado sob a GNU General Public License (GPL), versão 2 ou 3. Isso significa que você pode distribuir derivados do Xpdf sob qualquer uma das seguintes opções:
O pacote de código-fonte do Xpdf inclui o texto de ambas as versões da GPL: COPYING para GPL v2, COPYING3 para GPL v3.
Observe que o Xpdf NÃO é licenciado sob "qualquer versão posterior" da GPL, pois não tenho ideia de como essas versões serão.
Se você estiver redistribuindo cópias não modificadas do Xpdf (ou de qualquer uma das ferramentas Xpdf) em formato binário, você precisa incluir toda a documentação: README, páginas de manual (ou arquivos de ajuda), COPYING e COPYING3.
Se você quiser incorporar o código-fonte do Xpdf em outro programa (ou criar uma versão modificada do Xpdf), e estiver distribuindo esse programa, você tem duas opções: lançar seu programa sob a GPL (v2 e/ou v3), ou comprar uma licença comercial do código-fonte do Xpdf.
Se você estiver interessado em licenciamento comercial, consulte o site da Glyph & Cog:
http://www.glyphandcog.com/
O Xpdf usa o kit de ferramentas Qt e funciona em Linux, Windows e OS X -- e provavelmente em outros sistemas que tenham uma porta do Qt.
Os utilitários de linha de comando sem GUI (pdftops, pdftotext, pdftohtml, pdfinfo, pdffonts, pdfdetach, pdftoppm, pdftopng e pdfimages) funcionam em Linux, Windows e OS X -- e devem funcionar em praticamente qualquer sistema com um compilador C++ decente.
Se você compilar o Xpdf para um sistema não listado na página web, por favor me avise. Se você estiver disposto a disponibilizar seu binário por ftp ou na web, ficarei feliz em adicionar um link a partir da página web do Xpdf. Eu decidi não hospedar nenhum binário que eu mesmo não compilei (por razões de espaço em disco e suporte).
Se você não conseguir compilar o Xpdf em seu sistema, envie-me um email e eu tentarei ajudar.
A versão mais recente está disponível em:
O código-fonte e vários executáveis pré-compilados estão disponíveis.
Anúncios de novas versões são publicados em comp.text.pdf e enviados por email para uma lista de pessoas. Se você quiser receber notificação por email de novas versões, basta me avisar.
Para executar o xpdf, basta digitar:
xpdf file.pdf
Para gerar um arquivo PostScript, execute pdftops:
pdftops file.pdf
Para gerar um arquivo de texto simples, execute pdftotext:
pdftotext file.pdf
Há vários utilitários adicionais (que são totalmente descritos em suas páginas de manual):
pdftohtml -- converte um arquivo PDF em HTML pdfinfo -- exibe o dicionário Info de um arquivo PDF (mais algumas outras informações úteis) pdffonts -- lista as fontes usadas em um arquivo PDF junto com várias informações para cada fonte pdfdetach -- lista ou extrai arquivos incorporados (anexos) de um arquivo PDF pdftoppm -- converte um arquivo PDF em uma série de bitmaps no formato PPM/PGM/PBM pdftopng -- converte um arquivo PDF em uma série de arquivos de imagem PNG pdfimages -- extrai as imagens de um arquivo PDF
As opções de linha de comando e muitos outros detalhes são descritos nas páginas de manual: xpdf(1), etc.
Todos esses utilitários leem um arquivo de configuração opcional: consulte a página de manual xpdfrc(5).
Consulte o arquivo separado, INSTALL.
Se você encontrar um bug no Xpdf, ou seja, se ele imprimir uma mensagem de erro, travar ou exibir um documento incorretamente, e você não vir esse bug listado aqui, por favor me envie um e-mail, com um ponteiro (URL, site ftp, etc.) para o arquivo PDF.
O Xpdf usa as seguintes bibliotecas:
Agradecimentos a:
Várias pessoas contribuíram com modificações feitas para uso pelo projeto pdftex:
Adobe Systems Inc., PostScript Language Reference, 3ª ed. Addison-Wesley, 1999, ISBN 0-201-37922-8. [O manual oficial do PostScript.]
Adobe Systems, Inc., The Type 42 Font Format Specification, Adobe Developer Support Technical Specification #5012. 1998. http://partners.adobe.com/asn/developer/pdfs/tn/5012.Type42_Spec.pdf [Type 42 é o formato usado para incorporar fontes TrueType em arquivos PostScript.]
Adobe Systems, Inc., Adobe CMap and CIDFont Files Specification, Adobe Developer Support Technical Specification #5014. 1995. http://www.adobe.com/supportservice/devrelations/PDFS/TN/5014.CIDFont_Spec.pdf [Formato de arquivo CMap necessário para o suporte a fontes japonesas e chinesas.]
Adobe Systems, Inc., Adobe-Japan1-4 Character Collection for CID-Keyed Fonts, Adobe Developer Support Technical Note #5078. 2000. http://partners.adobe.com/asn/developer/PDFS/TN/5078.CID_Glyph.pdf [O conjunto de caracteres japonês da Adobe.]
Adobe Systems, Inc., Adobe-GB1-4 Character Collection for CID-Keyed Fonts, Adobe Developer Support Technical Note #5079. 2000. http://partners.adobe.com/asn/developer/pdfs/tn/5079.Adobe-GB1-4.pdf [O conjunto de caracteres chinês GB (simplificado) da Adobe.]
Adobe Systems, Inc., Adobe-CNS1-3 Character Collection for CID-Keyed Fonts, Adobe Developer Support Technical Note #5080. 2000. http://partners.adobe.com/asn/developer/PDFS/TN/5080.CNS_CharColl.pdf [O conjunto de caracteres chinês CNS (tradicional) da Adobe.]
Adobe Systems Inc., Supporting the DCT Filters in PostScript Level 2, Adobe Developer Support Technical Note #5116. 1992. http://www.adobe.com/supportservice/devrelations/PDFS/TN/5116.PS2_DCT.PDF [Descrição dos parâmetros do filtro DCTDecode.]