Flash 加密和破解

关于Flash(swf),我们需要明确一点:

***Flash字节码的意义都是公开的 所以如果cracker真的有足够的耐心他最终还是可以破解掉你的Flash。我们能做的只是尽量提高Flash被破解的门槛让cracker破解它需要消耗的时间大于自己更新版本的间隔就好了。

一般而言,对于游戏,无非是为了防止cracker修改游戏数据,制作外挂,当然也有人为了破解游戏,提取素材,提取音频,提取音乐等等。

现在Flash页游已经走下坡了,没多少人关注了,而且这种加密方案也比较成熟了。但是,正因为Flash小游戏很多,这里边大量的素材资源,也许就是非常不错的资料来源。

先简单回顾一下怎么做游戏的加密,防止破解或外挂:

 1、关键数据加密

适用防范对象   使用内存修改工具妄图直接修改关键数据的初级cracker 原理   关键数据不使用明文保存 具体做法   对关键数据的存取使用AES或XOR等算法进行处理保证关键数据在内存中不以明文保存(做一个类用于存取,每次把数据取出后用临时变量做加密解密)

2、修改数据包

适用防范对象   使用Fiddler等各种工具篡改回包或使用假数据发包的初中级cracker 原理   加密数据包并在数据包里面加入防伪信息 具体做法   对数据包内容进行简单的AES或XOR加密并在其中加入类似TCP/IP协议的Sequence ID前后台共同对数据包进行校验。

3、Flash初级加密

适用防范对象   会用Flash破解工具破解之后尝试对Flash源码进行修改的中高级cracker 原理   提高使用工具破解Flash之后读懂源码并进行修改的门槛 具体做法   直接使用工具如DoSWF等对Flash的关键代码进行加密和混淆 4、Flash高级加密 适用防范对象   没有足够的时间和耐心的高级cracker 原理   使用各种恶心的技巧对自己的Flash关键内容进行保护 具体做法   (1)对关键代码进行混淆 ——提高破解后读懂代码的门槛   (2)将保有关键逻辑的main.swf以二进制形式嵌入到工程里在外层使用loader的loadBytes()方法进行读取并实例化 ——提高直接被抓包抓到关键SWF的门槛需要cracker解析文件二进制内容才能拿出来关键的swf   (3)加载main.swf之前检测关键类是否已经被定义过并且将main.swf加载到与loader.swf不同的ApplicationDomain ——防止cracker用preloader等方法事先定义关键类用来顶替main.swf中的同名关键类提高类替换的门槛(父程序域覆盖子程序域)

  (4)关于第2点,还可以把二进制做得更绝一些,例如把二进制加密了,然后再在程序里边解密,而解密程序,又可以用Pixelbender来做(Pixelbender的破解又难了很多)。当然,最重要的是,必须先把loader部分混淆,让反编译软件无法直接得到可运行代码,这样cracker就失去耐心了。

好了,说完加密,那么现在这么多flash小游戏,破解一下,拿点素材来使用也是不错的选择。

反编译提取素材,当然要依赖于Sothink等反编译软件了,但是很多游戏的素材和主swf都以二进制形式嵌入的,这样对于sothink swf decompiler来说是无能为力的。反编译出来只有这样的空类:

这时候需要自己根据swf格式说明,写个程序提取出对应的二进制数据,再用sothink来反编译。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏黑白安全

蓝牙加密配对漏洞曝光:请速更新操作系统或驱动程序

据外媒报道,最近曝出的一个加密错误(Crypto Bug),对苹果、博通、英特尔、高通等硬件供应商的蓝牙实施和操作系统程序都产生了较大的影响。其原因是支持蓝牙的...

1091
来自专栏函数式编程语言及工具

Scalaz(15)- Monad:依赖注入-Reader besides Cake

  我们可以用Monad Reader来实现依赖注入(dependency injection DI or IOC)功能。Scala界中比较常用的不附加任何Fr...

2057
来自专栏布尔

将单机版短信猫变成网络版

最近做一个网站项目,用户买了一个金笛的短信猫(USB接口版本),他想把短信功能加到网站上来。以前没有做过短信功能,感觉有点好奇想做,于是开始查短信的资料。刚好有...

2816
来自专栏北京马哥教育

HTTPS连接的前几毫秒发生了什么

提示:英文原文写于2009年,当时的Firefox和最新版的Firefox,界面也有很大改动。以下是正文。 花了数小时阅读了如潮的好评,Bob最终迫不及待为他购...

3627
来自专栏农夫安全

用了13年的wpa2协议出漏洞,新型KRACH攻击手法.

介绍 研究人员发现WPA2的严重弱点,WPA2是保护所有现代受保护的Wi-Fi网络的协议。内的受害者的范围内的攻击者可以利用使用这些弱点.具体来说,攻击者可以使...

3415
来自专栏FreeBuf

【安全预警】Forbidden attack:7万台web服务器陷入被攻击的险境

最近,根据某国际安全小组的研究表明,金融巨头Visa旗下部分受HTTPS保护的网站最近被发现了一种漏洞,它的存在可以让黑客注入恶意代码,访客浏览器将会访问到恶意...

1977
来自专栏ChaMd5安全团队

小白也能玩转无线安全(一)——硬件&工具入门篇

小白也能玩转无线安全(一)——硬件&工具入门篇 From ChaMd5安全团队核心成员 sherlly 0x00 写在前面 很久之前就想出一套无线安全系列的文章...

37014
来自专栏自由而无用的灵魂的碎碎念

了解几种常用的哈希校验码

最近下载msdn 版vista时,发现微软同时提供了SHA1校验码,我们就可以通过这些校验工具来比较下载的文件是否原汁原味。

1254
来自专栏黑白安全

加密电邮在裸奔:PGP与S.MIME严重漏洞曝光

据 ArsTechnica 报道,此前在互联网上被广泛使用的电子邮件加密方法(PGP 与 S/Mime),已经曝出了两个严重的漏洞,或导致加密电邮在黑客面前暴露...

681
来自专栏腾讯Bugly的专栏

iOS App 签名的原理

本文来自 微信读书 团队博客:http://wereadteam.github.io/ 导语 iOS 签名机制挺复杂,各种证书,Provisioning Pro...

5275

扫码关注云+社区