今天给大家介绍的是一款名叫Intensio-Obfuscator的专业代码混淆处理工具,广大Python开发人员以及安全专家可以使用这款工具来对v2.x以及v3.x版本的Python代码进行混淆处理。
工具简介
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
工具使用样例
python3.xintensio_obfuscator.py -d -i test/python/multiplefiles/basic/input/basicRAT -cpython -o test/python/multiplefiles/basic/output/basicRAT -m lower -r –rm python3.xintensio_obfuscator.py -d -i test/python/multiplefiles/advanced/input/basicRAT-c python -o test/python/multiplefiles/advanced/output/basicRAT -m high -r -p-rm
许可证协议
本项目遵循MIT开源许可证协议。
免责声明
Intensio-Obfuscator的开发出于教育目的,请不要将其用于非法活动。
项目地址
Intensio-Obfuscator:【GitHub传送门】
摘自: