这里只能大致讲讲,假设你对计算机领域的知识已经有相当的了解,展开说就太费时间了
以下建立在你没有预先建立MD5校验码,但是又想判断文件是否出错的情形
图片文件:JPG,PNG,BMP,GIF
对于这些文件可以使用一款叫bad peggy的软件。但要注意这款软件对错误十分敏感,有时候一些不标准但其实没有错误的文件也会被标记为出错,所以不能盲目删除所有报错的图片,可以把报错的图片移动到一个文件夹然后肉眼检查是否损坏。
图片文件:WebP
由于该格式过新,暂时无法检验
视频文件:MP4,MKV,WebM,FLV...(几乎所有的视频格式)
可以用hbbatchbeast这款软件进行扫描
音频文件:MP3,WAV,FLAC, AAC
理论上可以用FFMPEG进行扫描,其实上面那款软件也是对FFMPEG的封装,但是上面的软件不直接支持音频
音频文件:MID, MOD以及PSF,GSF,STRM等各种直接从游戏中提取的音频文件
暂时没有办法,只能靠听
压缩包:7Z,ZIP,RAR,GZ,JAR
压缩包自带校验码,可以用7zip等压缩软件自带的压缩包检测功能检测。但要注意,7zip需要在右键菜单中点击检测压缩包,否则对错误的敏感度会下降。
压缩包:TAR
TAR格式的压缩包无法检验
游戏文件:CHD
CHD文件自带校验码,可以用chdman verify 来检验,你也可以写个批处理遍历目录下所有chd文件
游戏文件:GBA,NDS,SFC,NES,BIN,CIA,ISO
这类文件虽然无法直接校验,但是可以借助百度网盘的急速秒传功能进行校验。把这些文件上传到百度网盘,如果是急速秒传,则9.9成正确,剩下的0.1成是万一有人把恰好和你损坏位置一致MD5也一致的文件传了进去。基本上不是特别偏门的ROM,锑度网盘的数据库里都有
游戏文件:CSO,CCI
无法直接校验,ctrtool无法检查CCI中的错误
应用程序:APK
需要用到安卓SDK中的build-tools中的apksigner进行校验,可以校验。
WARNING: META-INF/开头的报错可以不用管
如果报其他错误,可以到virustotal搜文件MD5复核一下,如果能直接搜出来,那估计没有损坏
应用程序:EXE
几乎无法直接校验(除非有签名)
文档:TXT,代码等纯文本
可以采用如下方法校验:检查文档中是否有非法的utf8字符,也就是乱码。可以一定程度上检验文档是否严重损坏。轻微损坏无法检测。有非法utf8字符不一定是损坏,需要肉眼复查。
没有现成的程序,如果你了解go语言的话,可以围绕
utf8.Valid()
这个函数编写,非常容易
文档:PDF
可以使用pdfcpu验证,但要注意该软件同样比较敏感,报错不一定就是损坏,需要肉眼复核
文档:DOC,XLS,PPT
由于微软平台的封闭性,无法直接验证