[flash疯狂破解加密系列一]使用as3+alchemy对swf自我加密

刚作做的swf 加密 ,完全用as3 对原swf自我加密。
使用alchemy对原swf加壳,加壳方法非常简单。加密过程全部使用的c代码也就三行。外层的无用代码应该还可以看到,"但内层swf源代码估计不会有人能破解了! 大家可以尝试反编译 一下。不敢说无人能破,但我估计应该是很难破解的!"
前面的贴中as3加壳已很容易被“flash 023” 兄破解了,其实那只是as3加壳试验部分,本来应该注释掉的,结果给大家造成误导...(我想要破解的是alchemy-C语言加壳部分(象征性的三行加壳代码,其实改成一行也可以))现在重新制作加密文件(as3加壳部分去掉了,只剩下C加壳部分)。

提示:1.想要破解出去壳的C代码应该是不可能的。
2.我想到的方法是运行时save出alchemy解壳后的原始swf,是否可行请自行尝试(如果asv 可以导出alchemy编译的swc因该没问题,如果asv可以动态修改swf脚本并直接运行也应该是可以的,如果以上两条有任意一条成立,则任何简单的swf加壳方法都是完全可以破解的,想要加密推荐混淆,或干脆使用HaXe或alchemy去写主要代码)
3.代码未作变量名替换,没有使用加密软件,加密的swf生成代码/内层swf源代码(*=待破解的变量名):

var *= new TextField();
*.text="请您破解";
*.textColor=0xff0000;
*.scaleX=*.scaleY=10;
addChild(*);

欢迎回复破解方法,思路
AS3_encrypt_test.swf (84.47 KB)


问题已解决?经验:
我的加密方法(直接对原始.swf):
1.加壳“使用loader读入原始.swf”对 bytearray重新编码,save加壳.swf;
2.embed 加壳.swf(已无法正常运行)到loader类,传加壳.swf给alchemy,使用1中方法去壳(重新编码)得到原始.swf
传给 flash,
3.使用loader加载 原始.swf,addChild到舞台.
解密思路:
加密方法第1步:无懈可击.加壳过程及加壳时用代码是破解者无法得到的。
加密方法第2步:由于去壳代码使用c语言编写,alchemy编译,基本上很难有任何作为.
问题就出在要想显示原始.swf,运行时内存中一定存在还原后的swf,此时如果没有任何保护措施,那就...哈哈!
解密方法:
多谢flash023兄:

不是写进去
因为你的壳子的所有类是暴露的,所以直接用你的类,再做一个加载器来加载你的SWF ,然后保存出 ...
flash023 发表于 2010-1-29 14:27


看来“混淆"才是加密的王道啊!
java,flash加密还是很难的.想起了C语言,不要说反编译exe了,前几天在看某程序 源码 ,其中一百多行的内嵌汇编写的,让我直接吐血了...

在下flash加解密方面的的的确确是一个实实在在的"新手 未入门",是因为之前对其不是太感兴趣...代码注释是永远无法破译的...
然而真的要想加密也很简单:
只不过不喜欢这种加密方法.
附件未使用任何工具 作加密,但任何破解在此时都是无意义的...大家反编译一下就明白了...
加密其实很容易.swf (3.63 KB)


源代码:

  1. var *  = root.createEmptyMovieClip("*",1);
  2.         *._x=256;
  3.         *._y=256;
  4.         *.beginFill(0xFF0000);
  5.         *.moveTo(-256,-256);
  6.         *.lineTo(256,-256);
  7.         *.lineTo(256,256);
  8.         *.lineTo(-256,256);
  9.         *.endFill();
  10.                 *.onEnterFrame=function(){
  11.                         *._rotation+=10;
  12.                         new Color(*).setRGB(Math.floor(Math.random()*0xffffff));
  13.                 }
复制代码

希望大家继续多汇报一下反编译过程中遇到的情况!我比较想了解 alchemy被反编译后能否重新正常编译出swf

补充:
这里的alchemy的加密方法对swf文件加密虽然被flash023破解了,但起码如果用于加密图片资源还是绝对有效的.
Bengine详细介绍:http://flash.9ria .com/thread-44986-1-1.html
引擎demo中使用的5个贴图文件资源绝对是任何人无法通过反编译破译导出的

相关讨论:http://flash.9ria.com/thread-44239-1-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值