question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Plugin Not obfuscating array (online tool does)

See original GitHub issue

Hi. 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:closed
  • Created 7 years ago
  • Comments:6 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
sanex3339commented, Mar 1, 2017

Nice!

1reaction
seboliocommented, Mar 1, 2017

I just found the problem: i was running webpack with --optimize-minimize which applies Uglify after it runs the plugins

I find it really weird that using Uglify on the obfuscated code de-obfuscates array strings.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found