有没有办法混淆整个Cordova / Phonegap项目?

时间:2015-01-11 13:02:22

标签: cordova obfuscation

我想知道是否有工具来混淆整个Cordova / Phonegap项目? 我的意思是整个js文件,它们彼此相关,并且与html和css文件相关。我很难一个接一个地去做。

4 个答案:

答案 0 :(得分:6)

项目混淆是变量/函数重命名的唯一方法 与您的所有文件(包括HTML)保持一致,而您的代码则不然 打破。此外,混淆器正确处理也很重要 依赖关系,并以保证的方式执行代码转换 代码没有被破坏。

JScrambler是恕我直言的最佳工具:

  • 它支持在项目中(任何类型)一次性混淆所有文件 项目,Cordova包括)
  • 它对Mobile / HTML5有特殊支持,可以减少混淆 不伤害表现
  • 它有一堆你可以使用的API客户端。我个人用 npm版本,但也有一个Grunt版本。
  • 这通常比我认识的所有其他混淆器都要好。

关注“uglifiers”的一句话。他们中的大多数都是简单的缩放器 优化器。他们做得很好,但非常糟糕 混淆。反转代码通常很快。

答案 1 :(得分:0)

你可以使用Grunt自动执行这样的任务,这个例子Gruntfile.js内置了“uglification”,这实际上是混淆。

http://gruntjs.com/sample-gruntfile

答案 2 :(得分:0)

您无法对一组文件进行合理的混淆,一次一个。您需要集体模糊文件集,在集合中一致地加扰名称/代码,保留它们提供给从集合外部调用它们的代码的公共接口,并保留集合外部代码的接口,集合访问。 / p>

这很困难的部分是了解"公共界面"是。不幸的是,人们无法仅从代码中分辨出来;它取决于应用程序的设计及其对所使用服务及其提供的服务的假设。因此,首先必须通过写下来公开显示此公共接口,否则混淆工具将无法工作。一种方法是指定一组不得混淆的标识符。

鉴于这样的公共接口规范,我们的ECMAScriptObfuscator将机械可靠地模糊一组文件,包括纯JavaScript文件和带有嵌入式JavaScript片段的HTML。

答案 3 :(得分:0)

我尝试了许多在线混淆器。然后我在线查看了各种De-Obfuscators工具,发现他们可以对大部分混淆代码进行逆向工程。

然后我找到了一个名为JASOB的Windows应用程序的免费试用版(然后买了它)。它提供了非常详细的控制,可以重命名所有函数,变量并允许您使用前缀/后缀名称。例如,我有4个JavaScript文件,它们各自做了一些独特的工作,并没有跨越边界。在一个中,我使用类似js_的东西作为前缀,并将所有函数和变量重命名为js_Mx21()js_Z1Ax()。

您还可以打开多个JavaScript文件,它将处理跨文件的重命名,因此如果您使用的是共享变量,则不会被烧毁。此应用程序还处理HTML和其他语言。在我买它之前,我给他们发了一些问题,因为坦率地说,网站看起来很旧,但他们回答说,我不得不说我对这个应用程序的强大感到非常满意。

http://www.jasob.com/