如何实现混淆的javascript代码

时间:2014-10-01 08:58:44

标签: javascript obfuscation

帮帮我吧!

我想问一下如何实现我的混淆代码?

以下是我的示例代码

var accessToken = $('#access_token').val();
var myapp = angular.module("loginApp", []);


myapp.controller("loginCtrl", function ($scope, $http) {
    $scope.log_username = '';
    $scope.log_password = '';
    $scope.loginfirst = $("#reqerr").val();

示例代码混淆代码

eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('3 4=$(\'#8\').2();3 1=7.6("5",[]);1.g("9",e($0,$f){$0.d=\'\';$0.c=\'\';$0.a=$("#b").2();',17,17,'scope|myapp|val|var|accessToken|loginApp|module|angular|access_token|loginCtrl|loginfirst|reqerr|log_password|log_username|function|http|controller'.split('|'),0,{}))

我的问题是我如何实现它?我试图用模糊代码替换我的示例代码,我收到错误,我不知道应该如何实现它?

PS不介意上面的代码,它只是一个样本..

1 个答案:

答案 0 :(得分:-2)

你需要一个像google的闭包编译器这样的特殊工具,但在此之前你需要正确地内联注释你的服务......

myapp.controller("loginCtrl", ["$scope", "$http", function ($scope, $http) {
    ....
}])

该陈述阐明了原因,并且是正确的。

  

“缩小时,更改变量名称以节省空间。这意味着   $ scope变量可以重命名为'a',这会干扰   AngularJS的依赖注入。注释服务允许   AngularJS保持缩小变量与之间的关系   他们代表的服务“    - bob esponja

然后按照以下步骤操作:

步骤1)下载http://dl.google.com/closure-compiler/compiler-latest.zip

步骤2)运行(您需要安装java的JRE或JDK)

java -jar compiler.jar --js hello.js --js_output_file hello-compiled.js