Bots, Bureaucrats, Interface administrators, smwadministrator, smwcurator, smweditor, Administrators
2,557
edits
Timo.stripf (talk | contribs) |
Timo.stripf (talk | contribs) No edit summary |
||
Line 6: | Line 6: | ||
* '''Intellectual‑property protection''' – Obfuscation hides proprietary algorithms and data structures from competitors. | * '''Intellectual‑property protection''' – Obfuscation hides proprietary algorithms and data structures from competitors. | ||
* '''Safe code sharing''' – Developers can supply code snippets to external consultants or open‑source communities without exposing confidential business knowledge. | * '''Safe code sharing''' – Developers can supply code snippets to external consultants or open‑source communities without exposing confidential business knowledge. | ||
* '''Security hardening''' – Obfuscation complicates automated exploit generation, while anonymization removes hints that could facilitate targeted attacks. | * '''Security hardening''' – Obfuscation complicates automated exploit generation, while anonymization removes hints that could facilitate targeted attacks. | ||
Line 22: | Line 21: | ||
The transformation is used to make the source code hard to understand for humans while still preserving the original structure of the source code. It is meant for cases where the source code needs to be shared (e.g. for debugging) but no intellectual property—or sensitive naming information—should be shown. | The transformation is used to make the source code hard to understand for humans while still preserving the original structure of the source code. It is meant for cases where the source code needs to be shared (e.g. for debugging) but no intellectual property—or sensitive naming information—should be shown. | ||
In its full scope, obfuscation affects all identifiers, including: | |||
* | * function names and their parameters | ||
* global and local variables | * global and local variables | ||
* user-defined types | * user-defined types | ||
Line 30: | Line 29: | ||
* enumerators | * enumerators | ||
* file names | * file names | ||
Beyond that other information are removed (or can be removed in combination with other transformations): | |||
* comments | |||
* formatting | |||
* resolve typedefs | |||
* inline includes | |||
* merge all C files (unity build) | |||
===Example=== | ===Example=== |
edits