开发者社区 问答 正文

包含flash的页面如何打包成exe或者封装js,以达到保护代码的效果 : 配置报错 

背景介绍:程序由flash和echarts开发,其中flash生成的文件嵌入到页面中,作为首页。
目的:将程序打包成可执行文件,如exe,使其他人可以正常运行程序,但是不泄露源代码。
曾经试用的方法:
(1)使用html打包程序,运行不正确。如:htmlCompiler,首页flash不显示,从而无法跳转到其他页面; 课件打包程序,flash可以正常运行,但是网页中无法生成图像;WebExe同样的问题;
(2)使用flash打包工具,同样是flash可以运行,但是网页无效;
(3)使用js压缩和混淆,但是可能由于js脚本中调用全局变量,处理后的脚本无效。
希望能尽快得到有效的建议,谢谢大家!

展开
收起
kun坤 2020-06-04 11:22:55 1023 分享 版权
阿里云 AI 助理回答

针对您的需求,将包含Flash和Echarts的网页程序打包成可执行文件(如.exe),同时确保源代码不被泄露,确实需要综合考虑多种技术和工具。考虑到Flash已不再被大多数现代浏览器支持,并且Adobe官方也宣布在2020年底停止对Flash的支持,因此使用Flash开发的内容可能面临兼容性和安全性问题。不过,针对您当前的情况,这里提供一些建议:

  1. 使用NW.js或Electron

    • NW.js(原名node-webkit)和Electron都是基于Chromium的框架,允许您使用HTML、CSS和JavaScript来构建跨平台的桌面应用。
    • 您可以将整个网页项目(包括Flash SWF文件和Echarts相关资源)放入这些框架中,然后打包成.exe或其他平台的可执行文件。
    • 由于Flash的限制,您可能需要确保目标用户的系统中仍安装有Flash Player或者寻找替代方案(如将Flash内容转换为HTML5)。
    • 这些框架本身不会直接保护源代码,但您可以利用Webpack等工具进行代码混淆和压缩,以增加逆向工程的难度。
  2. 转换Flash为HTML5

    • 考虑到Flash的未来趋势,如果可能的话,将Flash内容转换为HTML5(例如使用Animate CC的HTML5 Canvas或WebGL输出功能)会是更长远的解决方案。
    • Echarts本身就是基于JavaScript的图表库,与HTML5兼容良好,这将简化整体打包过程并提高程序的可维护性及兼容性。
  3. 代码混淆与加密

    • 对于JavaScript代码,除了基本的混淆外,还可以考虑使用像UglifyJS或Terser这样的工具进一步压缩和混淆代码。
    • 虽然完全防止源代码被查看是不可能的(因为最终用户需要能够运行它),但混淆可以大大增加逆向分析的难度。
    • 对于特别敏感的部分,可以考虑使用WebAssembly(WASM)来编译关键逻辑,WASM提供了比JavaScript更好的性能和一定程度的代码保护。
  4. 使用专业的打包工具

    • 尝试一些商业级的打包工具,比如Excelsior JET(虽然主要是针对Java应用,但它展示了如何将解释型语言转换为本地代码的概念),或者寻找专门针对HTML5应用的高级打包解决方案,它们可能提供更全面的保护措施。

综上所述,考虑到Flash的现状,最理想的方案可能是逐步迁移至HTML5技术栈,并利用现代的桌面应用框架(如Electron或NW.js)来打包应用。同时,采取代码混淆和适当的加密措施来保护您的代码。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答