{} PyObf

混淆工作台

正在加载 Python 运行时 (Pyodide)…

原始代码 · input.py

混淆结果 · obfuscated.py

它做了什么

01

作用域感知重命名

ast 分析每个函数的作用域,只重命名函数体内纯局部的变量;函数参数、全局名、类属性、导入名保持不变,避免破坏关键字参数调用等程序行为。

02

自动跳过危险代码

检测到 eval / exec / getattr / globals() 等动态特性时,自动禁用重命名并给出提示,而不是生成一个跑不起来的脚本。

03

注释与文档字符串

源码先转换为 AST 再重新生成,注释本就不在 AST 中,因此天然被剥离;文档字符串会被单独检测并移除。

04

字符串编码

普通字符串字面量会被替换为 base64 解码调用;f-string 的文本片段会被保留,只有其表达式部分参与转换,避免破坏格式化输出。