首页
社区
课程
招聘
[讨论]swfencrypt的加密原理
发表于: 2008-12-25 09:35 7424

[讨论]swfencrypt的加密原理

2008-12-25 09:35
7424
swfencrypt的出现,flash文件的AS得到了有效的保护,但ASV又成为其竞敌,两者多次通过升级,在加密与解密中较量,我们应该思考,swfencrypt的加密原理是什么,不可能用到对称或不对称等加密算法,unswfencrypt的作者对此有深入的研究,但不太详细,原文如下:
    SWFEncrypt4.0是工作于Flash ActionScript 的 AS2.0 SDK环境,仅能对Flash没有使用AS3.0进行PCode的SWF发布文件。它的加密原理也比较简单,当然前提是你对SWF文件结构有一定的了解,其实SWFEncrypt对SWF到底做了什么,网络对官方产品说:SWF Encrypt是一款强大的Flash加密工具,使用DMM(动态内存修改)技术和Action script混淆技术来保护您的原创设计,可以抵御绝大多数主流的Flash反编译器,据某人说若使用某知名国产Flash反编译器来尝试处理经SWF Encrypt加密的文件时会使前者陷入死锁 了解的人定会知道,确切来说它根本没有加密AS,因为我能原原本本的从SWF文件里挑出来,它能做的是把AS增肥,蒙骗一下主流的Flash反编译器,它骗不了我的分析引擎,它的设计是被Flash的开放格式结构和运行速度差少所限制的,这是它没有加密的原因。
    SWFEncrypt4.0还原的关键还是在于查找ConstPool简称字典池吧,RCE Forums的Malware Analysis and Unpacking Forum的SWF Encrypt explanation.有外囯人的分析,仅有一个人说到关键上,但他没有真正有效的查找方法,他仅对英文的ACII码判定,这肯定是不科学的,你想想,Flash是个能够跨平台,跨国家语言的东西(连变量名也可以是中文名),而且作者会做假的ConstPool,让你搜索判断不准。那么,我们必须使用有效的方法对ConstPool是否存在,若存在如何能正确找到它做准确的判断和查找,这里我们可以做个虚拟机,模拟执行作者设计的混淆PCode,若有ConstPool快结束时就会停在ConstPool处,再过好步就会跳转到(呵呵)真身处。为什么会这样,因为作者只是将AS分成两部分:1.原始PCode;2.在ConstPool中嵌入混淆PCode。再将其衔接(可能是DMM吧)!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
2
253253
2008-12-25 09:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
shoooo大侠,这个问题不值得讨论吗?
2008-12-25 09:40
0
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
4
值的讨论,等你研究成果
2008-12-25 10:49
0
雪    币: 120
活跃值: (58)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
曾经写过一个工具恢复被swfencrypt加密的actionscript2.0,但是button和一些sprites里面的action有嵌套就暂时没有恢复。现在都as3.0,就不懂了。
2008-12-25 11:33
0
游客
登录 | 注册 方可回帖
返回
//