从ACDSee的EXE幻灯片中提取图片文件

从ACDSee的EXE幻灯片中提取图片文件

7 月份的时候带着宝宝去汪叔叔儿童摄影,昨天的时候给了一份由 ACDSee 制作的 exe 幻灯片文件。其中的照片是由拍摄的照片合成的,另外的就是单张的修片。为了不用再次合成,就想把合成照片从整个 exe 文件中分离出来。最初的时候没有找到太好的解决方法,但是最笨的也可以使用屏幕截图,不过这样肯定得不到原始的图片,如果将来想再次冲印的话也会受到影响。

后来想到,不同的文件类型都有不同的文件头,通过这些文件头信息就可以用来判断文件类型了,当然,都是 16 进制串的。例如:

  • JPEG (jpg),文件头:FFD8FFE1
  • PNG (png),文件头:89504E47
  • GIF (gif),文件头:47494638
  • TIFF (tif),文件头:49492A00

大多数照片的文件类型都是 jpg 格式,而 jpg 文件的文件头是FFD8FFE1。知道了这些,就可以动手操作了。可以使用 16 进制编辑软件 Winhex For Windows 打开幻灯片的 exe 文件。选择菜单栏上的“搜索→查找 16 进制数值”
从ACDSee的EXE幻灯片中提取图片文件
然后在搜索对话框中输入FFD8FFE1,即 JPG 文件头:
从ACDSee的EXE幻灯片中提取图片文件
如下图所示,发现 42 处,与 exe 相册的图片数量一致:
从ACDSee的EXE幻灯片中提取图片文件
此时,在上方的搜索结果列表处可以看到已经将 42 处符合要求的全部列出:
从ACDSee的EXE幻灯片中提取图片文件
此时,文件的头找到了,结尾怎么办呢?依次点击搜索列表中的结果,不难发现,结尾都符合一个标准,即D9 00 00 00 00
从ACDSee的EXE幻灯片中提取图片文件
这就好办了,接下来再次搜索D900000000
从ACDSee的EXE幻灯片中提取图片文件
搜索完成后,结果出来了,如下图所示
从ACDSee的EXE幻灯片中提取图片文件
这也是为什么推荐使用 Winhex 的原因,当第二次搜索时会将结果按照原始的位置排序,方便我们进行操作。通过上图可以看到,前面的 4 个结果是没有用的,只需要从第一次搜索出来的第一张 jpg 照片开始就可以了。
选择第一个照片,单击一下,就会在下方的文件内容区域转到相应的偏移量。在光标闪烁的地方单击鼠标右键,选择“选块开始”:
从ACDSee的EXE幻灯片中提取图片文件
然后点击其下方的D900000000,在 D9 处单击一下鼠标右键,选择“选块结束”:
从ACDSee的EXE幻灯片中提取图片文件
这时候,就会有一段数据显示为淡紫色的背景,即被选中的区域,这个区域就是第一个图片文件了。
从ACDSee的EXE幻灯片中提取图片文件
在这一区域上单击鼠标右键,选择“编辑”,在出现的新菜单中选择“复制选块→至新文件”:
从ACDSee的EXE幻灯片中提取图片文件
从ACDSee的EXE幻灯片中提取图片文件
在保存文件对话框就可以保存它了,文件名后面一定要加上“.jpg”以确保文件关联正确,如果没有增加也不要仅,后期再将后缀名批量更改就可以了
从ACDSee的EXE幻灯片中提取图片文件
好了,用软件打开保存好的文件,是不是看到了要提取的图片了?如果要提取更多的图片,如法炮制即可。

© 声明:本站原创文章采用BY-NC-SA创作共用协议,转载时请标明本文地址;非原创(转载)文章版权归原作者所有。

RECENT POSTS

Stay Hungry. Stay Foolish.

数据库查询次数:11次,页面生成时间:0.032秒。