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中的同名关键类提高类替换的门槛(父程序域覆盖子程序域)

Flash 加密和破解的更多相关文章
- 老王教您怎么做cass7.1 8.0 9.1所有系列的复制狗 加密狗 破解狗
cass7.1 8.0 9.1所有系列的复制狗 加密狗 破解狗本来是出于好奇看到网上有这样的东西,学了下感觉挺简单的,如果你是cass的初学者想仅仅是想学习这个软件,不想花大价格购买正版的,这个是可以 ...
- Flash Builder4.6破解方案(亲测有效)(转)
转自 http://bbs.9ria.com/thread-139463-1-1.html 当修改Host文件无法破解时,需要修改Flash Builder安装目录下某些文件来达到破解的目的,经网上搜 ...
- ESP32的Flash加密知识
一.Flash 加密功能用于加密与 ESP32-S2 搭载使用的 SPI Flash 中的内容.启用 Flash 加密功能后,物理读取 SPI Flash 便无法恢复大部分 Flash 内容.通过明文 ...
- “不给力啊,老湿!”:RSA加密与破解
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 加密和解密是自古就有技术了.经常看到侦探电影的桥段,勇敢又机智的主角,拿着一长串毫 ...
- 记一次ctf比赛解密题的解决(可逆加密基本破解之暴力破解)
题目是这个样子的: code.txt的内容是这样: 有点吓人木?233333 其实解密之后是这样的: 找到一点安慰没? 好了,废话不多说.讲解一下思路吧. 我们知道base64加密是属于可逆加密的.简 ...
- [原创]aaencode等类似js加密方案破解方法
受http://tieba.baidu.com/p/4104806767 2L启发,不过他说的方法,我没有尝试成功,自己摸索出了一个新方法,在这里分享下. 首先拿aaencode官网的加密字符串作为例 ...
- Python爬虫反反爬:CSS反爬加密彻底破解!
刚开始搞爬虫的时候听到有人说爬虫是一场攻坚战,听的时候也没感觉到特别,但是经过了一段时间的练习之后,深以为然,每个网站不一样,每次爬取都是重新开始,所以,爬之前谁都不敢说会有什么结果. 前两天,应几个 ...
- php screw加密与破解
一.破解工具之php-screw-brute 1.项目地址 https://github.com/securifybv/php-screw-brute 2.项目介绍 此脚本可以恢复/爆破php scr ...
- Ecstore会员密码加密方式破解
<?php //以下是加密方式,亲测有效 $string_md5 = md5(md5("密码")."用户名"."注册时间");//三个 ...
随机推荐
- [DEFCON全球黑客大会] CTF(Capture The Flag)
copy : https://baike.baidu.com/item/ctf/9548546?fr=aladdin CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的 ...
- Git: Push rejected 的解决方案
Push rejected: Push to origin/master was rejected 首先,git init (在工程文件夹下) git remote add [-t <branc ...
- 「BZOJ」「3262」陌上花开
CDQ分治 WA :在solve时,对y.z排序以后,没有处理「y.z相同」的情况,也就是说可能(1,2,3)这个点被放到了(2,2,3)的后面,也就是统计答案在前,插入该点在后……也就没有统计到! ...
- Useful JVM Flags – Part 8 (GC Logging)
The last part of this series is about garbage collection logging and associated flags. The GC log is ...
- .net 系列:Expression表达式树、lambda、匿名委托 的使用【转】
https://www.cnblogs.com/nicholashjh/p/7928205.html 首先定义一个泛型委托类型,如下: public delegate T Function<T& ...
- 交互软件Axure—高保真原型
在上一篇文章中跟大家分享了Axure7.0 的简介.基本操作和原型图的制作,主要是应用元件库里的原件进行界面元素的搭建,直至完成原型图,在最后给大家展示了高保真原型图效果.而在本次分享中,主要带领大家 ...
- Android基于RecyclerView实现高亮搜索列表
这篇应该是RecycleView的第四篇了,RecycleView真是新生代的宠儿能做这么多的事情. 转载请注明作者AndroidMsky及原文链接 http://blog.csdn.net/Andr ...
- ubuntu忘记root密码 的解决方法
alt+f2,在弹出的运行窗口中输入:gnome-terminal,回车. 即进入终端 输入:sudo passwd root,回车后会提示你输入你当前用户的密码 之后 按提示输入两次root的密码( ...
- 一文学会用 Tensorflow 搭建神经网络
http://www.jianshu.com/p/e112012a4b2d 本文是学习这个视频课程系列的笔记,课程链接是 youtube 上的,讲的很好,浅显易懂,入门首选, 而且在github有代码 ...
- scp ssh: connect to host 9.123.159.41 port 22:connection refused的解决办法
不同机器之间的文件拷贝,可以用scp命令 使用时报:ssh:connect to host 192.16.41.121 port 22:connectionrefused mac 无法ssh loca ...