您的位置:首页 > Web前端 > JavaScript

js 隐藏代码生成工具

2014-06-27 23:25 274 查看


昨天写了篇《js 奇葩技巧之隐藏代码》,今天来写个工具方便大家生成吧。
在昨天算法基础上优化了解码算法,采用立即函数运行。
有两种模式可供选择:

1. eval 全局模式,比如你定义的 var abc = 123; 生成执行后,可直接调用。
2. Function 独立作用域模式,你定义的变量全是私有的,外部不可访问,如果你要暴露到全局,请使用 abc = 123; 或者 window.abc = 123; 实现。

alert('测试一下。')

执行方式:
eval(x)
Function(x)()

// !function(r){function n(r){return r=r.replace(/[^\x00-\xff]/g,function(r){return escape(r).replace("%","\\")}),r=r.replace(/[\s\S]/g,function(r){return r=r.charCodeAt().toString(2),r=r.length<8?Array(9-r.length).join("0")+r:r,r.replace(/../g,function(r){return t[r]})})}function e(r,n,e){return"!function(n,r){"+n+"(r.replace(/..../g, function(r){return String.fromCharCode(parseInt(r.replace(/./g, function(r){return n[r]}),2))}))"+e+'}({"\u200b":"00","\u200c":"01","\u200d":"10","\uFEFF":"11"},"'+r+'");'}var t={'00':'\u200b','01':'\u200c','10':'\u200d','11':'\uFEFF'};r.hider=function(r,t){var c=n(r),u="";return"eval"===t?t="(0,eval)":(t="Function",u="()"),e(c,t,u)}}(this);
$("#generate").click(function(){var e=$("#code").val();if(""===$.trim(e))return!1;var r=$("#excuteWith").val();$("#code").val(hider(e,r))});
// ]]>
好了,今天的内容就这些,大家就当玩具用吧。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: