开发者社区> 问答> 正文

包含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 978 0
1 条回答
写回答
取消 提交回答
  • js,flash 本身的源码只能混淆,想别人完全看不到那个不容易,封装成EXE达不到保护HTML,JS源码的效果,即使看不到HTML文件用窗口探针类的软件也可以抓出html源码。HTML打包成独立EXE的工具一般是IE内核,打包以后之所以flash显示不正常,那可能是因为flash不支持IE的res协议导致的,你可以把flash放在web服务器上打开再加载应当就行了,如果是单独的flash倒是有办法放到EXE里面然后内存加载。

     

    生成EXE可以用 AAuto写个简单的浏览器壳子, echarts 可能需要webkit内核,举个例子:

    import win.ui; /DSG{{/ var winform = ..win.form(text="webkit浏览器";right=1123;bottom=616) /}}/

    import web.kit.form; var webkit = web.kit.form(winform); webkit.go("http://echarts.baidu.com/doc/example/line2.html")

    winform.show() win.loopMessage();

    ###### @figer1 不好意思,又得打扰您了。我刚刚试了将资源目录【内嵌资源】设为false,但是生成的exe点击仍然不显示内容。我将整个过程描述一下,您看是不是哪里步骤我弄错了。首先######回复 @wantChange2011 : webkit不支持res协议,所以res目录【内嵌资源】要设为false, webform可以支持内嵌资源生成独立EXE,但是使用的是IE内核。######您好,根据您的方法,我将所有的页面放在新建工程里面的res文件夹里,点击运行显示正常。不过发布后点击生成的exe文件就看不到东西了。请问这是什么原因,可以解决吗? 谢谢。######非常感谢您的回复,提供了我之前不知道的知识。###### @figer1  首先生成webKit界面,然后输入如下代码:
    import win.ui; /DSG{{/ var winform = ..win.form(text="webkit浏览器";right=1123;bottom=616) winform.add() /}}/

    import web.kit.form; var webkit = web.kit.form(winform); webkit.go("/html/index-a.html")

    winform.show() win.loopMessage();

    之后,在res文件夹中放入自身的html及相关引用文件。将内嵌资源项改成false,然后编译生成一个test.aau文件,运行正常。
    最后发布生成exe文件,就不显示内容了。不过如果webkit.go()后面是直接的网址,发布后可以正常运行。
    辛苦您了!

    ###### 你可能是把文件复制到html目录下,但是并没有添加到工程里。 在工程里右键点HTML目录,然后点“同步本地目录”把所有文件添加到工程里就可以了。
    也就是你生成的EXE下面没有 "/html/index-a.html" 这个文件,你直接复制过去就行的。 ######果然能运行了,非常感谢!

    2020-06-05 13:16:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载