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

[讨论]swfencrypt的加密原理

2008-12-25 09:35
7012
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吧)!

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

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