使用 Google Closure Compiler 时如何防止关键字被混淆?

     2023-02-22     214

关键词:

【中文标题】使用 Google Closure Compiler 时如何防止关键字被混淆?【英文标题】:How to prevent keywords from getting obfuscated when using Google Closure Compiler? 【发布时间】:2015-07-24 14:00:02 【问题描述】:

我正在尝试使用 Google Closure 编译器混淆 javascript 文件(大约 50 个)。这些文件都相互依赖。

在简单模式下,它只混淆局部变量。

在高级模式下,它会混淆所有变量和函数,包括我不想混淆的某些关键字(args、readline、atEnd)。

如何混淆某些变量而不混淆其他变量?具体来说:我不希望关键字被混淆。

【问题讨论】:

没有are keywords? 为什么不希望这些混淆?您是否在一个脚本中声明全局变量并在另一个脚本中使用它们? 这些是 nodejs 关键字。我可以知道如何外部 nodejs 吗?? 【参考方案1】:

ADVANCEDSIMPLE 模式之间存在相当大的差异。高级优化仅适用于旨在不违反任何compiler restrictions 的代码库。在继续之前,您可以阅读Which Compilation Level is Right for Me?

你的问题的答案是外部和出口:

Externs 阻止编译器重命名外部库中的符号 导出会保留代码中的符号以供其他地方使用

【讨论】:

【参考方案2】:

我没有使用 Google Closure Compiler 的经验,但为了混淆我的项目,我使用了 Jscrambler。 它使您可以防止关键字被他们称为"Rename Exclude List" 的黑名单混淆。我有时会在我有微妙的函数名称时使用此功能,否则如果它们被混淆会破坏我的代码。

【讨论】:

使用 Google Closure Compiler 时如何防止关键字被混淆?

】使用GoogleClosureCompiler时如何防止关键字被混淆?【英文标题】:HowtopreventkeywordsfromgettingobfuscatedwhenusingGoogleClosureCompiler?【发布时间】:2015-07-2414:00:02【问题描述】:我正在尝试使用GoogleClosure编译器混淆javascript文件(大约50个... 查看详情

让 browserify 与 Google Closure Compiler 一起工作

】让browserify与GoogleClosureCompiler一起工作【英文标题】:MakebrowserifyworkwithGoogleClosureCompiler【发布时间】:2014-07-0404:15:20【问题描述】:我正在尝试使用GoogleClosureCompiler使用高级优化来编译我由browserify生成的代码。尝试使用不同的... 查看详情

如何有效地将 google-closure javascript 转换为现代 ES6?

】如何有效地将google-closurejavascript转换为现代ES6?【英文标题】:HowcouldIeffectivelyconvertgoogle-closurejavascripttomodernES6?【发布时间】:2020-06-2902:06:20【问题描述】:我有一个使用google-closure样式模块goog.provide和类等的代码库。我想对... 查看详情

为啥 Google 的 Closure 库不在他们的 CDN 上托管?

】为啥Google的Closure库不在他们的CDN上托管?【英文标题】:Whyisn\'tGoogle\'sClosurelibraryhostedontheirCDN?为什么Google的Closure库不在他们的CDN上托管?【发布时间】:2011-01-1404:08:05【问题描述】:Google托管了许多JavaScript库,例如jQuery和do... 查看详情

Google Closure 编译器:默认 CompilerOptions

】GoogleClosure编译器:默认CompilerOptions【英文标题】:GoogleClosureCompiler:defaultCompilerOptions【发布时间】:2015-07-2208:42:12【问题描述】:在源代码中,ClassCompilerOptions用于控制编译过程。我们可以通过调用“setXXX()”方法手动配置选... 查看详情

带有 wro4j 和 Google Closure 编译器的 ECMASCRIPT 5

】带有wro4j和GoogleClosure编译器的ECMASCRIPT5【英文标题】:ECMASCRIPT5withwro4jandGoogleClosureCompiler【发布时间】:2012-12-1403:22:56【问题描述】:我们正在使用wro4j与GoogleClosure和Maven来缩小我们的JS。默认情况下,它不支持JS中的严格模式... 查看详情

Google Closure:如何渲染 2 个组件

】GoogleClosure:如何渲染2个组件【英文标题】:GoogleClosure:Howtorender2components【发布时间】:2014-01-1400:32:54【问题描述】:我有2个goog.ui.component说component1和component2我必须渲染两者。varbottom_content=goog.dom.getElement(\'diag_details\');component... 查看详情

Google Closure - 将数据表单数据转换为 json 对象

】GoogleClosure-将数据表单数据转换为json对象【英文标题】:GoogleClosure-Formdatatojsonobject【发布时间】:2011-10-2610:42:42【问题描述】:是否可以从表单数据中获取JSON?我只能获取数据映射或字符串表示。varform=goog.dom.getElement(\'myform\... 查看详情

Google 富文本编辑器演示未在本地主机上运行

...看我是否可以在我的项目中使用它。https://google.github.io/closure-library/source/closure/goog/demos/e 查看详情

okhttp常用使用方式封装演示

工具介绍使用:AndroidStudio:【compile‘com.squareup.okhttp3:okhttp:3.4.2‘】和【compile‘com.zhy:okhttputils:2.6.2‘】和【compile‘com.google.code.gson:gson:2.3.1‘】eclipse:添加okthttp、okio、gson的jar包,复制okhttputils的源码到项目中封装 查看详情

状态码 12501 使用 google 登录进行身份验证

...些代码行进行G+登录android集成。在应用程序build.gradle中:compile\'com.google.android.gms:play-services-auth:8.4.0\'compi 查看详情

android按需添加googleplay服务

...何种GooglePlay服务,都是直接在gradle文件中引用一个库。compile‘com.google.android.gms:play-services:9.4.0‘这直接导致放法数超过了65535,后来发现从6.5版本以后是可以按需引用的,如下:compile‘com.google.android.gms:play-services-ads:9.4.0‘compil... 查看详情

想要在默认的 android 抽屉上打印电子邮件但收到一些“Closure()”错误

】想要在默认的android抽屉上打印电子邮件但收到一些“Closure()”错误【英文标题】:Wanttoprintemailonthedefaultandroiddrawerbutgettingsome"Closure()"error【发布时间】:2020-07-1405:32:54【问题描述】:**想在抽屉上打印帐户电子邮件ID**... 查看详情

无法使用 Google Services Analytics 编译反应原生项目

...GoogleServicesAnalytics编译反应原生项目【英文标题】:Can\'tcompilereactnativeprojectwithGoogleServicesAnalytics【发布时间】:2017-11-2509:21:26【问题描述】:我一直在使用reactnative并按照说明添加了adjustsdk,但无法在android端编译项目。我遇到的... 查看详情

无法添加任务':processdebuggoogleservices'作为具有该名称的任务已存在(代码片段)

...ld:gradle:2.2.1'classpath'com.google.gms:google-services:3.1.0'dependenciescompilefileTree(dir:'libs',include:'*.jar')//SUB-PROJECTDEPENDENCIESSTARTdebugCompile(project(path:"CordovaLib",configuration:"debug"))releaseCompile(project(path:"CordovaLib",configuration:"release"))compile"com.google.fireb... 查看详情

路由过滤器中 closure() 缺少参数 3

】路由过滤器中closure()缺少参数3【英文标题】:Missingargument3forclosure()inroutefilter路由过滤器中closure()缺少参数3【发布时间】:2017-02-2213:28:30【问题描述】:我正在使用laravel4.2并使用过滤器来记录所有路由请求及其响应。这基本... 查看详情

我的 Closure 编译的源映射有啥问题?

】我的Closure编译的源映射有啥问题?【英文标题】:What\'swrongwithmyClosurecompiledsourcemap?我的Closure编译的源映射有什么问题?【发布时间】:2014-03-2211:37:17【问题描述】:我按照here的描述使用Closure编译了一个小测试:使用java-jarco... 查看详情

播放服务升级到 7.5 后的 Google 分析问题

...-09-1618:19:26【问题描述】:在我们将GooglePlay服务升级到:compile\'com.google.android.gms:play-services-base:7.5.0\'compile\'com.google.android. 查看详情