小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

數(shù)據(jù)恢復(八)

 zjshzq 2024-12-26 發(fā)布于浙江

上一篇文章中對PDF文件結(jié)構(gòu)進行分析,那么實戰(zhàn)中遇到PDF損壞的情況該如何進行手工或工具修復?

案例背景分析

和《數(shù)據(jù)恢復(六)-SqlSever數(shù)據(jù)庫mdf文件恢復實戰(zhàn)》是同樣的勒索場景,PDF文件頭尾均丟失了256kb的數(shù)據(jù)。

數(shù)據(jù)恢復(八)-PDF文件修復實戰(zhàn)

文件頭

數(shù)據(jù)恢復(八)-PDF文件修復實戰(zhàn)

文件尾,xref表已經(jīng)完全丟失

根據(jù)上面的情況分析PDF丟失了哪部分數(shù)據(jù)?

  • PDF文件頭
  • 文件頭后面的部分對象obj
  • xref之前的部分對象obj
  • 交叉引用表xref
  • 文件尾trailer

為什么強調(diào)丟失部分對象obj?因為對象obj是PDF的主體部分。

數(shù)據(jù)恢復(八)-PDF文件修復實戰(zhàn)

第一個完整的obj編號為26,說明在此之前已經(jīng)丟失了26個obj對象了(從0開始)。

數(shù)據(jù)恢復(八)-PDF文件修復實戰(zhàn)

這就意味著,我們最多也就只能恢復pdf文件中的81-26=55個完整的obj。

別擔心obj數(shù)量太少,沒法恢復出來什么數(shù)據(jù)。比如有的obj是一個圖片,數(shù)據(jù)量占比實則很大。

PDF文件修復思路

按照上面的情況,相當于PDF文件的文件頭、xref表、trailer完全丟失。只剩下大部分的obj。

此時只能掃描PDF所有的obj,重新排序計算obj的偏移地址,生成xref交叉引用表和trailer。

PDF修復工具

我對市面上常見的PDF修復工具都進行了測試,發(fā)現(xiàn)有三款工具能達到恢復效果。

  • 在線修復PDF文件 – iLovePDF
  • PDF Recovery Toolbox
  • SysInfoTools PDF Repair

這里以PDF Recovery Toolbox工具為例,導入受損的PDF文件。

數(shù)據(jù)恢復(八)-PDF文件修復實戰(zhàn)
數(shù)據(jù)恢復(八)-PDF文件修復實戰(zhàn)

工具會掃描PDF的所有內(nèi)容重新生成完整的PDF文件。

數(shù)據(jù)恢復(八)-PDF文件修復實戰(zhàn)

但是工具的缺點是不支持批量PDF損壞文件修復。

PDF手工修復

以圖片類型的PDF為例進行分析。

數(shù)據(jù)恢復(八)-PDF文件修復實戰(zhàn)

可以通過寫代碼obj特征提取pdf中的圖片內(nèi)容,這里就不貼代碼了,可以自行實現(xiàn)。

foremost提取PDF圖片文件

也可以用到foremost。思路很簡單,因為PDF文件本身的obj就是嵌入的其他文件,所以其他格式的文件在PDF中還是原樣保存的。

apt-get install foremost -y

這里可以把PDF看做一個raw二進制文件,從中提取圖片文件。

foremost -t jpg -i damaged_file.pdf -v

數(shù)據(jù)恢復(八)-PDF文件修復實戰(zhàn)
數(shù)據(jù)恢復(八)-PDF文件修復實戰(zhàn)

從損壞的pdf文件中提取所有圖片文件,再把所有的圖片合并到一個新的PDF即可完成修復。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多