2017-09-08 11:16:59
阅读:555次
点赞(0)
收藏
来源: 安全客
作者:sherlly_666
作者:sherlly_666
投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿
简介
工具使用python2.7编写, 旨在实现检查并自动化修复损坏的PNG图像,可用于恢复取证中提取到的缺失的图片流,或者提取隐藏在PNG图片中的恶意样本。
具体包括:
显示图片文件信息
修复PNG文件头错误
修复由于错误的图片长度或宽度导致的IHDR块crc校验出错
修复由于DOS->UNIX平台自动格式转换导致的部分IDAT块数据长度出错
修复由于自身错误导致的IDAT块crc校验出错
修复丢失的IEND块
提取追加在IEND块后的数据
自动显示修复后的图片
添加payload到图片文件
根据图片有限压缩数据尽可能恢复并显示
...
特点
支持窗口打开待修复文件,无需手动输入文件路径
自动化检测修复问题
支持修复结果即时显示
支持提取追加在IEND块后的数据(恶意程序常使用的传播方式)
支持插入payload到辅助块/关键块
修复结果去除所有辅助块
安装
安装 Python 2.7
Python 2.7
安装需要的Python 依赖包
Tkinter
PIL
ctypes (For Windows)
拷贝源码到本地
gitclonehttps://github.com/sherlly/PCRT.git cdPCRT pythonPCRT.py使用方法
>pythonPCRT.py-h usage:PCRT.py[-h][-q][-y][-v][-m][-nNAME][-pPAYLOAD][-wWAY] [-dDECOMPRESS][-iINPUT][-f][-oOUTPUT] optionalarguments: -h,--helpshowthishelpmessageandexit -q,--quietdon'tshowthebannerinfomation -y,--yesautochooseyes -v,--verboseusethesafewaytorecover -m,--messageshowtheimageinformation -nNAME,--nameNAMEpayloadname[Default:random] -pPAYLOAD,--payloadPAYLOAD payloadtohide -wWAY,--wayWAYpayloadchunk:[1]:ancillary[2]:critical [Default:1] -dDECOMPRESS,--decompressDECOMPRESS decompresszlibdatafilename -iINPUT,--inputINPUT Inputfilename(*.png)[Selectfromterminal] -f,--fileInputfilename(*.png)[Selectfromwindow] -oOUTPUT,--outputOUTPUT Outputrepairedfilename[Default:output.png] [注意] 如果不添加 -v 选项则默认所有IDAT块长度均合法, 即不出现声明的IDAT数据块长度和实际数据长度不符合的情况。示例
以IHDR.png为例显示图片信息
以0707.png为例修复IHDR块crc校验出错
以corrupt.png为例修复DOS->UNIX自动格式转换导致的IDAT块数据长度出错
以append.png为例提取附加在IEND块后的数据
以IHDR.png为例添加payload
以new.bin为例对以Deflate方式压缩的数据进行解析展示
附:文中示例文件已放入PCRT/examples文件夹下
项目地址
地址:https://github.com/sherlly/PCRT
欢迎提交issue,如有更好的想法也可以一起交流:)
本文由 安全客 原创发布,如需转载请注明来源及本文地址。
本文地址:http://bobao.360.cn/learning/detail/4378.html