Obfuscation as a software protection method





Or why you can't publish your improved version of Counter Strike and go live in Hawaii.





What is it about?

Obfuscation (from English  obfuscate  - to make it unobvious, confusing, confusing) in a broad sense - bringing the source text or executable code of a program to a form that preserves its functionality, but makes it difficult to analyze, understand the algorithms of work and modify during decompilation.





Nice example from Wikipedia of obfuscated code.
, .





  • ?





  • ?





  • ?













?

, , . , , , , - , "" .





- .





, , , , , - .





?

, , , .





, , , , . , " ". , , "" , . [3], .





:





• : ,





• :





• : , , ..





source , , , .





, , . , .





1.

, , , ,





, .





2.

. , .





 





3.

, . , , . , "" , - , .





.





4.

, . , , .





5.

. (jump-in-a-middle), . . 





6.

, . , .





, , .





2015 , , . , , . , .





, , , .





[1] https://en.wikipedia.org/wiki/Obfuscation_(software)





[2] https://www.sciencedirect.com/science/article/pii/S1877050915032780





[3] Barak B., Goldreich O., Impagliazzo R., Rudich S., Sahai A., Vadhan S. and Yang K. «On the (im) possibility of obfuscating programs.» CRYPTO 2001.





[4] https://www.researchgate.net/publication/235611093TechniquesofProgramCodeObfuscationforSecureSoftware












All Articles