把exe的flash还原成swf

首先要准备一个16进制字节码编辑器,这里用的是UltraEdit,可以到这里下载它最新的破解版。
现在我们开始我们的还原工作吧。
1.用UltraEdit打开待还原的exe文件。你就会看到这个exe的字节文件。其实exe只是在swf文件之前添加了播放器的内容,那么我们的还原工作其实要的就是把这些添加的内容删除就还原成功了。
2.确定swf的开头,把之前的所有内容全部删除掉。swf大部分都是以46 57 53开头的,还有一些是以43 57 53开头的。所以我们可以查找"46 57 53",但是你会找到好几个地方都是46 57 53,到底哪一个是真的开头呢?不要着急,这里有个诀窍。一般你查找到的最后一个就是swf的开头。所以你只要在查找内容里面输入46 57 53后就拼命往下找吧(说拼命其实没那么夸张了,你总共也找不到几个46 57 53),直到找到最后一个。在告诉你个方法确定这最后一个46 57 53是不是真的开头:看看这个46 57 53之后的那个字节数字,它表示文件的版本号,所以它不可能是00;再看版本号后面的四个字节数字,它表示swf文件的大小,但是要从这四个数字知道swf的大小我们得把四个数字颠倒过来看,比如说"80 32 00 00"表示的大小就是"00 00 32 80",记住它是16进制的数字。swf文件大小不可能是0吧,所以呢在版本号之后的那个数字绝对不可能是00。现在你可以肯定哪里是swf的开头了吧,确定之后不要犹豫,之前的内容删无赦!(ps:以43 57 53开头很少见,它表示有加密,但是没关系我们仍然可以按这个方法还原它)
3.不过不要着急,转换还需要一点收尾工作。看看文件的最后,倒数第5、6、7、8个字节数字"56 34 12 FA"是exe文件结束的标志,既然还原都都不是exe文件了,那留着这几个数肯定碍事,哈哈那就删了吧。ok还原工作基本完成了,最后就是别忘了保存,当然是要保存成swf文件啦。选择"另存为",取一个你想要的文件名字,但是强调一点后缀名必须是.swf。大功告成了!


前段时间烈火下载给大家提供了一款Flash文件转EXE的Delphi源代码,我们知道SWFEXE是很常见的,那么反相转换(EXEFlash)你有没有见过呢?今天就带给大家这样的源程序。SWFFlash的一种生成格式,依靠自已公司的FlashPlyaer插件运行,如果要想脱离插件,需导出成EXE文件格式,用Flash软件可以,如果没有可以自己写程序将SWF转换成EXE,将EXE转换成SWF是个逆过程,具体请看代码。   // 将Edit1中的路径赋给exeFileName变量   exeFileName := Edit1.Text;   // 修改EXE路径中的扩展名,以获取SWF文件的存储路径。   swfFileName := ChangeFileExt(exeFileName, ‘.swf‘);   // 检查指定的EXE文件是否存在,如果不存在则退出过程,不做任何处理。   if not FileExists(exeFileName) then   begin     ShowMessage(‘文件未找到.);     Exit;   end;   // 分别创建swfFile及exeFile对象   // 创建空的swf文件并赋于写入的权限(fmOpenWrite)   swfFile:=TFileStream.Create(swfFileName, fmCreate or fmOpenWrite);   // 打开EXE文件,并赋于读取的权限(fmOpenRead)   exeFile:=TFileStream.Create(exeFileName, fmOpenRead);   // 从EXE文件开头搜索   // 将文件指针移到存储SWF文件大小的地方   // exeFile.Size用于获取整个EXE文件的大小,减去4个字节正好是SWF文件大小储存的地方   exeFile.Seek(exeFile.Size - 4, soFromBeginning);   // 读出SWF文件的大小   exeFile.Read(nFileSize, 4);   // 将文件指针移动到SWF文件开始处   exeFile.Seek(exeFile.Size - (nFileSize   8), soFromBeginning);   // 将SWF文件所有内容复制到swfFile对象中去   // 此时SWf文件内容已保存在硬盘中了   swfFile.CopyFrom(exeFile, nFileSize);   // 释放资源   swfFile.Free;   exeFile.Free;   ShowMessage(‘SWF文件已成功还原.); end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧沉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值