[QUESTION|BUG] Not Obfuscated Props
See original GitHub issueI have obfuscated code on JS: https://pastebin.com/vLATku6x
Here is original code: TS | JS
How I saw TS didn’t support. But that isn’t my question.
I saw what when I run code I get next output: All is good, work fine. But I saw some strange result.
How you can see in my config I was enable change (obfuscate) keys of objects, globals, properties names. So, I suggest what props like name
, keys
, index
, list
would change (obfuscated) too. But I didn’t saw that result.
So, my question- this is a bug or not? Why some props isn’t obfuscated?
UPD:
I also a bit edit code. So I will find more “interest” things.
- Without keys obfuscate - prop
kruzya.pidoor
is exist and have value (9999). - With keys obfuscate - prop
kruzya.pidoor
isn’t exist BUT propkruzya._0x2bdd58
didn’t have value (9999). - With and without keys obfuscate, props of class didn’t obfuscate (mb because this is a class? But one prop was obfuscated. MAGIC)
This
"debug"
I will get by next code:
console.log("\n\n[KRUZYA]");
console.log("[kruzya]", kruzya);
// Auto check all exist
console.log("\n\n[AUTO]");
for (const key in kruzya) {
console.log(`[kruzya.${key}]`, kruzya[key])
}
// Manual check "should" exist props
console.log("\n\n[MANUAL]");
console.log("[kruzya.name]", kruzya.name);
console.log("[kruzya.pidor]", kruzya.pidor);
console.log("[kruzya.keys]", kruzya.keys);
Issue Analytics
- State:
- Created 3 years ago
- Comments:18 (18 by maintainers)
Top Results From Across the Web
Why proguard does not obfuscate method body?
I am using ProGuard to obfuscate my .jar program. Everything works fine, except for the fact that ProGuard does not obfuscate local variables...
Read more >Shrink, obfuscate, and optimize your app - Android Developers
It works in conjunction with code shrinking such that once unused code has been removed, any resources no longer referenced can be safely...
Read more >Troubleshooting - Dotfuscator Professional 6.5
If you are processing a package that contains third-party assemblies, we generally recommend that you do not obfuscate the third-party assemblies themselves.
Read more >What is obfuscation and how does it work? - TechTarget
Obfuscation means to make something difficult to understand. Programming code is often obfuscated to protect intellectual property or trade secrets, ...
Read more >Non-Malleable Obfuscation
Intuitively, a functionally non-malleable obfuscation has the prop- erty that an adversary, given the obfuscated code to a program, can only make.
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
(offtop) sori, psihanul
0JHQu9C40L0sINGC0Ysg0YPQttC1IDBMZlFzTkMxMExIUXNOQzcg0YHQstC+0LjQvCAi0LrRgNGD0LfRjyAwTC9RdU5DMDBMN1JnQT09Ii4g0KHRgtCw0LLRjCDQvtCx0YnQtdC/0YDQuNC90Y/RgtGL0LUgZm9vLWJhciDQuCDQvdC1IDBMTFJpOUdSMExIUmk5Q3kwTERRdWRHQjBZOD0=Reopened. I think that i can add a new option
renamePropertiesExludeUsedStrings
(or so). When this option is enabled all property names that also occur in other strings will be auto-excluded.So for the part of your source code:
properties (
clear
,low
,mid
and other properties of the enum) will be excluded because they also occur as values)This exclusion will be global. So if property
foo
also used somewhere in the code - it will be excluded. In practice, I think, it may allow usingrenameProperties
option more often because of the fewer amount of breaking cases.