Protect Members

  • ProtectMembers
  • Coporate
The settings of this feature is similiar with Replace Globals. 
So please read Replace Globals at first.

Protect Members is for the object member , for example

For the expressions: myobj.value , helper.Start() , the 'value' , 'Start' are the member of object.

Protect Members replace the member name 'value' , 'Start' directly , not just hide it by Move Members.

It is more strict than Replace Global, Either Rename by rules or Custom Identities is required
JavaScriptObfuscator want developer specify which member name can be obfuscated explicitly.

Our recommandation is , give them a special name , and make sure third-party would access these members.

For example
var obj={ __value : 123, __dowork:function(){} }

So when specify the regular expression in Rename by rules 
All member identifiers which start with double underscore, will be obfuscated as 
var obj={ m0 : 123, m1:function(){} } 

So , the members which is not planed to be accessed by third-party , will be obfuscated.
The hacker will never get the orignal name of the member, they will feel hard to understand what it mean.

All these rules shared in a same JavaScriptObfuscator project :