python code 保密

python 开发效率高,但就是太容易反编译

使用 uncopyle 反编译几乎得到和原代码相同的东西

git clone https://github.com/gstarnberger/uncompyle.git

cd uncompyle/

sudo ./setup.py install

uncompyler.py thank_goodness_this_still_exists.pyc > recovered_file.py

代码混淆是个不错的 idea,但是其工具pyobfuscate
很早就停止维护了

把代码全部都转化为base64,再转化的方法不可取,代码难看不说,直接用b64decode,也就转化过来了

>>> import base64

>>> mycode = "print ‘Hello World!‘"

>>> secret = base64.b64encode(mycode)

>>> secret

‘cHJpbnQgJ2hlbGxvIFdvcmxkICEn‘

>>> mydecode = base64.b64decode(secret)

>>> eval(compile(mydecode,‘<string>‘,‘exec‘))

Hello World!

难道说唯一的方法是python和c++混合编成?

ref:

http://stackoverflow.com/questions/8189352/decompile-python-2-7-pyc

时间: 2024-10-10 08:56:00

python code 保密的相关文章

Exploring Python Code Objects

Exploring Python Code Objects https://late.am/post/2012/03/26/exploring-python-code-objects.html Inspired by David Beazley's Keynote at PyCon, I've been digging around in code objects in Python lately. I don't have a particular axe to grind, nor some

Python code 提取UML

Python是一门支持面向对象编程的语言,在大型软件项目中,我们往往会使用面向对象的特性去组织我们的代码,那有没有这样一种工具,可以帮助我们从已有代码中提取出UML图呢?答案是有的.以下,我们逐个介绍这些工具. pyreverse 是一套python code 逆向工程(reverse engineering)的工具.它使用类层次结构的python 项目表示已提取任何可用的信息,可以很方便的应用于UML图的生成,或者单元测试,如pyargo和py2tests.pyreverse 已被整合进pyl

Python——Code Like a Pythonista: Idiomatic Python

Code Like a Pythonista: Idiomatic Python 如果你有C++基础,那学习另一门语言会相对容易.因为C++即面向过程,又面向对象.它很底层,能像C一样访问机器:它也很高级,有模板.STL 等.如果认真读过<深入C++对象模型>,我想其它语言不会比这个更复杂.你对C++了解的越深,你用其它语言写出的代码就越像C++,这样就体现不出新 语言的价值了.所以,学习新语言要抛弃原有的潜意识,包括代码风格. 1. The Zen of Python (1) 漂亮比丑陋好

python code 1_username registration &amp; login

This tiny program consists of 2 parts - registration and login. In the part of registration, the key point is to create a folder to store user's information.  And the part that cost my most time is how to name a file automatically with variety's name

python code practice(二):KMP算法、二分搜索的实现、哈希表

1.替换空格 题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 分析: 将长度为1的空格替换为长度为3的“%20”,字符串的长度变长. 如果允许我们开辟一个新的数组来存放替换空格后的字符串, 那么这道题目就非常简单.设置两个指针分别指向新旧字符串首元素, 遍历原字符串,如果碰到空格就在新字符串上填入“%20”, 否则就复制元字符串上的内容.但是如果面试官要求 在原先的字符串上操

Python CODE——Nonblocking I/O client AND Delaying Server

1 #!Nonblocking I/O - Chapter 5 -pollclient.py 2 import socket,sys,select 3 port=51423 4 host='localhost' 5 6 spinsize=10 7 spinpos=0 8 spindir=1 9 10 def spin(): 11 global spinsize,spinpos,spindir 12 spinstr='.'*spinpos+'|'+'.'*(spinsize-spinpos-1)

read the python code and predict the results --- from &lt;Learn Python The Hard Way&gt;

import random from urllib import urlopen import sys WORD_URL = "http://learncodethehardway.org/words.txt" WORDS = [] PHRASES = { "class ###(###):": "Make a class named ### that is-a ###.", "class ###(object):\n\tdef __in

python code practice(四):树、图

1.平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树. 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1. 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 /  \ 9  20   /    \ 15     7返回 true . 示例 2: 给定二叉树 [1,2,2,3,3,null,null,4,4] 1     /    \    2     2   /   \  3    3 /   \4    4返回 f

test Python source code plugin with Windows live writter 2012–

内容介绍ZT: http://www.cnblogs.com/liuxianan/archive/2013/04/13/3018732.html 博客园官方给出了2个,一个一个介绍. 1.WindowsLiveWriter.CNBlogs.CodeHighlighter.rar 这个插件生成的高亮代码与网页上的一模一样,插入后即可立即显示效果,不过貌似它必须联网才能实时显示效果,因为博客园官方说这是基于“云处理”的.安装方法很简单,将上面的压缩包解压然后复制里面的文件到: C:\Program