jfogs
Advanced tools
Comparing version 0.0.8 to 0.0.9
@@ -8,3 +8,3 @@ | ||
* zswang (http://weibo.com/zswang) | ||
* @version 0.0.8 | ||
* @version 0.0.9 | ||
* @date 2015-08-26 | ||
@@ -156,2 +156,3 @@ */ | ||
var hasString; // 是否存在字符串处理 | ||
var params = {}; | ||
switch (options.type) { | ||
@@ -175,3 +176,3 @@ case 'zero': | ||
if (hasString) { | ||
var params = { | ||
params = { | ||
argv: identFrom(guid++), | ||
@@ -191,5 +192,5 @@ index: identFrom(guid++), | ||
regex2: identFrom(guid++), | ||
fromCharCode: identFrom(guid++), | ||
parseInt: identFrom(guid++), | ||
rightToLeft: identFrom(guid++) | ||
rightToLeft: identFrom(guid++), | ||
u202e: '"\u202e"' | ||
}; | ||
@@ -220,3 +221,3 @@ names.push(params.rightToLeft); | ||
expressions.push('parseInt'); | ||
decryption = format( "\nif ('\\u202e' !== #{rightToLeft}) {\n return;\n}\nvar #{argv} = arguments;\nfor (var #{index} = 0; #{index} < #{len}; #{index}++) {\n if (typeof #{argv}[#{index}] !== #{string}) {\n continue;\n }\n #{argv}[#{index}] = #{argv}[#{index}][#{replace}](#{regex1},\n function (a) {\n return {\n '\\u200c': #{0},\n '\\u200d': #{1}\n }[a];\n }\n ).replace(#{regex2}, function (a) {\n return #{String}[#{fromCharCode}](#{parseInt}(a, #{2}));\n });\n}\n ", params); | ||
decryption = format( "\nif (#{u202e} !== #{rightToLeft}) {\n return;\n}\nvar #{argv} = arguments;\nfor (var #{index} = 0; #{index} < #{len}; #{index}++) {\n if (typeof #{argv}[#{index}] !== #{string}) {\n continue;\n }\n #{argv}[#{index}] = #{argv}[#{index}][#{replace}](#{regex1},\n function (a) {\n return {\n '\\u200c': #{0},\n '\\u200d': #{1}\n }[a];\n }\n ).replace(#{regex2}, function (a) {\n return #{String}[#{fromCharCode}](#{parseInt}(a, #{2}));\n });\n}\n ", params); | ||
} | ||
@@ -232,3 +233,3 @@ break; | ||
}); | ||
var params = { | ||
params = { | ||
argv: identFrom(guid++), | ||
@@ -246,3 +247,4 @@ index: identFrom(guid++), | ||
join: identFrom(guid++), | ||
rightToLeft: identFrom(guid++) | ||
rightToLeft: identFrom(guid++), | ||
u202e: '"\u202e"' | ||
}; | ||
@@ -254,3 +256,3 @@ names.push(params.rightToLeft); | ||
if (hasString || expressions.length > 1) { | ||
decryption += format( "\nif ('\\u202e' !== #{rightToLeft}) {\n return;\n}\nvar #{argv} = arguments;\nvar #{index};\n ", params); | ||
decryption += format( "\nif (#{u202e} !== #{rightToLeft}) {\n return;\n}\nvar #{argv} = arguments;\nvar #{index};\n ", params); | ||
names.push(params.empty); | ||
@@ -281,8 +283,9 @@ expressions.push('""'); | ||
default: | ||
var params = { | ||
rightToLeft: identFrom(guid++) | ||
params = { | ||
rightToLeft: identFrom(guid++), | ||
u202e: '"\u202e"' | ||
}; | ||
names.unshift(params.rightToLeft); | ||
expressions.unshift('"\u202e"'); // 干扰字符 | ||
decryption += format( "\nif ('\\u202e' !== #{rightToLeft}) {\n return;\n}\n ", params); | ||
decryption += format( "\nif (#{u202e} !== #{rightToLeft}) {\n return;\n}\n ", params); | ||
break; | ||
@@ -289,0 +292,0 @@ } |
{ | ||
"name": "jfogs", | ||
"version": "0.0.8", | ||
"version": "0.0.9", | ||
"description": "Javascript code obfuscator", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
13227
352