项目简介
本项目是基于C语言开发的PDF转文本服务,核心目标是把PDF文件转换为纯文本格式。项目涵盖读取PDF文件、转换PDF为文本、存储文本文件三个主要模块,同时支持模糊测试,以此提升系统的稳定性与可靠性。
项目的主要特性和功能
- PDF读取模块:负责读取PDF文件,并将其传递给转换模块。
- PDF转换模块:借助xpdf工具把PDF文件转换为文本格式。
- 文本存储模块:接收转换后的文本内容,将其保存到本地。
- 模糊测试支持:利用模糊测试工具(如AFL)对系统开展压力测试,从而发现潜在的漏洞和问题。
安装使用步骤
基本运行
- 编译项目:
bash make cd xpdf-3.02 ./configure make cd ../
- 运行服务:
bash ./bin/read_pdf [path/to/pdf_file] ./bin/convert_pdf ./bin/store_txt
模糊测试
- 准备模糊测试环境:
- 替换
client.c
和interface.c
文件。 - 确保已编译好AFL、client和interface。
- 替换
- 编译插桩:
bash export CC=[path/to]/afl-2.52b/afl-gcc export CXX=[path/to]/afl-2.52b/afl-g++ make cd xpdf-3.02 ./configure make
- 运行模糊测试:
bash [path/to]/client 9000 ./bin/read_pdf -f [path/to]/client 9001 ./bin/convert_pdf [path/to]/client 9002 ./bin/store_txt [path/to]/interface -n 3 pdf_example/helloworld.pdf mkdir in_dir [move pdf_files to in_dir] [path/to]/afl-2.52b/afl-fuzz -i in_dir -o out_dir -- [path/to]/interface -n 3 @@
注意事项
- 运行模糊测试时,需严格按说明操作,防止系统崩溃或数据丢失。
- 若要调整组件的部署位置和端口,需修改相应的源代码文件。
接口和客户端使用说明
- interface:用于管理和控制模糊测试的接口程序,使用方式为
interface -n [num] [file]
。 - client:用于发送数据和接收服务端响应的客户端程序,使用方式为
client [port] [command]
。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】