1703/092
Flash-一个另类的反破解方法
大家说说看,不使用加密工具,又要简单,又要不破坏源代码可读性,应该怎么反破解?
哈,我来介绍一个简单的方法,就是使用中文变量名(Flash8,Flash CS3和Flex都支持)……个人觉得这个做法挺无耻的……
而且看到类似var 我是变量:String="xxx";的代码,是不是心里怪怪的?
不过话又说回来,如果源文件是纯国内使用,其实也是一个不错的做法,中文变量比E文的直截了当的多,对吧。
下边放个Demo:
哈哈,然后是有趣的中文代码:
[js]
var 需要复制的mc个数:uint=7;
for (var i:uint=0; i<需要复制的mc个数; i++) {
var 单个mc:mc=new mc();
单个mc.x=i*75+20;
单个mc.y=50;
addChild (单个mc);
}
[/js]
我使用SWFDecompiler4.4测试了一下,破解出来的文件库内元件是有的,但是代码却是空的,ASV5破解的情况也是如此,有兴趣的也可以下载了破解看一下。
怎么说呢这个,大概是因为反编译软件没有考虑读取中文编码的原因吧。
July 4th, 2010 - 16:02
package chineseVars_fla
{
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.ui.*;
dynamic public class MainTimeline extends MovieClip
{
public var myMenu:ContextMenu;
public var 需要复制的mc个数:uint;
public var i:uint;
public var blogURL:String;
public var myBlog:ContextMenuItem;
public var request:URLRequest;
public var 单个mc:mc;
public function MainTimeline()
{
addFrameScript(0, frame1);
return;
}// end function
function frame1()
{
需要复制的mc个数 = 7;
i = 0;
while (i < 需要复制的mc个数)
{
单个mc = new mc();
单个mc.x = i * 75 + 20;
单个mc.y = 50;
addChild(单个mc);
var _loc_2:* = i + 1;
i = _loc_2;
}
myMenu = new ContextMenu();
myBlog = new ContextMenuItem("DFdou\'s Blog");
blogURL = "http://nwhy.org";
request = new URLRequest(blogURL);
myMenu.hideBuiltInItems();
myMenu.customItems.push(myBlog);
myBlog.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, blog);
this.contextMenu = myMenu;
return;
}// end function
public function blog(event:ContextMenuEvent) : void
{
navigateToURL(request);
return;
}// end function
}
}
纯扯
[Reply]
July 29th, 2010 - 09:46
[Reply]