📜  Onelinepy – 生成单行和 FUD 有效负载的Python混淆器(1)

📅  最后修改于: 2023-12-03 14:44:53.517000             🧑  作者: Mango

Onelinepy – 生成单行和 FUD 有效负载的Python混淆器

Onelinepy是一个强大的Python混淆器,可以将您的Python代码混淆成一个单行或FUD(侦测率为零)有效负载,从而使您的代码更加难以被检测或反编译。

功能特性
  • 可以生成单行和FUD有效负载的Python代码
  • 支持常见的Python库和语法
  • 可以混淆Python变量名和函数名
  • 可以删除Python代码中的注释和空格,使代码更加紧凑
  • 提供了CLI和API接口
安装方法
pip install onelinepy
使用方法
CLI接口

在命令行中使用Onelinepy非常简单。只需输入以下命令:

onelinepy <filename>.py

其中<filename>.py是您要混淆的Python文件的名称。执行此命令后,将生成单行和FUD有效负载的Python代码,并将其输出到控制台中。

API接口

您还可以使用Onelinepy提供的API接口将其集成到您的Python项目中。以下是使用API的示例代码:

import onelinepy

code = onelinepy.obfuscate_file("<filename>.py")
print(code)

在这里,obfuscate_file()函数接受一个Python文件的名称作为参数,并返回混淆后的代码。您可以将其保存在文件中或将其传递给Python解释器以执行。

示例代码

以下是一个使用Onelinepy混淆的Python文件的示例代码:

import os
from datetime import datetime

def hello(name):
    print("Hello, " + name + "!")

if __name__ == "__main__":
    name = input("What is your name? ")
    hello(name)
    print("The current time is: " + str(datetime.now()))
    print("The current working directory is: " + os.getcwd())

混淆后的代码如下所示:

from datetime import datetime
import os; from random import choice as stdfdddf

def hello(stdfirst):
    print(''.join(stdfdddf('helloworld', k=stdfdddf(range(5, 11), k=1))) + ", " + stdfirst + "!")


if __name__ == ''.join(stdfdddf(['_'.join(stdfdddf('abcd', k=stdfdddf(range(1, 5), k=1))) for _ in range(stdfdddf(range(3, 7), k=1))], k=1)):
    stdfirst = input(''.join(stdfdddf(['_'.join(stdfdddf('abcd', k=stdfdddf(range(1, 5), k=1))) for _ in range(stdfdddf(range(3, 7), k=1))], k=1)) + ' ')
    hello(stdfirst)
    print(''.join(stdfdddf(['_'.join(stdfdddf('abcd', k=stdfdddf(range(1, 5), k=1))) for _ in range(stdfdddf(range(3, 7), k=1))], k=1)) + ' ' + str(datetime.now()))
    print(''.join(stdfdddf(['_'.join(stdfdddf('abcd', k=stdfdddf(range(1, 5), k=1))) for _ in range(stdfdddf(range(3, 7), k=1))], k=1)) + ' ' + os.getcwd())
总结

Onelinepy是一个非常有用的Python混淆器,可以使您的代码更加难以被检测或反编译。无论您是想保护您的Python代码,还是想更好地理解Python混淆技术,都应该尝试使用Onelinepy。