{ "info": { "author": "Ryan Kelly", "author_email": "ryan@rfk.id.au", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3" ], "description": "mangler: bytecode mangler for frozen python apps\n=================================================\n\nMangler is a tool to obfuscate the bytecode of your frozen python applications.\nIt makes it (slightly) harder for someone to take code from your app and use\nit for their own evil ends.\n\nMangler works with the output of py2exe, py2app and cxfreeze. Support for\nbbfreeze and pyinstaller will be added eventually; if you desparately need\nsuch support you can slip me a fifty and I'll get right on it...\n\n\nIs it secure?\n-------------\n\nIt's as secure as possible. Which is to say: no, it's not. A determined\nattacker will be able to obtain the unobfuscated bytecode of your program,\ndecompile it to an approximation of your source code, and have his/her wicked\nway with the result.\n\nBut remember: such reverse engineering is possible to some degree with *any*\napplication, written in any language. Anyone who says differently is selling\nyou snake oil.\n\nWhat mangler can do is make it harder. A standard frozen python application\nbasically ships with a big zipfile of all your code in an easily decompiled\nform. Mangler applies some simple byte-level mangling to the contents of this\nzipfile, meaning extra work for someone who wants to get at its contents.\n\nThere is plenty more that could be done to make the attacker's work even\nharder. But it would require compiling a C extension or, even better,\ncompiling a custom python interpreter. If you think you'd like to go down that\nroad, I provide distributing-pyton-apps consulting and for a modest fee\nI'll be happy to (a) talk you out of it, or failing that, (b) implement a\ncustom solution for you.\n\n\nSounds awesome, how do I use it?\n--------------------------------\n\nIf you're just using py2exe, py2app or cxfreeze in their basic form, you\ncan call the \"mangler\" script with the path to your frozen app:\n\n mangler /path/to/frozen/application\n\n\nThis will generate a new mangling key, mangle the frozen bytecode using it,\nand patch the executables to correctly load the mangled bytecode. Easy.\n\nFor more complicated scenarios, well, I haven't for around to fixing the API\nyet. Bear with me.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/rfk/mangler", "keywords": "freeze frozen py2exe bytecode obfuscate", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "mangler", "package_url": "https://pypi.org/project/mangler/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/mangler/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/rfk/mangler" }, "release_url": "https://pypi.org/project/mangler/0.0.0/", "requires_dist": null, "requires_python": null, "summary": "bytecode mangler for frozen python apps", "version": "0.0.0" }, "last_serial": 326253, "releases": { "0.0.0": [] }, "urls": [] }