#! /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 混淆器 推荐一个相关推荐

  1. python代码编写工具_编写更好的Python代码的终极指南

    python代码编写工具 Despite its 尽管它 downsides, Python remains the king of today's programming world. Its ve ...

  2. python代码怎么运行_使用Joblib并行运行Python代码

    微信公众号:测度空间 对于大多数问题,并行计算确实可以提高计算速度. 随着PC计算能力的提高,我们可以通过在PC中运行并行代码来简单地提升计算速度.Joblib就是这样一个可以简单地将Python代码 ...

  3. python代码规范工具_如何检查python3中的代码规范

    如何检查python3中的代码规范 发布时间:2020-11-16 09:40:48 来源:亿速云 阅读:77 作者:小新 这篇文章给大家分享的是有关如何检查python3中的代码规范的内容.小编觉得 ...

  4. python代码检查工具_基于Python3的漏洞检测工具 ( Python3 插件式框架 )

    [TOC] Python3 漏洞检测工具 -- lance lance, a simple version of the vulnerability detection framework based ...

  5. python代码扫描工具_用Python编写一个高效的端口扫描器的方法

    PyPortScanner python多线程端口扫描器. 输出示例: Github 背景 有时候,在进行网络相关的研究的时候,我们需要执行一些有目的的参数测量.而端口扫描就是其中比较普遍也比较重要的 ...

  6. python音频分析工具_『开发技巧』Python音频操作工具PyAudio上手教程

    『开发技巧』Python音频操作工具PyAudio上手教程 ​ 0.引子 当需要使用Python处理音频数据时,使用python读取与播放声音必不可少,下面介绍一个好用的处理音频PyAudio工具包. ...

  7. 爬虫python代码网易云_爬虫实战(二) 用Python爬取网易云歌单

    最近,博主喜欢上了听歌,但是又苦于找不到好音乐,于是就打算到网易云的歌单中逛逛 本着 "用技术改变生活" 的想法,于是便想着写一个爬虫爬取网易云的歌单,并按播放量自动进行排序 这篇 ...

  8. Python代码统计工具

    目录 Python代码统计工具 声明 一. 问题提出 二. 代码实现 三. 效果验证 Python代码统计工具 标签: Python 代码统计 声明 本文将对<Python实现C代码统计工具(一 ...

  9. Python代码分析工具:PyChecker、Pylint

    1 概述 PyChecker是Python代码的静态分析工具,它能够帮助查找Python代码的bug,而且能够对代码的复杂度和格式等提出警告. PyChecker可以工作在多种方式之下.首先,PyCh ...

最新文章

  1. 美团搜索中NER技术的探索与实践
  2. 谈*静态页*(或网页*静态化*)的时候,请区分一些概念(转)
  3. 【项目经验】如何用TexturePacker Physicseditor开发游戏
  4. python处理数据集并制作词云图
  5. EZ_USB salveFIFO
  6. ubuntu下jmxtrans 安装
  7. apktook 反编译错误
  8. 用C语言求解一元高次方程论文,一元高次方程C语言实现(最高五次
  9. IP 防护等级技术白皮书
  10. 【Ubuntu】安装H.264解码器
  11. C语言数字图像处理---1.3 图像直方图
  12. 教你电脑微信多开方法,超级简单_多啦咪
  13. 电脑蓝屏的几种状况处理
  14. 利用Python库中的imageio生成GIF格式的动图
  15. Jenkins忘记登陆账号和密码的解决办法
  16. 【您有一封来自阿里云的邀请函】阿里云成都客户服务中心20+职位虚席以待,来吧,成就最好的自己!...
  17. 用计算机华为隐藏空间,真香,华为手机开启隐私空间双系统,一部手机当两部用...
  18. ChatGPT桌面应用程序
  19. [Linux]基于SQLite数据库的停车管理系统
  20. 迭代重建算法中投影矩阵的计算

热门文章

  1. 现代的 “Hello, World”,可不仅仅是几行代码而已
  2. 阿里平头哥科学家亲述 RISC-V 2019 Summit 十大心得!
  3. 数据分析如何揭示冠状病毒的真相?
  4. Python、Go、JavaScript、Rust 将长盛 5 年!
  5. 我国自主开发的编程语言“木兰”是又一个披着“洋”皮的红芯浏览器吗?
  6. 腾讯回应 QQ 被工信部通报;由微软老兵领导,Facebook 开发新操作系统;Node.js 13.4.0 发布 | 极客头条...
  7. 睡觉的时候,程序能不能自动查 bug?
  8. 没有学历文凭,如何成为一名优秀的 Java 程序员?
  9. 马自达 3 为什么抛弃了触摸屏?
  10. 开源的全面胜利背后,那些被遗忘的人性问题