flash破解之doswf去壳

写一个关于doswf去壳的教程,内存提取方法
目前国内比较流行的加密软件有:doswf,Flash_Secure,Encrypt。目前这3款软件中doswf有加壳,其余没有加壳,doswf的加壳说是可以防止吸血鬼,其实不然。

先说明一下内存去壳的原理:swf加壳后,真实的东西被隐藏,其实就是字节的来回转换,当flashplayer加载加壳后的swf,会自动解析,拿到真实的swf,这个时候就可以抓取到真实的swf,但有个前提就是swf必须是能正常运行的,如果不能正常运行,swf没有真正的解析成功,可能提取不到真实的东西

下面我就拿个例子来说:

怎么知道swf是被doswf加壳,而不是其他的软件加壳,教你识别:

如图:

闪客中的显示: asv中的显示:

闪客中的doswf QQ截图未命名

先看闪客中的显示,只能看到一个shape,代码就2个,还有一个特殊的标签就是:DefineBinaryData(这个标签其实隐藏真实的swf)还有个问题就是点击,好处会卡掉闪客,这个地方其实是用的newclass+超大id(闪客的一个bug)

再看asv中的显示,就是能看到2个代码,其他的没有,代码是加壳用的,会as3的应该可以看懂。Embed进去的。

下面就是实战的去壳了:

1.首先打开要去壳的swf,正常运行即可(加载完全后,试玩一会,确保完全解析)

2.利用内存查看器(我用的是HxD,可以去百度下,这里就不提供下载了)

打开HxD,然后打开附加,里面有个打开内存,附图:

QQ截图未命名

然后就打开flashPlayer的内存,如下

QQ截图未命名

下面是关键了,我一般是由后往前搜索,一般关键字为:FWS,CWS,Sprite,MovieClip,40 00 00 00

由后往前搜索  QQ截图未命名

解析看头部信息:一般的正常的SWF头部结构,要留意,错误的格式直接跳过(如果不懂swf的头部结构的话,请查阅swf的tag,swf_file_format_spec_v10.pdf)

正常的swf如图:QQ截图未命名

不正常的如下: 1

根据swf的头部信息截取真实的swf,即可 .. .. .. ..(多多实践)

提醒一下swf的混入误区:

2

这个地方就是写入的一些垃圾swf,也就是所谓的放内存提取,其实道理很简单,我写入100w个swf结构,内存工具提取比较傻,就当做真实的swf进行提取,由于太多,文件较大,机子运行就很慢,所以大部分人就以为卡掉了,机器好的也是可以提取到的。

备注:as2,as3提取出来的东西是不一样的,as2的比较脆,提取后,一般会有一个doabc的tag,但是不妨碍正常运行游戏,只是闪客会解析(闪客的bug),手动去掉tag,游戏的代码就会暴露了。关于as3的是分成2部分doabc+素材,也要手动拼起来,去掉里面的一些doaction,即可!(以后有时间再写点吧… … )

转载于:https://my.oschina.net/zhyuliang/blog/207175

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值