Tiny Online Tools logoTiny Online Toolssearch搜索工具…grid_view全部工具
首页chevron_rightPDF工具chevron_rightPDF JavaScript 检查器PDF JavaScript 检查器

PDF JavaScript 检查器

找出 PDF 内部的每一段脚本——文档动作、页面与注释事件、表单计算——并在不执行的前提下阅读它们。

upload_file

点击浏览 或将文件拖放到这里

选择要扫描脚本的 PDF

接受格式:.pdf,application/pdf

shield这里找到的脚本只是被读取并以文本显示。任何内容都不会被执行、注入本页面或发送到任何地方。

相似工具

PDF 隐藏数据检查器

PDF 隐藏数据检查器

揭示 PDF 携带却不显示的内容:元数据、隐藏图层、附件、JavaScript、不可见文字,以及黑色涂黑框下面的文字。

PDF 元数据清理器

PDF 元数据清理器

从 PDF 中抹去作者、软件、时间戳、XMP 及其他隐藏信息,并给出每一项确实已被删除的证据。

PDF 嵌入文件提取器

PDF 嵌入文件提取器

找出并下载 PDF 中的每一个附件,包括藏在注释里和 PDF 2.0 关联文件中的嵌入文件。

PDF 表格提取器

PDF 表格提取器

找出 PDF 里的表格并导出为 CSV 或 XLSX,同时标明每个表格的识别方式与置信度。

PDF 专色检查器

PDF 专色检查器

找出印刷 PDF 中的每一种 Pantone 与专色油墨,并统计这份活件实际需要多少块印版。

图片元数据查看器

图片元数据查看器

读取 JPEG、PNG 和 WebP 图片中的 EXIF 和元数据,包括 GPS 坐标。

Markdown 预览器

Markdown 预览器

通过渲染后的 HTML 面板实时预览 Markdown。

apps

更多工具

浏览我们完整的免费在线工具集合。

PDF 为什么会有脚本

自 Acrobat 3 起,PDF 就支持 JavaScript。表单能自动求和、拒绝格式不对的日期、在勾选之前禁用某个字段,靠的都是它。恶意 PDF 值得被发送出来,同样也是因为它。

大多数号称能检测 PDF JavaScript 的工具只看 /Names /JavaScript。那是文档级存储,在真实的商务表单里通常是空的。有价值的代码绑在具体字段上。

会检查的所有位置

  • /Names /JavaScript — 文档级名称树。它是一棵树而不是一个列表,只读根数组的工具在脚本很多的文件里什么也找不到。
  • /OpenAction — 文档一打开就运行,你还没读到一个字。
  • 文档附加动作 — 关闭前、保存前后、打印前后。
  • 页面动作 — 页面打开和关闭时。
  • 注释动作 — 链接或按钮的 /A 动作,以及鼠标进入、离开、按下、抬起、获得焦点和失去焦点。
  • 表单字段动作 — 按键、格式、校验和计算。任何真正做事的表单,代码就在这里。
  • /AcroForm /CO — 计算顺序,决定两个相互依赖的合计谁说了算。

通过 /Next 串联的动作链会被跟踪:停在第一环,就只读到了无害的部分,错过了它交棒给谁。

是观察,不是结论

app.launchURLthis.submitFormthis.exportDataObjectNet.HTTPeval 以及长串 \uNNNN 转义会被标出,作为「值得读一读这段脚本」的理由。它们都不能证明什么:正规的报销单会调用 submitForm,正规的模板会调用 util.printf。标记只是告诉你该看哪里。

任何内容都不会执行

脚本以纯文本形式从对象图中读出并显示。它们从不会被求值、注入页面或从网络获取。你可以复制其中一段、另存为 .js,或把全部脚本连同 JSON 报告打包成 ZIP 带走。

隐私

文件完全在你的浏览器中解析,从不上传——当你检查的正是一个你并不信任的文件时,这一点尤其重要。