Plugin Not obfuscating array (online tool does)
See original GitHub issueHi. When I use the webpack plugin I get very different result than using the online tool. The plugin is leaving a huge array with legible text that I want to hide, whereas the online tool obfuscates properly.
Using online tool (small sample)
!function (_0x577001) {
function _0x7d8b55(_0x206746) {
if (_0x171853[_0x206746])
return _0x171853[_0x206746]['\x65\x78\x70\x6f\x72\x74\x73'];
var _0x530dc5 = _0x171853[_0x206746] = {
'\x69': _0x206746,
'\x6c': !0x1,
'\x65\x78\x70\x6f\x72\x74\x73': {}
};
return _0x577001[_0x206746]['\x63\x61\x6c\x6c'](_0x530dc5['\x65\x78\x70\x6f\x72\x74\x73'], _0x530dc5, _0x530dc5['\x65\x78\x70\x6f\x72\x74\x73'], _0x7d8b55), _0x530dc5['\x6c'] = !0x0, _0x530dc5['\x65\x78\x70\x6f\x72\x74\x73'];
}
var _0x171853 = {};
return _0x7d8b55['\x6d'] = _0x577001, _0x7d8b55['\x63'] = _0x171853, _0x7d8b55['\x69'] = function (_0x16a49e) {
return _0x16a49e;
}, _0x7d8b55['\x64'] = function (_0x7c1711, _0x1794d4, _0x23a155) {
_0x7d8b55['\x6f'](_0x7c1711, _0x1794d4) || Object['\x64\x65\x66\x69\x6e\x65\x50\x72\x6f\x70\x65\x72\x74\x79'](_0x7c1711, _0x1794d4, {
'\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x62\x6c\x65': !0x1,
'\x65\x6e\x75\x6d\x65\x72\x61\x62\x6c\x65': !0x0,
Using plugin (small sample)
var _0x268f=["pluralCat","' in ","$$NG_REMOVED","$first","$last","$odd","$even","ngRepeat","end ngRepeat","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.","iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.","badident","dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}","ng-hide","ng-hide-animate","ngShow","ngSwitch","cases","end ngSwitchWhen","^ngSwitch","ngSwitchWhen","ngSwitchWhenSeparator","ngTransclude","EAC","Illegal use of ngTransclude directive in the template! ","No parent directive that requires a transclusion found. ","text/ng-template","ngModelCtrl","hasOption","selectedIndex",'"option value"',"addOption","removeOption","$selectController","pattern","noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}","maxlength","bootstrap","WARNING: Tried to load angular more than once.","zero","two","few","other","Monday","Wednesday","Saturday","Before Christ","Anno Domini","January","April","May","June","July","August","September","November","Sun","Mon","Tue","Wed","Thu","Fri","Sat","Jan","Feb","Mar","Apr","Jun","Jul","Sep","Oct","Nov","Dec","February","March","October","December","MMMM d, y","MMM d, y","M/d/yy h:mm a","M/d/yy","h:mm a","en-us","en_US","ONE","$$csp","noInlineStyle",'<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>',"body{background:#3965e9}*{color:#fff;text-align:center;margin-top:50px}","@media ","The style-loader cannot be used in a non-browser environment","singleton","insertAt","refs","parts","Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.","rel","stylesheet","revokeObjectURL","media","sourceMap","styleSheet","cssText","stringify","text/css","apply","return (function() ",'{}.constructor("return this")( )',"console","log","warn","debug","info","error","trace","exports","call","__esModule","default","prototype","hasOwnProperty","use strict","ES ","ES 2","write","<br>","string","locals","hot","accept","!!./node_modules/css-loader/index.js!./estilo.css","dispose","replace","length","validity","toLowerCase","charCodeAt","fromCharCode","slice","splice","push","toString","getPrototypeOf","angular","document","documentMode","item","name","object","forEach","keys","$$hashKey","valueOf","nodeName","isNaN","create","$inject","undefined","number","[object Date]","isArray","function","[object RegExp]","window","$evalAsync","[object File]","[object FormData]","[object Blob]","boolean","then","test","\\$1","\\x08","prop","split","indexOf","cpta","Can't copy! TypedArray destination cannot be mutated.","cpi","Can't copy! Source and destination are identical.","cpws","Can't copy! Making copies of Window or Scope instances is not supported.","[object Int8Array]","[object Int32Array]","[object Float32Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Uint16Array]","[object Uint32Array]","constructor","buffer","byteOffset","[object ArrayBuffer]","byteLength","[object Boolean]","[object Number]","[object String]","match","lastIndex","cloneNode","getTime","charAt","rules","querySelector","[data-ng-csp]","ng-csp","getAttribute","data-ng-csp","no-unsafe-eval","no-inline-style","name_","jq]","concat","$WINDOW","$SCOPE","parse","setMinutes","getMinutes","getTimezoneOffset","clone","<div>","append","html","nodeType","%20","substring","join","ng-","data-ng-
Issue Analytics
- State:
- Created 7 years ago
- Comments:6 (4 by maintainers)
Top Results From Across the Web
JavaScript Obfuscator Tool
JavaScript Obfuscator is a free online tool that obfuscates your source code, preventing it from being stolen and used without permission.
Read more >javascript-obfuscator - npm
Enables source map generation for obfuscated code. Source maps can be useful to help you debug your obfuscated JavaScript source code. If you ......
Read more >Most common plugin errors in TinyMCE and how to fix them
Ways to fix the most common plugin errors in TinyMCE and why those happen, including “TinyMCE failed to load plugin” error.
Read more >Best tool for jar or class obfuscation without need of writing ...
Here are a few good Jar obfusticators: Pro Guard · yGuard · JShrinker · CafeBabe. and here is an article on Obfuscation and...
Read more >ProGuard Manual: ReTrace - Guardsquare
ReTrace is a companion tool for ProGuard and DexGuard that 'de-obfuscates' stack traces. When an obfuscated program throws an exception, the resulting stack ......
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Nice!
I just found the problem: i was running webpack with
--optimize-minimize
which applies Uglify after it runs the pluginsI find it really weird that using Uglify on the obfuscated code de-obfuscates array strings.