学习IT,感悟产业,热爱生活

2007年三月 的文章

[原]囊中取物——从ACDSee图片幻灯片中提取图片

本文刊载于《电脑爱好者》2007年05期 P56 (请勿随意转载)

巴巴变免费相册

原始稿:

如果你想将你的一些照片(比如旅游照片)发送给朋友欣赏,除了一张一张发送这样“古老”的方法外,很多人都喜欢用一些赏心悦目的方法。于是,在大家装机必备的ACDSee中,就提供了幻灯片制作的功能。它提供了多种图片转换特效,可以添加背景音乐,还可以直接生成.exe可执行程序。其向导式的操作也十分方便,赢得了广大用户的青睐。

这不,前几天,一个朋友为了向我展示去外地旅游拍摄的照片,发给了我一个由ACDSee9制作的exe幻灯片文件。我特别喜欢其中的几张照片,于是就想把它从整个exe文件中分离出来。

可能有人要说了,使用屏幕截图软件不就可以了嘛?但是,朋友的那个幻灯片中的图片都是拉伸显示的,使用屏幕截图肯定得不到原始的图片。这时候,朋友的QQ已经下线了。看来,还得自己动手,丰衣足食。

大家知道,不同的文件类型都有不同的文件头,例如,exe文件的文件头是“4D 5A”(16进制,下同),PDF文件的文件头是“25 50 44 46”(更多文件类型的信息可以到http://filext.com/去查询)。大多数照片的文件类型都是jpg格式,而jpg文件的文件头是“FF D8 FF E1”。知道了这些,就可以动手操作了。

使用16进制编辑软件(推荐WinHex,本文即以它为例)打开幻灯片的exe文件。依次选择菜单栏上的“搜索→查找 16 进制数值”,在搜索对话框中输入“FFD8FFE1”,并把下放“列表搜索采样率”勾选(如图1)。

单击“是”以后,便会开始搜索,结果会在上方的“位置管理器”中显示。点击列表头上的“Offset”使其左边显示出向上的三角形,让偏移量升序排列(如图2)。

查看一下自己要提取出来的图片在整个幻灯片中是第几张,就在这个列表中自上而下找到第几行,单击一下,就会在下方的文件内容区域转到相应的偏移量。在光标闪烁的地方单击鼠标右键,选择“选块开始”(如图3)。

接下来在位置管理器中单击当前下面的一行,下方的文件内容区域就会转到一个新的偏移量处。在光标闪烁的地方往前看,你会发现四个空字符,16进制显示为“00 00 00 00”。在这8个“0”的前面一个16进制字符上单击一下鼠标左键,使其呈闪烁的显示状态,再右击之选择“选块结束”(如图4)。

这时候,就会有一段数据显示为淡紫色的背景,即被选中的区域。在这一区域上单击鼠标右键,选择“编辑”,在出现的新菜单中选择“复制区块→进入新文件”。在保存文件对话框就可以保存它了,文件名后面一定要加上“.jpg”以确保文件关联正确。

好了,用软件打开保存好的文件,是不是看到了要提取的图片了?如果要提取更多的图片,如法炮制即可。从已制成的exe幻灯片文件中找到原始的图片,就如同囊中取物,其实并不困难。而且本文介绍的方法,也可以用在与之相似的各种“包”文件中,大家遇到相似问题时可以试一试。

GD Star Rating
loading...