DelphiSwfSdk近一年没更新,作者消失无踪,留下bug一堆。最近在完善DelphiSwfSdk的过程中,对swf文件格式有了系统的了解,同时就自己比较感兴趣的as加密,也进行了一下研究。研究发现,as1,as2时代的加密,其实大部分都只能称之为“混淆”,利用混淆达到迷惑反编译器甚至卡死反编译器的目的。
就其原理,本质上只在于 反编译器 与 播放器 在处理swf文件时的细节上的差异。详述如下:
1. swf反编译器在反编译过程中,是按照swf的文件规范,将swf依次拆分为很多tag,然后如果tag中含有脚本,例如doaction或doinitaction等tag,则对这个tag中的bytecode,按照最紧凑原则进行依次读取解析,直至解析完整个swf文件。
阅读全文…
swf文件格式是基于tag的,每个tag之间独立,只有引用与被引用的关系。软件在处理swf文件时,遇见不认识的tag,可以跳过处理。
截止swf 10为止,tag共有以下种类,其中有些tag已经被废弃不用。已经标出。
tagEnd = 0;
tagShowFrame = 1;
tagDefineShape = 2;
tagFreeCharacter =3;
tagPlaceObject = 4;
tagRemoveObject = 5;
tagDefineBits = 6;
tagDefineButton = 7;
tagJPEGTables = 8;
tagSetBackgroundColor = 9;
tagDefineFont = 10;
tagDefineText = 11;
tagDoAction = 12;
tagDefineFontInfo = 13;
tagDefineSound = 14;
tagStartSound = 15;
tagStopSound =16;
tagDefineButtonSound = 17;
tagSoundStreamHead = 18;
tagSoundStreamBlock = 19;
tagDefineBitsLossless = 20;
tagDefineBitsJPEG2 = 21; 阅读全文…
用闪客精灵(SWF Decompiler)反编译swf,导出Fla时,得到的Fla用flash打开经常会出现“无法将场景载入内存,您的文件可能已损坏”的提示。尤其在源swf中含有嵌入的视频音频资源时,更是如此。本质上的原因是fla中部分资源发生了损坏,无法正常读取,所有修复这部分受损的资源即可
此种情况下,一般的解决步骤如下:
1、用flash打开fla,从库面板中找到所有损坏的资源(那些资源预览中提示无法预览的资源)
2、用swf decompiler打开原swf,单独导出这些损坏的资源
3、在flash中,用第二步导出的资源替换fla库中的资源。
解决,收工
swf encrypt是amayeta公司的拳头产品,在swf保护领域使用的人的确也不少,其发布版本有ide版本和dll版本,dll版本十分适用于集成到自己的程序中。swf encrypt 的dll version的验证方式一向是在调用encfile函数前需要调用password函数输入正确的password,才可以使用这个dll进行swf文件加密。
这里提供几组swf encrypt 6.0 dll version的password,至于dll version的下载地址和使用说明,大家八仙过海吧。
“SWF6-DLL-L875880H-949G6RKM”
“SWF6-DLL-P268460J-712E4QEM”
“SWF6-DLL-M441621V-303M2SSL”
“SWF6-DLL-C844590F-764B7CLV”
“SWF6-DLL-J448819U-556B7CBS”
“SWF6-DLL-K758981R-945N5VQL”
“SWF6-DLL-Q464782K-499J7MYN”
“SWF6-DLL-A163533N-640F3VMH”
“SWF6-DLL-M276915X-688Q6TGD”
“SWF6-DLL-L635195Z-916T2FSM”
“SWF6-DLL-L175743S-586M5AMT”
“SWF6-DLL-S764103E-126X1DCJ”
“SWF6-DLL-Z496370Q-211T2DFC”
“SWF6-DLL-J587830H-650Q1NFQ”
“SWF6-DLL-L308471X-675L5BLN”
“SWF6-DLL-T513948Q-708P6WCL”
“SWF6-DLL-G814203U-371V4WGS”
“SWF6-DLL-F248369D-719Y8CLF”
“SWF6-DLL-W266696Y-412L9JCE”
“SWF6-DLL-R882819E-745M9UWJ”
“SWF6-DLL-K294519D-784L4RRZ”
“SWF6-DLL-B411145T-747H4YLK”
“SWF6-DLL-Y709645R-507G2XPQ”
“SWF6-DLL-C465832Z-662C4MJN”
“SWF6-DLL-V737381C-341T5QAR”
最新评论