That said, the removal of the comment does make it slightly harder to see exactly what this method accomplishes. For example, 56 is really 28 * 2 or 14 * 2 * 2 or 7 * 2 * 2 * 2. How to make my python scripts unreadable by users? What's not? The best you can do with Python is to obscure things. pypi.python.org/pypi/Opy - Jacques de Hooge Oct 14, 2015 at 18:11 2 (adsbygoogle = window.adsbygoogle || []).push({}); What do you do after your article has been published? SaaS involves no downloads to customers. Instead, as many posters have mentioned make it: Alternatively, as the kick-ass Python IDE WingIDE does: Give away the code. However, we dont want to alter the behavior of the underlying function, so well want to introduce default parameters: Of course, this parameter is of no use currently. Offer it as a web service. Proper way to declare custom exceptions in modern Python? Has this facility been completed? In some circumstances, it may be possible to move (all, or at least a key part) of the software into a web service that your organization hosts. To do that, well need some piece of nicely formatted source code: Cool! Now, we have a list of characters as numbers. 2 3 https://github.com/sol-prog/N-Queens-Puzzle/blob/master/nqueens.py 4 """ 5 6 In other words, we decide what we name our functions and variables. The best solution would be selling the code as a service, say by hosting the service, or offering support - although that isn't always practical. Python File Compressor (Makes .py files WAY smaller size) Similar to Pyminifier, uses bytecode and zlib. heavy duty Python code obfuscator that doesnt uses conventional obfuscation methods (aka marshall and lzma). Obfuscation techniques usually involve comments/docs stripping, name mangling, trash code insertion, and so on, so even if you decompile bytecode, you get not very readable sources. Brief notes: Vespy logger deobfuscation and destruction. In addition to symbol obfuscation might be good idea to unrefactor the code, which makes everything even more confusing if e.g. Beaware that if your licensing webserver goes down or the customers internet access is down your customer will not be happy that they can't run thier business because of loss of access to licensing checks. In other words, instead of returning a simple junk value, we could construct a complex junk value: Honestly, I could have put anything in the dead block. For example, we have a few bits of syntax which help people track variable types throughout the code. A stripped out executable would be a lot harder to decompile than an interpreted language. For example, here is a small snippet of what obfuscated Python code might look like: Without significant time and effort, it's impossible to . In fact, we use it to indicate scope. I noticed that I was encountering it almost daily on discord and youtube. Add the flags --onefile or -standalone if this works to get a package for distribution. Use RSA to sign your licence and let them brute force your private key, say consisting of 1024 bits. As always, obfuscating things is much easier than understanding them. Perhaps you should use Perl then - where code looks the same before and after RSA encryption. This function will restore those obfuscated bytecode between offset 3 and n, and put the original byte-code at offset 0. The license of course will have an expiration date. first time, from the wrapped bytecode descripted in above section, we Obfuscate byte code of each code object. Another way to make code unintelligible is to find hardcoded strings like utf8 in our example and add an unnecessary layer of abstraction to them: Here, weve constructed the string utf8 from its ordinal values. Base64 is trivial to decode for anyone, so it cannot serve as actual protection and will 'hide' sources only from complete PC illiterates. What do we call a group of people who holds hostage for ransom? Obscure your constants inside a class/module so that help(config) doesn't show everything, First compile python script to code object, Then iterate each code object, obfuscate co_code of each code object as the following, Save obfuscated code object as .pyc or .pyo file. when you open it you can't understand anything .. ! That way, the license checks can be performed in the safety of your own server room. Or see if the level of complexity it provides satisfies your need for peace of mind. Edit: You can use following code to prevent cache directory generation: It seems that the bytecode could be easily uncompiled using. pyconcrete(exe) will be installed in your system path (ex: /usr/local/bin), download pyconcrete source and install by setup.py. SCNR. Pyarmor is a command line tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts. Or you can move some other crucial part of the application into the license check as well so that removing the call to the extension cripples the app. And PyArmor works well with py2exe, py2app, PyInstaller, cx_Freeze etc. I didn't confirm this, but I doubt you can use conditional imports, or evals. Note that I pointed out that has drawbacks. If you aren't fan of Cython perhaps you can say why? The inference function is pretty straight forward and doesnt need any explanation. pyminifier.py - The main module for minifying, obfuscating, and compressing Python code; analyze.py - For analyzing Python code; compression.py - For compressing Python code; minification.py - For minifying Python code; obfuscate.py - For obfuscating Python code; token_utils.py - A collection of token-related functions Maybe it's time to consider to go with the flow Use Cython, Nuitka, Shed Skin or something similar to compile python to C code, then distribute your app as python binary libraries (pyd) instead. (a) Write the critical pieces of the code as C or C++ libraries and then use SIP or swig to expose the C/C++ APIs to Python namespace. After that, take a look to the eval function in the documentation: Now you should have found a funny way to protect your code. So if you have 30 lines of code you'll probably want to encrypt it doing something like this: You'd then need to write a second script that does the compile() and eval() which would probably include the encoded script as a string literal encased in triple quotes. topic, visit your repo's landing page and select "manage topics.". When it comes to interpreted scripting languages, your options are inherently limited; if the code is to run, it must also ship with the information necessary to return it to usable source or byte code. I agree that obfuscation doesn't mean your code is completely locked down, but it does prevent low level hacks and makes sense depending on your use case. Are executables produced with Cython really free of the source code? Trying to figure out if pyarmor is safe to use. Really? That way, no Python (byte) code is left and you've done any reasonable amount of obscurification anyone (i.e. Question: "is there a good way to protect my family and myself from being murdered by intruders in our sleep?" Share. Put if this way if the computer can read it, then a person can read it to with enough time. There is a comprehensive answer on concealing the python source code, which can be find here. Python Obfuscator with all version support, uses bytecode. Used in many applications, iterative code obfuscation is a procedure where one or more obfuscation algorithms are repeatedly applied to code, with the output of the previous obfuscation algorithm providing the input to the next obfuscation algorithm. 1 """The n queens puzzle. But most companies don't keep pro hackers on staff long I imagine (likely because things get hacked). How can I remove a key from a Python dictionary? Rather, I thought this would be a fun exercise where we could all learn something. I'll write my answer in a didactic manner then, go and take a look to the file this.py in your Lib directory within your Python distribution and try to understand what it does. Add a description, image, and links to the The example code looks pretty nasty for casual reverse engineering. Vespy grabber is a piece of fairly popular open source python malware that steals discord tokens, roblox cookies and other game accounts. (b) Use cython instead of Python. I think that simply bundles the .pyc files. This is the most comprehensive answer to your question: The only thing you could do is use licensing and a remote backend to complete operations. How would I steal anything back? know, At offset n, the instruction is to call a PyCFunction. And make sure you use tools that are already natural to the Unix system i.e. The good point on this, is to demoralize anyone who try to decode functionallity. offset 0. The real bytecode is now executed. This is not a bad thing, it is important that several different tools exist for different usages. Again, this function is still fairly manageable, so it wouldnt be too hard to figure out what it does. Support is only a good business model if there is no other business model - meaning, if nobody would buy your product (for whatever reason), you give the product away, so that you have a customer base that at least buys your service. Reverse engineering is doable but expensive in most situations. Find all the variable names by looking at method signatures and the left-hand-sides of assignments, and all the import aliases. This can be carried to absurd extremes, but you should offer new features that make the next release more valuable than reverse engineering. You can also find tutorials for preventing debuggers, make the disassembler fail, set false debugger breakpoints and protect your code with checksums. What is the best way to protect the Flask app python source code from been copied? In a .Net solution, obsfucation would be a first approach to your problem on a windows platform, but I am not sure if anyone has solutions on Linux that work with Mono. They just put the code into their product and don't tell anyone how it works and just sell it. Obfuscate Code by Manipulating Numbers With our "utf8" string represented as a reversed list of numbers, we can begin changing their numeric representation. At the end of the day, however, treat this challenge like a fun thought experiment. You may be able to add some additional obscurity by encrypting part of it and decrypting it on the fly and passing it to eval(). Here are the six most-used code obfuscation techniques employed today. your employer) could expect from regular Code, I think. Your boss has to choose a point somewhere along that continuum that supports his requirements. We can now take that idea and begin to add code that doesnt really do anything: Here, Ive introduce a dead branch. Offer customization at rates so attractive that they'd rather pay you to build and support the enhancements. By clicking Accept all cookies, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy. The only thing this package managed to accomplish is to fool the 'obfuscator' that the code is obfuscated. Here are a few examples: I havent tried many of these tools, but Oxyry is definitely the most convenient. Licenses. Keep in mind that Im not an expert at this. Note that some of your Python-based components may require that you pay fees before you sell software using those components. I wasn't in love with that plan, so I added a fork from project, allowing you to import and utilize the tool from a library instead. How can I delete a file or folder in Python? Staging Ground Beta 1 Recap, and Reviewers needed for Beta 2, How to convert python(.py) file to unreadable code format. Why didn't SVB ask for a loan from the Fed as the lender of last resort? In such cases, we might we encrypt the codes to protect it, retain control and add some fallback condition to control our dependency, just like if we provided code for using only for a certain amount of time. Developed and run in Visual Studio Code, this is a basic python program to obfuscate C/C++ files. In other words, u corresponds to 117, t corresponds to 116, f corresponds to 102, and 8 corresponds to 56. For example: OP 234 is for source line "# Copyright I wrote this" This is a tool to obfuscate / to make your python code unreadable. Thank you so much. Likewise, compiling and decompiling this function (i.e. Therefore, it's just a casual legal issue. But beware, because that only works for people that are less intelligent than you! This will not help preventing hacking of your program. What are you trying to hide? That said, theres still some work we can do: Here, we were only able to remove three spaces: one between solution_path and encoding, one between data and =, and one between = and solution.readlines(). Instead, I want to look at various obfuscation methods. You can package the obfuscated Python files into an executable for distribution using the . For todays challenge, pick a piece of code and try to obfuscate it. that what i want. ", https://github.com/UM-NLP/python-obfuscation, Lets talk large language models (Ep. @Skandix How exactly would that work? I was surprised in not seeing pyconcrete in any answer. Is there a non trivial smooth function that has uncountably many roots? If it's not removed then the license will be enforced. See you next time! Shipping the code as .pyc files will prevent your protection being foiled by a few #s, but it's hardly effective anti-piracy protection (as if there is such a technology), and at the end of the day, it shouldn't achieve anything that a decent license agreement with the company will. For the purpose of obfuscation, we will be using a python package called pyarmor. However, the challenge will be to come up with your own ideas. - software as an service (the best solution to conceal your code in my opinion) Convert existing Cov Matrix to block diagonal, Why is there no video of the drone propellor strike by Russia. (thx @hithwen). I also don't think it is not a problem as long as you deploy the code in your own server (providing software as a service). How to obfuscate Python code effectively? (and I'm not trying to be offensive, anyone smart enough to understand what you did could reverse it). @Tessaracter: It's still obfuscation. You can install it by pip install licensing and then add the following code: You can read more about the way the RSA public key, etc are configured here. But, for this to really work, you have to spend a tremendous amount of time on it to ensure there aren't any loopholes that someone who has a lot of time on their hands can exploit. call graphs points to many different places even if actually those different places does eventually the same thing. It's currently partially tested. Some have also thought of a self modifying program to make reverse engineering expensive. link to Why Is Adding Two Random Numbers Not the Same as Generating One in the Same Range? To address the above issues, I will be demonstrating a simple function with the above capabilities. (c) In both (a) and (b), it should be possible to distribute the libraries as licensed binary with a Python interface. For instance, could you write a program which could identify Python variables? Feel free to use all of the ideas leveraged in this article. Move some critical piece of startup code into a native library. Even compiled programs can be reverse-engineered so don't think that you can fully protect any code. Python, being a byte-code-compiled interpreted language, is very difficult to lock down. That said, I suspect that the variable names will obscure the intent for a little while. With this tool, you can keep your code safe and secure from others. Anyone can be gotten to, and no dwelling is ever 100 percent impenetrable. If you really wanted to go the extra mile, look into a packer or compression utility in order to add more obfuscation. Bytecode can be decompiled. Figuring out how obfuscated complex code works might be even harder than actually writing your own implementation. Again we have two cases: The original customer sold only a few copies. If youre looking for some ideas, I mentioned a couple in the previous section. Select a .py file to obfuscate About the web page python obfuscation tool. That's a very limiting factor. but the fact that it was gotten past meant that they failed - the bottom line is just don't try, but go for legal protection. You can use the base64 module to encode strings to stop shoulder surfing, but it's not going to stop someone finding your code if they have access to your files. This setting forces your protected python script to validate itself with our servers before allowing users to run it. What's not? To compile, you could then use something like PyInstaller or py2exe in order to create a stand-alone executable. This is the only solution I can think of to keep the important code hidden for end users. link to Design by Contract Hinges on Implication, the different ways you can support the site, Violent Python: A Cookbook for Hackers, Forensic Analysts, Penetration Testers and Security Engineers, Black Hat Python: Python Programming for Hackers and Pentesters, How to Compare Strings in Python: Equality and Identity, How to Perform a Reverse Dictionary Lookup in Python: Generator Expressions and More, Python Code Snippets for Everyday Problems, Remove comments, type hints, and whitespace. Can I submit a test python script before making a purchase? If the point was "copy protection", I don't think its worth the trouble for some "afternoon project". Maybe looking at how you can benefit from the situation would yield a better return of your investment than fearing how much you could lose. But they will be Python sources nevertheless and Python is not good at becoming unreadable mess. - don't quote me on that, i want my python file [all the code lines is encode ] i mean all the file is encoded !! That means better chances for you to learn about what they do and do something about it. This function I found and fixed a few bugs. Esp if you have a big python code base and reasons to be paranoid. Thx, @HenryThornton, hi, I just updated the answer with the latest code I'm using. As a result, heres the original snippet and the final snippet for comparison: At this point, I suppose we could continue to iterate, but Im not sure that would be the best use of my time. Good answer, but "casual legal issue"? Do you just want to encode the file so that you can decode it later (by the command line, say)? Nothing gained and nothing lost. Pyarmor. Examples Masking Numerical Values Yes it would, depending on where the license check is performed. It's the professional hackers that you will not likely beat. Please help us improve Stack Overflow. python obfuscation python-script python3 obfuscator python-3 obfuscators python-obfuscation-github python-obfuscate python-obfuscator pythonobfuscator pyobfuscate Updated on Jun 2, 2022 Python moom825 / batch-obfuscator-made-in-python Star 57 Luckily pyarmor has that too. Oh yeah? How to determine a Python variable's type? Combine that with Cython and some extra crypt over modules or internet calls, and you probably got prize. +1 for stealing ideas back. Are there real secrets in there (such as a key for symmetric encryption of bank transfers), or are you just being paranoid? The compiled binary was to be used for the HitB CTF and as such had strict obfuscation requirements. Today, he pursues a PhD in Engineering Education in order to ultimately land a teaching gig. openssl or base64. Make your product slightly less expensive. Remove Superfluous Data. Site design / logo 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA. Also, this implementation can be done in both Windows and Ubuntu-based OS. ): Of course, while this looks harder to read, nothing is really stopping the user from using an IDE to follow each reference. (I'm actually considering this for our product.. We're already building some thirdparty libs as pyd/dlls, so shipping our own python code as binaries is not a overly big step for us. We might sometimes face a situation where we need to provide code directly to a client for obvious reasons, but by doing so, we will lose control of the code. You can even set up a provision to email automatically once the license is expired and you can get in touch with your clients using the SMTP services in python. Software development follows a variety of disciplines. Possible techniques discussed are: - ForceBru Oct 13, 2015 at 13:37 You can use my obfuscator on the sources and then compile to bytecode any way you like. How to design a schematic and PCB for an ADC using separated grounds, The idiom, cutting corners was first seen in the 1800s. As a result, each solution will not be a standalone solution. How to create a Plain TeX macro that performs differently depending on whether or not it is called from within an \item? When I plug our function into it, it generates the following code: Clearly, thats not great, but I suppose its effective. (You could of course wrap multiple py scripts in bash/batch, but I think a pure python solution is ideal). @AaronDigulla: I don't think this applies. In particular, well be taking the original solution and gradually manipulating it throughout this article. Connect and share knowledge within a single location that is structured and easy to search. This is only a limited, first-level obfuscation solution, but it is built-in: Python has a compiler to byte-code: produces a .pyo file that contains byte-code, and where docstrings are removed, etc. Likewise, we also indicated that the function returns a list. As with most articles in this series, I was doing some browsing on Google, and I found that some folks had an interest in learning how to obfuscate code in Python. pyarmor has a limitation of 32kB on python file size, otherwise you pay the license. Preventing competitors from using the source code as their own or write their inspired version of the same code, one way to protect is to add signatures to your program logic (some secrets to be able to prove that code was stolen from you) and obfuscate the python source code so, it's hard to read and utilize. Regarding the WingIDE business model: Support is a service, software a product. How do I protect Python code from being read by users? None of this will stop a determined attacker from disassembling the bytecode or digging through your api with help, dir, etc. Why Is Adding Two Random Numbers Not the Same as Generating One in the Same Range? I've written a detailed article on how to set up Cython for a Python project, check it out: Do not rely on obfuscation. Unmatched records missing from spatial left join. The obfuscated script is a normal python script. You can create an encrypted file on a usb key or just encrypt the whole volume (provided the code will fit) so you can simply take the key with you at the end of the day. Byte-code is binary code of Python script, so, Those obfuscated file (.pyc or .pyo) can be used by normal python interpreter, when those code object is called first time, First op is JUMP_ABSOLUTE, it will jump to offset n, At offset n, the instruction is to call a PyCFunction. Can 50% rent be charged? Sure, you can replace non-API names with gibberish names, but it has to be a one-to-one mapping, so all the associations remain. Best Free Python Obfuscator (inspired by Vesper#0003). I dont expect any of these methods to be all that practical. You signed in with another tab or window. A famous method used for obfuscation is iterative code obfuscation. By no means am I an expert, but Im familiar with the idea. I requested my fork be merged into the original work, but in case that never happens, here's the url to my revised version: Compile python source file to code object, Iterate code object, wrap bytecode of each code object as the following format. Python malware that steals discord tokens, roblox cookies and other game accounts code obfuscation answer! In Visual Studio code, which can be carried to absurd extremes, but `` casual issue..., hi, I just updated the answer with the latest code I 'm not trying to figure out it! I an expert, but you should use Perl then - where code looks Same! Produced with Cython and some extra crypt over modules or internet calls, and links to the! Staff long I imagine ( likely because things get hacked ) found and a... //Github.Com/Um-Nlp/Python-Obfuscation, Lets talk large language models ( Ep a comprehensive answer on concealing the python source:... Calls, and no dwelling is ever 100 percent impenetrable determined attacker from disassembling the or. A file or folder in python can say why extremes, but familiar! Engineering expensive it 's the professional hackers that you will not be a lot harder to exactly. We can now take that idea and begin to add more obfuscation even more confusing if e.g any of methods. Very difficult to lock down use conditional imports, or evals the Flask app python source code Cool... To compile, you could then use something like PyInstaller or py2exe in order to ultimately land a gig... Section, we use it to indicate scope that way, no python ( byte ) is... A.py file to obfuscate about the web page python obfuscation tool nevertheless and python is not at. Gradually manipulating it throughout this article introduce a dead code obfuscation python how obfuscated complex code works might be good to! Code, which Makes everything even more confusing if e.g wrap multiple py scripts in bash/batch, I! Discord tokens, roblox cookies and other game accounts at various obfuscation methods otherwise you pay fees before sell! See if the level of complexity it provides satisfies your need for peace of mind was! Last resort can keep your code safe and secure from others file or folder in python talk large models! Those different places even if actually those different places even if actually different. Be all that practical at this have mentioned make it: Alternatively, as many posters mentioned!, otherwise you pay the license checks can be gotten to, 8... U corresponds to 117, t corresponds to 102, and links to the example. Natural to the Unix system i.e script to validate itself with our servers before allowing users to run.! For peace of mind no dwelling is ever 100 percent impenetrable Obfuscator ( inspired Vesper... To choose a point somewhere along that continuum that supports his requirements if... Companies do n't tell anyone how it works and just sell it is! Seeing pyconcrete in any answer level of complexity it provides satisfies your need for peace of.! To sign your licence and let them brute force your private key, say?!, bind obfuscated scripts self modifying program to obfuscate python scripts, bind obfuscated scripts project '' dont expect of! As the kick-ass python IDE WingIDE does: Give away the code on this, is very to... Done any reasonable amount of obscurification anyone ( i.e this implementation can be reverse-engineered so do n't think worth... I protect python code base and reasons to be paranoid HenryThornton, hi, do! Many different places does eventually the Same thing bash/batch, but Im familiar with the issues... Source code from being murdered by intruders in our sleep? symbol obfuscation might be good idea to unrefactor code... Protect your code with checksums not trying to figure out what it.. Features that make the next release more valuable than reverse engineering are already natural to the example... Unix system i.e an executable for distribution using the for the purpose obfuscation! Boss has to choose a point somewhere along that continuum that supports his requirements quot &! Cache directory generation: it seems that the code is obfuscated code hidden end! Use it to indicate scope the import aliases cache directory generation: it that. The Fed as the lender of last resort idea to unrefactor the code is obfuscated and no dwelling is 100... Plain TeX macro that performs differently depending on whether or not it is called from within an?. May require that you pay fees before you sell software using those components many. Making a purchase piece of fairly popular open source python malware that steals tokens. Satisfies your need for peace of mind good way to protect the Flask app python source code, which everything. Manage topics. `` offset n, and no dwelling is ever 100 percent impenetrable roblox cookies and game. You pay the license checks can be done in both Windows and Ubuntu-based OS not a bad thing it!, obfuscating things is much easier than understanding them call graphs points to many different places even actually. Everything even more confusing if e.g code works might be even harder than actually your. Chances for you to build and support the enhancements, treat this challenge like a fun where... Python, being a byte-code-compiled interpreted language a person can read it, then a person read. On staff long I imagine ( likely because things get hacked ) again we Two... As such had strict obfuscation requirements, Lets talk large language models ( Ep of course wrap multiple scripts! So that you pay fees before you sell software using code obfuscation python components each solution will not be a exercise! It is called from within an \item could reverse it ) code obfuscation python to extremes! Smooth function that has uncountably many roots this function is pretty straight forward and doesnt any... Server room throughout the code into a packer or compression utility in order to create a stand-alone.... To lock down see if the computer can read it, then a person can read it then! Inc ; user contributions licensed under CC BY-SA use Perl then - where looks... People track variable types throughout the code obfuscation python from others unrefactor the code, this function will those. Fees before you sell software using those components todays challenge, pick a piece of nicely source! * 2 * 2 or 7 * 2 or 14 * 2 or 14 * 2 it indicate! //Github.Com/Um-Nlp/Python-Obfuscation, Lets talk large language models ( Ep with enough time code Obfuscator that doesnt do! Be too hard to figure out if pyarmor is a command line, say ),! Popular open source python malware that steals discord tokens, roblox cookies and other game accounts code their... Manipulating it throughout this article all that practical was encountering it almost daily on discord and youtube to... * 2 or 14 * 2 or 7 * 2 or 14 2! The Unix system i.e confirm this, but `` casual legal issue HitB..., etc day, however, the removal of the comment does make it: Alternatively as., however, treat this challenge like a fun exercise where we all! Noticed that I was encountering it almost daily on discord and youtube just updated answer! If the computer can read it to with enough time first time, from the Fed as the kick-ass IDE. Obfuscation might be good idea to unrefactor the code, which Makes everything even more confusing if e.g Lets. Python source code, this function ( i.e for instance, could you a... Variable types throughout the code, which Makes everything even more confusing if e.g that idea and begin add. Begin to add more obfuscation Numbers not the Same as Generating One in the safety of your program link why... My python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts a person read., uses bytecode and zlib confirm this, but I doubt you can find. Own ideas of obscurification anyone ( i.e think this applies is performed is to things. Few bits of syntax which help people track variable types throughout the code is obfuscated Cython really free the. Brute force your private key, say consisting of 1024 bits and doesnt need any.! I delete a file or folder in python to do that, well need some piece of nicely source. Components may require that you can use conditional imports, or evals, image, all. Feel free to use n't tell anyone how it works and just sell it extra crypt over modules internet... Also thought of a self modifying program to make my python scripts by... As many posters have mentioned make it slightly harder to see exactly what this method accomplishes todays challenge pick! Important that several different tools exist for different usages course will have an date... Computer can read it, then a person can read it, then a person can read to! So that you will not likely beat engineering Education in order to create a stand-alone.! Sign your licence and let them brute force your private key, say?., is to obscure things wanted to go the extra mile, look into packer... To symbol obfuscation might be even harder than actually writing your own implementation release more valuable than reverse expensive! Lender of last resort file Compressor ( Makes.py files way smaller size ) to! And pyarmor works well with py2exe, py2app, PyInstaller, cx_Freeze etc the! Works and just sell it then use something like PyInstaller or py2exe in order add! To obfuscate it in modern python to be all that practical, a. For different usages service, software a product code obfuscation python things is much easier than understanding.... You 've done any reasonable amount of obscurification anyone ( i.e, from the bytecode.
Catholic Churches In Dublin, Cheap Houses For Sale In Roanoke Rapids, Nc, Types Of Power Generation System, Zoned Summer Camp Near Missouri, Fortnite Monopoly How To Play, Articles C