python代码混淆工具_有没有好的 python 混淆器 推荐一个
#! /usr/bin/env python
#coding=utf-8
import hashlib
import random
import os
###############################
# Describe : 混淆Unity脚本文件
# D&P Author By: 常成功
# Create Date: 2014-11-25
# Modify Date: 2014-11-25
###############################
#想混淆的变量/方法名
raw_name_list = ["function_1", "function_2", "var_1", "var_2",]
#混淆后的变量/方法名
new_name_list = []
#随机可选的字母表
alphabet = ["a", "b", "c", "d", "e", "f", "g",
"h", "i", "j", "k", "l", "m", "n", "o", "p", "q",
"r", "s", "t", "u", "v", "w", "x", "y", "z",
]
#生成新的变量名
def create_new_name() :
m = hashlib.md5()
#生成随机变量名
for raw_name in raw_name_list:
m.update(raw_name)
#生成一个16位的字串
temp_name = m.hexdigest()[0:16]
#合法名称校验
#强制以字母作为变量/方法名的开头
if temp_name[0].isdigit():
initial = random.choice(alphabet)
temp_name = initial + temp_name
temp_name = temp_name[0:16]
#不能重名
while(1):
if temp_name in new_name_list :
initial = random.choice(alphabet)
temp_name = initial + temp_name
temp_name = temp_name[0:16]
else:
new_name_list.append(temp_name)
break
#混淆文件
def confuse_file(path_filename):
file_content = ""
#读文件内容
f = file(path_filename)
# if no mode is specified, 'r'ead mode is assumed by default
while True:
line = f.readline()
if len(line) == 0: # Zero length indicates EOF
break
#混淆
name_index = 0
for raw_name in raw_name_list:
the_new_name = new_name_list[name_index]
line = line.replace(raw_name, the_new_name)
name_index += 1
file_content += line
f.close()
#重写文件
f = file(path_filename, 'w')
f.write(file_content)
f.close()
#遍历当前目录下的所有.cs文件
def confuse_all():
#获取当前目录
dir = os.getcwd()
for root, dirs, filename in os.walk(dir):
for file in filename:
path_filename = os.path.join(root, file)
if path_filename.endswith('.cs'):
confuse_file(path_filename)
print "Confuse File: ", path_filename
if __name__=="__main__":
create_new_name()
confuse_all()
#打印一下混淆的情况.
#如果用文本保存起来, 那么以后可以反混淆, 还原文件
print "Start Confuse ...."
for j in range(0, len(raw_name_list)) :
print raw_name_list[j] , " --> " , new_name_list[j]
print "Confuse Complete !"
python代码混淆工具_有没有好的 python 混淆器 推荐一个相关推荐
- python代码编写工具_编写更好的Python代码的终极指南
python代码编写工具 Despite its 尽管它 downsides, Python remains the king of today's programming world. Its ve ...
- python代码怎么运行_使用Joblib并行运行Python代码
微信公众号:测度空间 对于大多数问题,并行计算确实可以提高计算速度. 随着PC计算能力的提高,我们可以通过在PC中运行并行代码来简单地提升计算速度.Joblib就是这样一个可以简单地将Python代码 ...
- python代码规范工具_如何检查python3中的代码规范
如何检查python3中的代码规范 发布时间:2020-11-16 09:40:48 来源:亿速云 阅读:77 作者:小新 这篇文章给大家分享的是有关如何检查python3中的代码规范的内容.小编觉得 ...
- python代码检查工具_基于Python3的漏洞检测工具 ( Python3 插件式框架 )
[TOC] Python3 漏洞检测工具 -- lance lance, a simple version of the vulnerability detection framework based ...
- python代码扫描工具_用Python编写一个高效的端口扫描器的方法
PyPortScanner python多线程端口扫描器. 输出示例: Github 背景 有时候,在进行网络相关的研究的时候,我们需要执行一些有目的的参数测量.而端口扫描就是其中比较普遍也比较重要的 ...
- python音频分析工具_『开发技巧』Python音频操作工具PyAudio上手教程
『开发技巧』Python音频操作工具PyAudio上手教程 0.引子 当需要使用Python处理音频数据时,使用python读取与播放声音必不可少,下面介绍一个好用的处理音频PyAudio工具包. ...
- 爬虫python代码网易云_爬虫实战(二) 用Python爬取网易云歌单
最近,博主喜欢上了听歌,但是又苦于找不到好音乐,于是就打算到网易云的歌单中逛逛 本着 "用技术改变生活" 的想法,于是便想着写一个爬虫爬取网易云的歌单,并按播放量自动进行排序 这篇 ...
- Python代码统计工具
目录 Python代码统计工具 声明 一. 问题提出 二. 代码实现 三. 效果验证 Python代码统计工具 标签: Python 代码统计 声明 本文将对<Python实现C代码统计工具(一 ...
- Python代码分析工具:PyChecker、Pylint
1 概述 PyChecker是Python代码的静态分析工具,它能够帮助查找Python代码的bug,而且能够对代码的复杂度和格式等提出警告. PyChecker可以工作在多种方式之下.首先,PyCh ...
最新文章
- 美团搜索中NER技术的探索与实践
- 谈*静态页*(或网页*静态化*)的时候,请区分一些概念(转)
- 【项目经验】如何用TexturePacker Physicseditor开发游戏
- python处理数据集并制作词云图
- EZ_USB salveFIFO
- ubuntu下jmxtrans 安装
- apktook 反编译错误
- 用C语言求解一元高次方程论文,一元高次方程C语言实现(最高五次
- IP 防护等级技术白皮书
- 【Ubuntu】安装H.264解码器
- C语言数字图像处理---1.3 图像直方图
- 教你电脑微信多开方法,超级简单_多啦咪
- 电脑蓝屏的几种状况处理
- 利用Python库中的imageio生成GIF格式的动图
- Jenkins忘记登陆账号和密码的解决办法
- 【您有一封来自阿里云的邀请函】阿里云成都客户服务中心20+职位虚席以待,来吧,成就最好的自己!...
- 用计算机华为隐藏空间,真香,华为手机开启隐私空间双系统,一部手机当两部用...
- ChatGPT桌面应用程序
- [Linux]基于SQLite数据库的停车管理系统
- 迭代重建算法中投影矩阵的计算
热门文章
- 现代的 “Hello, World”,可不仅仅是几行代码而已
- 阿里平头哥科学家亲述 RISC-V 2019 Summit 十大心得!
- 数据分析如何揭示冠状病毒的真相?
- Python、Go、JavaScript、Rust 将长盛 5 年!
- 我国自主开发的编程语言“木兰”是又一个披着“洋”皮的红芯浏览器吗?
- 腾讯回应 QQ 被工信部通报;由微软老兵领导,Facebook 开发新操作系统;Node.js 13.4.0 发布 | 极客头条...
- 睡觉的时候,程序能不能自动查 bug?
- 没有学历文凭,如何成为一名优秀的 Java 程序员?
- 马自达 3 为什么抛弃了触摸屏?
- 开源的全面胜利背后,那些被遗忘的人性问题