Flash程序员:如何让你的代码反编译证明?

发布于 2024-07-10 08:41:11 字数 695 浏览 13 评论 0原文

到目前为止,我已经参与了几个 Flash 项目。 我了解 AS3,但我也开始对其他 Flash 程序是如何编写的感到好奇,因此我反编译了一些 swf 文件以了解它们是如何制作的。 (我也读过开源项目,但我不会这么说,因为我对反编译 swf 文件或其他任何东西感到内疚。)并且通过研究这些项目我学到了很多东西。 但有些项目我根本无法理解代码。 看起来不可能是人类写的!

也许他们被迷惑了,对吧? 这让我开始思考:越来越多的网站提供 Flash/Flex 应用程序作为其主要服务。 我想到的是 Scribd、Sproutbuilder,但你也可以想到其他的。 这些网站非常有兴趣保护其 Flash 平台中的代码。

这引出了我的问题:闪存程序员使用什么样的工具或技术来使代码防反编译?

编辑:发布此内容后,我发现 查尔斯·米勒 (Charles Miller) 的这篇有趣的帖子 关于徒劳的的混淆。 他提出了一个公平的观点。 软件是一种时间投资,最终有人会投入足够的时间来进行逆向工程,即使是软件工程中最艰巨的项目。 (提示,提示:Mac OS、Windows、iPhone,凡是你能想到的。)但这并不意味着混淆不能为率先进入市场的公司提供物质利益(在短时间内)和竞争优势。 我是对还是错?

I've worked on several flash projects so far. I know my way around AS3 but I also started becoming curious about how other flash programs are written, so I decompiled a few swf files to see how they were made. (I have also read through open source projects, but I don't say that because I feel guilty about decompiling swf files or anything. ) And I learned a lot by looking into these projects. But there were some projects where I couldn't make any sense of the code at all. It looked like they couldn't have been written by human beings!

Maybe they were obfuscated, right? And that got me thinking: there are more and more sites that offer a Flash/Flex application as their primary service. I'm thinking of Scribd, Sproutbuilder, but you could think of others. These sites have a great interest to protect the code in their Flash platforms.

So that brings me to my question: what kind of tools or techniques do you, flash programmers, use to make your code decompile-proof?

EDIT: after posting this, I came across this interesting post by Charles Miller about the futility of obfuscation. He makes a fair point. Software is an investment of time, and eventually someone will put enough time to reverse engineer even the most daunting project of software engineering. (Hint, hint: Mac OS, Windows, iPhone, you name it.) But that doesn't mean obfuscation doesn't provide a material benefit (for a short period of time) and competitive advantage to companies that were first in the market. Am I right or wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

数理化全能战士 2024-07-17 08:41:11

SWFEncrypt 是我团队中许多人使用过的一种方法,并取得了一些成功。 显然,直到最近,对 AS3 的支持还不确定,但已确认可以在 5.0.4+ 中工作

http:// www.amayeta.com/software/swfencrypt/

SWFEncrypt is one that many guys on my team have used with some success. Apparently the support for AS3 was iffy until just recently but is confirmed to work in 5.0.4+

http://www.amayeta.com/software/swfencrypt/

人生戏 2024-07-17 08:41:11

据我所知,像 swfencrypt 这样的混淆工具在 ActionScript 2 中效果更好,因为它具有 eval() 函数,这是隐藏代码的好方法。 但是,我仍然建议使用类似的东西,更重要的是,您将尽可能多的逻辑放在安全的服务器上。

As far as I know, obfuscation tools like swfencrypt worked better with ActionScript 2 because it had the eval() function, which was a good way of hiding code. However, I would still recommend using something like this, and more importantly that you put as much logic as possible on the server, where it is secure.

§对你不离不弃 2024-07-17 08:41:11

有多种商业和免费的动作脚本混淆器,Google 搜索会出现多种。 我不能为任何特定的一个提供保证,但我确信它们仍然可以在某种程度上进行逆向工程。

IMO,如果混淆器通过将变量、函数和类重命名为无意义/随机字符而使您的代码变得不可读,那么对于那些想要阅读您的代码或将任何东西拼凑成一个微不足道的程序的人来说,这通常会带来很大的挫败感。

There are several commercial and free action script obfuscators, a google search turns up several. I can't vouch for any particular one, but I'm sure that they can all still be reverse-engineered to some extent.

IMO, if the obfuscator makes your code unreadable by renaming the variables, functions and classes to meaningless/random characters, that is often is a whole heck of a lot of discouragement who wants to read your code or piece together anything more than a trivial program.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文