Python代码混淆处理工具:Intensio-Obfuscator
工具简介
Intensio-Obfuscator可以直接将Python源代码进行转换,并输出经过混淆处理后的Python代码。它会自动将变量名、类名以及函数名替换为随机字符,并定义长度,移除注释内容,自动换行,并给每一行代码增加随机脚本(所有的随机值都是不同的)。
工具运行要求
Python版本>=v3.5。
文件支持
Intensio-Obfuscator目前支持的Python文件代码版本为v2.x以及v3.x版本.
工具安装
广大用户可以直接使用git命令将项目代码从GitHub代码库中克隆至本地:
$ git clone https://github.com/Hnfull/Intensio-Obfuscator.git
$ python3 -m pip install -r Intensio-Obfuscator/requirements.txt
$ cd Intensio-Obfuscator/src/intensio_obfuscator
$ python3 intensio_obfuscator.py --help
功能介绍
替换:替换所有的变量名、类名以及函数名,移除所有的换行符
填充:在每一行代码后添加随机脚本,并移除所有的换行符
移除:移除代码中的全部注释以及换行
低级混淆:生成32个字符的随机字符串,替换源代码中定义的变量名、类名以及函数名
中级混淆:生成64个字符的随机字符串,替换源代码中定义的变量名、类名以及函数名
高级混淆:生成128个字符的随机字符串,替换源代码中定义的变量名、类名以及函数名
工具使用
参量 | 说明 |
---|---|
-h,–help | 显示此帮助消息并退出 |
-i, –input | 源目录-指示包含您的文件的目录 |
-o, –output | 输出目录将被混淆-指示将包含文件的空目录 |
-mlen,–mixerlength | 定义生成的随机字符串的长度[ lower:32 |
-ind,–indent | 指示python源代码的缩进,可能的值:[ 2 |
-rts,-replacetostr | 启用replace string to string mixed 混淆功能 |
–excludewords | 文件以排除特定单词(请参阅文档中的格式)仅用于-rts, --replacetostr 混淆功能 |
-ps,-paddingscript | 启用padding script 混淆功能 |
-rfn,–replacefilename | 启用replace file name 混淆功能 |
–excludefiles | 文件以排除文件名(请参阅文档中的格式)仅用于-rfn, --replacefilename 混淆功能 |
-rth,–replacetohex | 启用replace string to hex 混淆(python files 2 only) |
–version | 检查当前版本 |
-v,–verbose | 提高详细程度 |
intensio_obfuscator -i /Users/nzoe/PycharmProjects/ -o /Users/nzoe/PycharmProjects/test -mlen lower -rts -ps -rth -ind 2
如果你想要在使用“替换”功能时排除掉某些变量名、类名或函数名的话,可以编辑下面这个文件:
intensio/exclude_python_words.txt
本作品采用《CC 协议》,转载必须注明作者和本文链接