Effective Code Obfuscation : Protecting your python code from being copied / reverse-engineered
Venkata Naga Kailash Anantha (~avnkailash) |
Many at times, we need to encapsulate our core logic in order to protect it from being reverse engineered and being exploited. Having a strong IP may not be the only protection. Once the code is open for the analysts, they can easily implement a modified version to achieve their goals. Some areas where the code obfuscation plays an important role are financial domain, security, web/mobile.
Many times developers / teams fail to achieve the right level of code obfuscation which in turn fails to provide the level of protection to their code. We will be walking through the existing code obfuscation techniques in python and the level of protection they offer. I will be sharing my experiments and learnings during the journey to achieve a better obfuscation mechanism for python code.
The talk will cover the following topics and I will try to discuss the topics in detail.
- Code Obfuscation : The need in the era of Cloud Computing.
- Code decompilers and the risk they pose.
- Different methods of Code obfuscation
- Compiled pyton code
- Converting the python code into C-binaries.
- Custom Alphabet Mappings
- Can we do better with Machine Learning and Encryption techniques?
Required : None. As we will be covering the required basic for code obfuscation in the talk it self.
Good to have : Understanding the python run time process and how the code gets converted to executable binaries can be helpful.
I am Kailash, currently working as a Senior Software Engineer in Visa. I have been into python programming for the past 6 years now. I had worked on multiple levels of python projects ranging from scripting and automation, DevOps, Machine Learning, Computer Vision, Algorithmic Trading, Website Backends.