【问题标题】:Does an actionscript decompiler get actionscript from dynamically linked as files?动作脚本反编译器是否从作为文件动态链接的动作脚本中获取动作脚本?
【发布时间】:2011-03-13 13:20:01
【问题描述】:

我正在创建一个 Flex 4 项目,并希望使用加密进行基于动作脚本的登录,但我显然不希望它被轻易反编译。如果我动态链接到“非浏览”目录中的 swf 文件,基本应用程序 actionscript 文件的反编译器是否也会给出链接文件的代码?

例如

[基本目录] 索引.html 应用程序.swf [模块] --此目录不可浏览-- login.swf

app.swf 在加载时导入 login.swf。

【问题讨论】:

    标签: flash apache-flex security actionscript


    【解决方案1】:

    您所说的不可浏览是什么意思?如果在用户机器上运行的 app.swf 可以在运行时加载 login.swf,那么 login.swf 是公开可读的。如果它是公开可读的,则可以轻松下载和反编译。

    您永远无法安全地将“秘密”嵌入到 SWF 中,也永远无法安全地验证客户端(仅限用户)。也许更重要的是,安全登录不应该首先要求您实施加密。一般来说,最好的做法是通过 HTTPS 发送登录信息,让浏览器的传输层为您处理加密。它应该对您的 Flex 应用程序是透明的。

    【讨论】:

    • 所以你说将用户名/密码以明文形式发送到“login.php”后端以进行用户创建/比较是一种可接受的登录方法?
    • 好的.. 查找它似乎基本上是 SSL 等的全部要点,可以捕获和解密常规会话......我只是想确保我不会最终会出现一些在安全性方面落后于时代的无用应用程序。
    【解决方案2】:

    反编译器会给你的是你正在反编译的 swf 的代码和资产。

    同样,根据我从当前可用的反编译器中看到的情况,您将看不到您的主要父 swf 加载的子 swf 中的代码和资产,除非您复制它并反编译该 swf;但是,这非常容易做到,因为您可以简单地从缓存中复制它。

    您应该习惯这样的想法,即每个人都可以看到您的代码,即使您对其进行了混淆,并且您应该将驻留在客户端的演示代码与后端分开以确保安全在服务器端。

    设计你的逻辑就像它是一个 HTML 登录表单一样,出于安全原因,因为用户可以轻松查看源代码,你总是需要依赖服务器端进行身份验证和验证,而不是将驻留在客户端并在客户端运行的代码。

    如果代码在客户端,那么用户可以随心所欲地使用该代码,并且如果用户足够熟练,那么您真的无法阻止他或她免得惹它。

    【讨论】:

    • 谢谢,我正在尝试使用 FLEX 和 amfphp 创建一个简单的登录...但是我最终以纯文本形式发送用户名/密码以在后端加密(开放拦截)或我在 FLEX 中对其进行加密,显然可以反编译,并且可以拦截和使用加密方法...我看不到每个 flash 站点都有这两个主要缺陷之一,但它似乎是我能找到的唯一教程。 .. 您能否指出通过 flex(flash) 前端创建安全登录的正确方法?
    • 我可以建议的所有登录方式,是确保您的服务器对信息进行身份验证,并使用 ssl 或专有加密来防止大多数数据包嗅探/拦截/修改尝试;但是,即使您使用的是 ssl,如果您处于 MITM(中间人)场景中,攻击者充当客户端和服务器之间的代理,这当然会失败。
    • 感谢您的信息,绝对安全不是首要任务,我只是不想制作一个缺少一些最基本安全措施的应用......我几乎没有关于客户端/服务器安全的知识,但现在我想我了解更多了。谢谢!
    猜你喜欢
    • 2016-01-23
    • 2010-12-20
    • 2010-12-09
    • 2016-03-27
    • 2012-08-11
    • 1970-01-01
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多