📅  最后修改于: 2023-12-03 14:44:53.517000             🧑  作者: Mango
Onelinepy是一个强大的Python混淆器,可以将您的Python代码混淆成一个单行或FUD(侦测率为零)有效负载,从而使您的代码更加难以被检测或反编译。
pip install onelinepy
在命令行中使用Onelinepy非常简单。只需输入以下命令:
onelinepy <filename>.py
其中<filename>.py
是您要混淆的Python文件的名称。执行此命令后,将生成单行和FUD有效负载的Python代码,并将其输出到控制台中。
您还可以使用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。