1.电脑上所有文件都打不开的源码解决方案分享
2.QQ录屏文件打不开损坏,修复录屏视频方法!修复录音音频文件修复,源码录像视频损坏修复之winhex篇。修复
电脑上所有文件都打不开的源码解决方案分享
山东一家公司,企业规模也不算小,修复软件授权网站源码公司的源码重要数据通过WINDOWS网络共享放在一台PC上,同时也连接打印机,修复有很多人员直接拷贝数据文件到这台PC上打印。源码
前几天,修复忽然F盘的源码所有文件均无法打开,表现为:
1、修复文件名称,源码时间,修复路径完全正确,源码磁盘占用空间也正确。
2、所有的jpg文件打开都提示:“windows照片查看器无法打开此,因为照片查看器不支持此文件格式,或者您没有照片查看器的最新更新”
3、所有的doc打开时都提示:"请选择使文档可读的编码",选择任何一个编码后文件都是错误的。
4、javadate编程源码所有的docx打开时都提示:"无法打开文件,因为内容有错误"
5、所有的xls打开时都提示:“您尝试打开的文件的格式与文件扩展名指定的格式不一致,打开文件前请验证文件没有损坏且来源可信”
6、所有的xlsx打开时都提示:"您无法打开文件,因为文件格式或文件扩展名无效,请确定文件未损坏,并且文件扩展名与文件的格式匹配"
7、所有的PDF文档打开时均提示:“打开文档时发生错误,文档已损坏且无法修复”
8、其他所有类型文件均无法正常打开。(键入上述错误提示的目的在于网友可以根据错误提示搜索到本文,没有稿费,不凑字数)
我们的分析和初检结论大致是这样的:
1、确定存储是否RAID。得到的结论是只有一块G单盘,排除可能的RAID旧盘同步后出现这种故障的可能。
2、确定硬盘是否有物理故障,比如是否有异响,是否访问缓慢,是否提示IO错误等。得到的vuex源码原理结论是除了F盘,其他分区数据完全正常,硬盘在其他数据恢复公司检测也无物理故障。排除因物理故障(如硬盘固件缺陷表错误,坏道等)导致的类似故障。
3、确定是否采用加密。得到的结论是无启用过任何加密。排除一些加密系统丢失加密链后直接访问密文导致的类似故障。
4、确定是否采用第三方软件做过分区大小调整、合并。得到的结论是没有。排除因PQ(Norton PartitionMagic)、DiskGenius, Acronis Disk Director Suite等软件调整、合并分区出错导致的类似故障。
5、确定是否操作系统故障。得到的结论是重装系统杀毒后依然。排除因病毒挟持所有可执行文件或加入文件系统拦截层导致的类似故障。
6、无其他异常操作。于是pring源码剖析推断故障可能因病毒或木马导致。
因之前遇到过多起类似案例,通常这种破坏并不复杂,而且可逆(一些不道德的小黑客会按此敲诈用户)。
确定方案 将硬盘连接至安全的操作环境中(不加载盘符,不自动写数据,保证完全只读),发现文件系统底层上完全正常,但数据区全部错误。以一个PDF文件为例,在WINHEX中打开时如下图:
一个正常的PDF文件,二进制结构一定是以0x(即ASCII的“%PDF”)做为开头标志。这个文件的开头以0x开始。两者比较,显然是一种异或转换,通过计算,两者相差(异或)0x。观察本PDF文件的尾部,发现同样做了篡改。 于是,在WINHEX中选中文件所有内容,对选中块以0x做字节异或(xor): 保存出来后,打开,nit源码剖析文件正常。
接下来对其他文件做分析,发现篡改的算法均是全部文件对某个值xor,但此值不确定,按字节概率计算,应该有种可能,加上文件数量及类型众多,显然不能手动进行修正。需要分析其xor加数的生成规律。 分析过程如下: 1、推断是否与路径相关:在同一路径下打开不同的文件分析篡改的异或加数,发现不尽相同,排除。 2、推断是否与文件名称相关:查找所有文件,按名称排序,找到相同文件名称但大小不同的文件,打开后分析篡改的异或加数,发现不相同,排除。 3、推断是否与类型相关:找到同一类型的几个不同文件,分析篡改的异或加数,发现不相同,排除。 4、推断是否与存储的物理位置相关:在WINHEX中按不同文件起始位置进行分析篡改的异或加数,未发现相关性,排除。 5、推断是否与文件头部相关:查找头部相同的文件(有同一文件的不同更新,头部是相同的),进行分析,也排除。 6、推断尾部相关的可能性不大。(当然如果后面分析仍无法得到规律,则需返回此项再做验证) 7、推断是否与文件创建时间相关:分别查找相同创建时间、相同访问时间、相同最后一次访问时间的2个文件,进行分析,发现与此无关,排除。 8、推断是否与大小相关:简单验证后,未举出反例推翻,但需要完全证明与大小相关,同时要得到算法,需要有足够多的样本。
对是否与大小相关的验证: 首先通过命令方式打印所有文件的大小,WINDOWS很不擅长此操作,改用LINUX处理: find ./ |xargs ls -ld 2/dev/null|awk '{ printf($5"\t\t"$9"\n");}' ../list.txt 之后用excel打开此列表文件,如下图:
因篡改的异或加数只有一个字节,故推断,如果与大小相关,极有可能是对文件大小mod 后关系对应,于是在excel中计算所有文件大小值 的mod ,如下图:
对mod 的值进行排序,excel可能可以直接实现,不过,至少可以复制整列,再以数字方式粘贴: 排序后如图
对相同mod 的文件进行篡改验证,未发现不符合规律者,基本断定篡改值与文件大小mod 的值存在完全映射关系。 对所有可能做抽样分析后,得到篡改异或加数的生成规律: 至此,篡改算法得到,同时修正算法也自然就容易多了。
解决方案 通过VS下编写程序解决,修复程序源码如下:
验证 程序运行完成后,对文件进行抽检,无报错,为进一步确定可靠性,查找所有JPG文件,显示缩略图,无异常。
查找所有doc文件,显示作者,标题(这两个信息是通过内容部分得到的),未发现异常(只是OS盗版的痕迹挺重,呵呵),至此,确定算法正确。数据恢复完成。
QQ录屏文件打不开损坏,修复录屏视频方法!录音音频文件修复,录像视频损坏修复之winhex篇。
文件损坏的原因多种多样,例如硬盘空间不足、内存条未完整写入硬盘、电脑运行卡顿、硬盘介质质量差等,都可能导致文件保存中断或丢失部分代码。
选择合适的修复工具至关重要,如winhex,专用于代码分析和人工修复,需要有十年以上修复经验的专家才能熟练操作。对于普通用户,推荐使用格式工厂或其他相关视频修复恢复工具。
遇到损坏的录屏文件,首先应准备好两份文件,一份为损坏文件,另一份为完好文件,以便进行对比分析。
核心修复步骤包括:首先,使用winhex分析损坏文件的数据结构。通过对比发现,损坏文件中并非所有数据都为零,说明文件中仍存在有效信息。进一步分析发现,文件丢失了一小部分数据,这部分数据在内容和代码上有所不同,但盘头(U盘硬盘修复原理相同,视频头也相当于盘头)保持一致。然而,在盘头部分,丢失了一个字符。
针对这一情况,使用winhex的源码替换功能(即纠错功能),对盘头进行全部修复。接着,将修复后的文件另存为新的MP4格式。幸运的是,虽然视频部分有轻微花屏现象,但音频部分未受到影响,这得益于修复过程中对音频内容的保留。
2024-11-30 08:26
2024-11-30 07:41
2024-11-30 07:18
2024-11-30 06:54
2024-11-30 06:54
2024-11-30 06:14