Obfuscation and Anonymization Transformation: Difference between revisions

Jump to navigation Jump to search
no edit summary
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.
* '''Privacy compliance''' – Anonymization helps satisfy data‑protection regulations (e.g., GDPR) when sharing code that contains personal references.
* '''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.


Even though the transformation is selectable only for functions, it can affect other identifiers, as well, depending on the user settings. In its full scope, obfuscation affects all identifiers, including:
In its full scope, obfuscation affects all identifiers, including:


* functions and their parameters
* 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===
Bots, Bureaucrats, Interface administrators, smwadministrator, smwcurator, smweditor, Administrators
2,557

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu