diff --git a/Doxygen.md b/Doxygen.md new file mode 100644 index 0000000..07e546a --- /dev/null +++ b/Doxygen.md @@ -0,0 +1,5 @@ +# Doxygen Documentation + +The generated API reference is published in this wiki under the doxygen directory. + +- Open the HTML entry point: [doxygen/index.html](doxygen/index.html) diff --git a/doxygen/README_8md.html b/doxygen/README_8md.html new file mode 100644 index 0000000..8feb1bd --- /dev/null +++ b/doxygen/README_8md.html @@ -0,0 +1,106 @@ + + +
+ + + + +|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
| ▼Nobfuscator | |
| CAdvancedObfuscator | |
| ▼Ntransformers | |
| ▼Nattribute_transformer | |
| CAttributeTransformer | |
| ▼Nclass_analyzer | |
| CClassAnalyzer | |
| CClassMethodMap | |
| ▼Nclass_mapper | |
| CClassMapAnalyzer | |
| CClassMapping | |
| CClassTransformer | |
| ▼Ncontrol_flow | |
| CControlFlowFlattener | |
| ▼Nrename | |
| CRenameTransformer | |
| ▼Nsymbol_tree | |
| CClassScope | |
| CModuleScope | |
| CScope | |
| CSymbol | |
| CSymbolTree | |
| CSymbolTreeBuilder | |
| CSymbolType | |
| ▼Nutils | |
| ▼Nencryption | |
| CStringEncryptor | |
| ▼Njunk_gen | |
| CJunkGenerator | |
| ▼Nname_gen | |
| CNameGenerator |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
Go to the source code of this file.
++Classes | |
| class | transformers.attribute_transformer.AttributeTransformer |
+Namespaces | |
| namespace | transformers |
| namespace | transformers.attribute_transformer |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
Go to the source code of this file.
++Classes | |
| class | transformers.class_analyzer.ClassAnalyzer |
| class | transformers.class_analyzer.ClassMethodMap |
+Namespaces | |
| namespace | transformers |
| namespace | transformers.class_analyzer |
+Functions | |
| Tuple[bool, str] | transformers.class_analyzer.get_method_name (ast.Attribute node) |
| transformers.class_analyzer.update_obfuscator_with_class_mappings (obfuscator, ClassMethodMap class_map) | |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
Go to the source code of this file.
++Classes | |
| class | transformers.class_mapper.ClassMapAnalyzer |
| class | transformers.class_mapper.ClassMapping |
| class | transformers.class_mapper.ClassTransformer |
+Namespaces | |
| namespace | transformers |
| namespace | transformers.class_mapper |
+Functions | |
| ast.AST | transformers.class_mapper.apply_class_mapping (ast.AST tree, name_generator) |
+Variables | |
| transformers.class_mapper.level | |
| transformers.class_mapper.logger = logging.getLogger("ClassMapper") | |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for obfuscator.AdvancedObfuscator, including all inherited members.
+|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
+Public Member Functions | |
| __init__ (self, debug_mode=False) | |
| detect_issues (self) | |
| log_debug (self, category, data) | |
| str | obfuscate (self, str code) |
+Public Attributes | |
| class_attr_mapping | |
| debug_data | |
| debug_mode | |
| global_var_renames | |
| junk_gen | |
| name_generator | |
| primary_key | |
| salt | |
| secondary_key | |
| symbol_tree | |
| used_names | |
+Protected Member Functions | |
| SymbolTree | _build_symbol_tree (self, ast.AST tree) |
| ast.AST | _flatten_control_flow (self, ast.AST tree) |
| str | _generate_final_code (self, ast.AST tree) |
| ast.AST | _rename_and_encrypt (self, ast.AST tree) |
@brief Core obfuscation engine orchestrating all transformations. +@details Coordinates name generation, symbol tree construction, AST transformations + for renaming and string encryption, control-flow flattening, and final + code generation with junk injection. Optionally records detailed debug data. ++
Definition at line 25 of file obfuscator.py.
+| obfuscator.AdvancedObfuscator.__init__ | +( | ++ | self, | +
| + | + | + | debug_mode = False |
+
| + | ) | ++ |
Definition at line 32 of file obfuscator.py.
+
+
|
+ +protected | +
@brief Build a global symbol tree from the parsed AST. +@param tree Parsed AST of the input source. +@return SymbolTree Populated symbol tree with rename mappings and metadata. ++
Definition at line 115 of file obfuscator.py.
+References obfuscator.AdvancedObfuscator.class_attr_mapping, transformers.attribute_transformer.AttributeTransformer.class_attr_mapping, transformers.rename.RenameTransformer.class_attr_mapping, obfuscator.AdvancedObfuscator.debug_mode, transformers.control_flow.ControlFlowFlattener.debug_mode, transformers.rename.RenameTransformer.debug_mode, obfuscator.AdvancedObfuscator.global_var_renames, transformers.rename.RenameTransformer.global_var_renames, obfuscator.AdvancedObfuscator.log_debug(), transformers.control_flow.ControlFlowFlattener.log_debug(), transformers.rename.RenameTransformer.log_debug(), obfuscator.AdvancedObfuscator.name_generator, transformers.class_analyzer.ClassAnalyzer.name_generator, transformers.class_mapper.ClassMapAnalyzer.name_generator, transformers.rename.RenameTransformer.name_generator, and utils.junk_gen.JunkGenerator.name_generator.
+ +Referenced by obfuscator.AdvancedObfuscator._rename_and_encrypt().
+ +
+
|
+ +protected | +
@brief Flatten control flow into a state-machine dispatch form. +@param tree AST after renaming/encryption. +@return ast.AST Transformed AST with flattened control flow. ++
Definition at line 196 of file obfuscator.py.
+References obfuscator.AdvancedObfuscator.debug_data, transformers.control_flow.ControlFlowFlattener.debug_data, transformers.rename.RenameTransformer.debug_data, obfuscator.AdvancedObfuscator.debug_mode, transformers.control_flow.ControlFlowFlattener.debug_mode, and transformers.rename.RenameTransformer.debug_mode.
+ +Referenced by obfuscator.AdvancedObfuscator.obfuscate().
+ +
+
|
+ +protected | +
@brief Generate final Python source from the AST and inject junk code. +@param tree AST after all transformations. +@return str Final obfuscated Python source code. ++
Definition at line 212 of file obfuscator.py.
+References obfuscator.AdvancedObfuscator.debug_data, transformers.control_flow.ControlFlowFlattener.debug_data, transformers.rename.RenameTransformer.debug_data, obfuscator.AdvancedObfuscator.debug_mode, transformers.control_flow.ControlFlowFlattener.debug_mode, transformers.rename.RenameTransformer.debug_mode, and obfuscator.AdvancedObfuscator.junk_gen.
+ +Referenced by obfuscator.AdvancedObfuscator.obfuscate().
+ +
+
|
+ +protected | +
@brief Rename identifiers and encrypt string literals in the AST. +@param tree Input AST prior to control-flow transformations. +@return ast.AST Transformed AST with consistent renames and encrypted strings. ++
Definition at line 166 of file obfuscator.py.
+References obfuscator.AdvancedObfuscator._build_symbol_tree(), obfuscator.AdvancedObfuscator.class_attr_mapping, transformers.attribute_transformer.AttributeTransformer.class_attr_mapping, transformers.rename.RenameTransformer.class_attr_mapping, obfuscator.AdvancedObfuscator.debug_data, transformers.control_flow.ControlFlowFlattener.debug_data, transformers.rename.RenameTransformer.debug_data, obfuscator.AdvancedObfuscator.debug_mode, transformers.control_flow.ControlFlowFlattener.debug_mode, transformers.rename.RenameTransformer.debug_mode, obfuscator.AdvancedObfuscator.global_var_renames, transformers.rename.RenameTransformer.global_var_renames, obfuscator.AdvancedObfuscator.name_generator, transformers.class_analyzer.ClassAnalyzer.name_generator, transformers.class_mapper.ClassMapAnalyzer.name_generator, transformers.rename.RenameTransformer.name_generator, utils.junk_gen.JunkGenerator.name_generator, obfuscator.AdvancedObfuscator.primary_key, utils.encryption.StringEncryptor.primary_key, obfuscator.AdvancedObfuscator.salt, utils.encryption.StringEncryptor.salt, obfuscator.AdvancedObfuscator.secondary_key, utils.encryption.StringEncryptor.secondary_key, and obfuscator.AdvancedObfuscator.symbol_tree.
+ +Referenced by obfuscator.AdvancedObfuscator.obfuscate().
+ +| obfuscator.AdvancedObfuscator.detect_issues | +( | ++ | self | ) | ++ |
@brief Run integrity checks and record any issues to debug data. +@details Aggregates issues from the symbol tree and legacy name-collision + checks to help diagnose transformation inconsistencies. ++
Definition at line 78 of file obfuscator.py.
+References obfuscator.AdvancedObfuscator.debug_data, transformers.control_flow.ControlFlowFlattener.debug_data, transformers.rename.RenameTransformer.debug_data, obfuscator.AdvancedObfuscator.debug_mode, transformers.control_flow.ControlFlowFlattener.debug_mode, transformers.rename.RenameTransformer.debug_mode, obfuscator.AdvancedObfuscator.global_var_renames, transformers.rename.RenameTransformer.global_var_renames, and obfuscator.AdvancedObfuscator.symbol_tree.
+ +| obfuscator.AdvancedObfuscator.log_debug | +( | ++ | self, | +
| + | + | + | category, | +
| + | + | + | data | +
| + | ) | ++ |
@brief Append a structured debug entry if debug mode is enabled. +@param category Logical stage or component name. +@param data Arbitrary JSON-serializable payload to record. ++
Definition at line 65 of file obfuscator.py.
+References obfuscator.AdvancedObfuscator.debug_data, transformers.control_flow.ControlFlowFlattener.debug_data, transformers.rename.RenameTransformer.debug_data, obfuscator.AdvancedObfuscator.debug_mode, transformers.control_flow.ControlFlowFlattener.debug_mode, and transformers.rename.RenameTransformer.debug_mode.
+ +Referenced by obfuscator.AdvancedObfuscator._build_symbol_tree(), transformers.control_flow.ControlFlowFlattener.generate_junk_code(), transformers.control_flow.ControlFlowFlattener.visit_Break(), transformers.control_flow.ControlFlowFlattener.visit_Continue(), transformers.control_flow.ControlFlowFlattener.visit_For(), transformers.control_flow.ControlFlowFlattener.visit_FunctionDef(), transformers.control_flow.ControlFlowFlattener.visit_If(), transformers.control_flow.ControlFlowFlattener.visit_Return(), and transformers.control_flow.ControlFlowFlattener.visit_While().
+ +| str obfuscator.AdvancedObfuscator.obfuscate | +( | ++ | self, | +
| + | + | str | +code | +
| + | ) | ++ |
@brief End-to-end obfuscation entry point. +@param code Original Python source code. +@return str Obfuscated Python source code. ++
Definition at line 278 of file obfuscator.py.
+References obfuscator.AdvancedObfuscator._flatten_control_flow(), obfuscator.AdvancedObfuscator._generate_final_code(), obfuscator.AdvancedObfuscator._rename_and_encrypt(), obfuscator.AdvancedObfuscator.debug_data, transformers.control_flow.ControlFlowFlattener.debug_data, transformers.rename.RenameTransformer.debug_data, obfuscator.AdvancedObfuscator.debug_mode, transformers.control_flow.ControlFlowFlattener.debug_mode, and transformers.rename.RenameTransformer.debug_mode.
+ +| obfuscator.AdvancedObfuscator.class_attr_mapping | +
Definition at line 45 of file obfuscator.py.
+ +Referenced by obfuscator.AdvancedObfuscator._build_symbol_tree(), obfuscator.AdvancedObfuscator._rename_and_encrypt(), transformers.rename.RenameTransformer.visit_Attribute(), transformers.attribute_transformer.AttributeTransformer.visit_Attribute(), transformers.rename.RenameTransformer.visit_ClassDef(), and transformers.rename.RenameTransformer.visit_Name().
+ +| obfuscator.AdvancedObfuscator.debug_data | +
Definition at line 53 of file obfuscator.py.
+ +Referenced by obfuscator.AdvancedObfuscator._flatten_control_flow(), obfuscator.AdvancedObfuscator._generate_final_code(), obfuscator.AdvancedObfuscator._rename_and_encrypt(), obfuscator.AdvancedObfuscator.detect_issues(), obfuscator.AdvancedObfuscator.log_debug(), transformers.control_flow.ControlFlowFlattener.log_debug(), transformers.rename.RenameTransformer.log_debug(), obfuscator.AdvancedObfuscator.obfuscate(), and transformers.control_flow.ControlFlowFlattener.visit_FunctionDef().
+ +| obfuscator.AdvancedObfuscator.debug_mode | +
Definition at line 52 of file obfuscator.py.
+ +Referenced by obfuscator.AdvancedObfuscator._build_symbol_tree(), obfuscator.AdvancedObfuscator._flatten_control_flow(), obfuscator.AdvancedObfuscator._generate_final_code(), obfuscator.AdvancedObfuscator._rename_and_encrypt(), obfuscator.AdvancedObfuscator.detect_issues(), transformers.control_flow.ControlFlowFlattener.generate_junk_code(), obfuscator.AdvancedObfuscator.log_debug(), transformers.control_flow.ControlFlowFlattener.log_debug(), transformers.rename.RenameTransformer.log_debug(), obfuscator.AdvancedObfuscator.obfuscate(), transformers.control_flow.ControlFlowFlattener.visit_Break(), transformers.control_flow.ControlFlowFlattener.visit_Continue(), transformers.control_flow.ControlFlowFlattener.visit_For(), transformers.control_flow.ControlFlowFlattener.visit_FunctionDef(), transformers.control_flow.ControlFlowFlattener.visit_If(), transformers.control_flow.ControlFlowFlattener.visit_Return(), and transformers.control_flow.ControlFlowFlattener.visit_While().
+ +| obfuscator.AdvancedObfuscator.global_var_renames | +
Definition at line 46 of file obfuscator.py.
+ +Referenced by obfuscator.AdvancedObfuscator._build_symbol_tree(), obfuscator.AdvancedObfuscator._rename_and_encrypt(), obfuscator.AdvancedObfuscator.detect_issues(), transformers.rename.RenameTransformer.visit_comprehension(), transformers.rename.RenameTransformer.visit_FunctionDef(), transformers.rename.RenameTransformer.visit_Global(), transformers.rename.RenameTransformer.visit_Module(), and transformers.rename.RenameTransformer.visit_Name().
+ +| obfuscator.AdvancedObfuscator.junk_gen | +
Definition at line 49 of file obfuscator.py.
+ +Referenced by obfuscator.AdvancedObfuscator._generate_final_code().
+ +| obfuscator.AdvancedObfuscator.name_generator | +
Definition at line 34 of file obfuscator.py.
+ +Referenced by obfuscator.AdvancedObfuscator._build_symbol_tree(), transformers.class_mapper.ClassMapAnalyzer._ensure_complete_method_mapping(), transformers.class_analyzer.ClassAnalyzer._ensure_consistent_method_mapping(), obfuscator.AdvancedObfuscator._rename_and_encrypt(), utils.junk_gen.JunkGenerator.add_junk(), utils.junk_gen.JunkGenerator.generate_junk(), transformers.rename.RenameTransformer.scan_class_methods(), transformers.class_mapper.ClassMapAnalyzer.visit_assign_in_class(), transformers.rename.RenameTransformer.visit_Attribute(), transformers.class_analyzer.ClassAnalyzer.visit_attribute_assign(), transformers.class_analyzer.ClassAnalyzer.visit_ClassDef(), transformers.rename.RenameTransformer.visit_ClassDef(), transformers.rename.RenameTransformer.visit_comprehension(), transformers.rename.RenameTransformer.visit_FunctionDef(), transformers.rename.RenameTransformer.visit_Global(), transformers.rename.RenameTransformer.visit_Module(), and transformers.rename.RenameTransformer.visit_Name().
+ +| obfuscator.AdvancedObfuscator.primary_key | +
Definition at line 37 of file obfuscator.py.
+ +Referenced by obfuscator.AdvancedObfuscator._rename_and_encrypt(), and utils.encryption.StringEncryptor.encrypt_string().
+ +| obfuscator.AdvancedObfuscator.salt | +
Definition at line 39 of file obfuscator.py.
+ +Referenced by obfuscator.AdvancedObfuscator._rename_and_encrypt(), and utils.encryption.StringEncryptor.encrypt_string().
+ +| obfuscator.AdvancedObfuscator.secondary_key | +
Definition at line 38 of file obfuscator.py.
+ +Referenced by obfuscator.AdvancedObfuscator._rename_and_encrypt(), and utils.encryption.StringEncryptor.encrypt_string().
+ +| obfuscator.AdvancedObfuscator.symbol_tree | +
Definition at line 42 of file obfuscator.py.
+ +Referenced by obfuscator.AdvancedObfuscator._rename_and_encrypt(), and obfuscator.AdvancedObfuscator.detect_issues().
+ +| obfuscator.AdvancedObfuscator.used_names | +
Definition at line 33 of file obfuscator.py.
+ +Referenced by utils.name_gen.NameGenerator.generate_name().
+ +|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for transformers.attribute_transformer.AttributeTransformer, including all inherited members.
+| __init__(self, Dict[str, Dict[str, str]] class_attr_mapping, Dict[str, str] class_renames) | transformers.attribute_transformer.AttributeTransformer | |
| class_attr_mapping | transformers.attribute_transformer.AttributeTransformer | |
| class_renames | transformers.attribute_transformer.AttributeTransformer | |
| current_class | transformers.attribute_transformer.AttributeTransformer | |
| visit_Attribute(self, node) | transformers.attribute_transformer.AttributeTransformer | |
| visit_ClassDef(self, node) | transformers.attribute_transformer.AttributeTransformer |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
Inheritance diagram for transformers.attribute_transformer.AttributeTransformer:
Collaboration diagram for transformers.attribute_transformer.AttributeTransformer:+Public Member Functions | |
| __init__ (self, Dict[str, Dict[str, str]] class_attr_mapping, Dict[str, str] class_renames) | |
| visit_Attribute (self, node) | |
| visit_ClassDef (self, node) | |
+Public Attributes | |
| class_attr_mapping | |
| class_renames | |
| current_class | |
@brief Transform attribute access expressions for consistency. +@details Handles self.method and self.attr translations based on provided + mappings to keep calls and attributes aligned with obfuscated names. ++
Definition at line 11 of file attribute_transformer.py.
+| transformers.attribute_transformer.AttributeTransformer.__init__ | +( | ++ | self, | +
| + | + | Dict[str, Dict[str, str]] | +class_attr_mapping, | +
| + | + | Dict[str, str] | +class_renames | +
| + | ) | ++ |
@brief Initialize transformer with mapping dictionaries.
+@param class_attr_mapping Maps class_name -> {attr_name -> obfuscated_attr_name}
+@param class_renames Maps original_class_name -> obfuscated_class_name
+
+Definition at line 18 of file attribute_transformer.py.
+| transformers.attribute_transformer.AttributeTransformer.visit_Attribute | +( | ++ | self, | +
| + | + | + | node | +
| + | ) | ++ |
@brief Transform attribute access for consistency within a class. +@param node ast.Attribute node to transform. +@return ast.AST Updated attribute node. ++
Definition at line 50 of file attribute_transformer.py.
+References obfuscator.AdvancedObfuscator.class_attr_mapping, transformers.attribute_transformer.AttributeTransformer.class_attr_mapping, transformers.rename.RenameTransformer.class_attr_mapping, transformers.attribute_transformer.AttributeTransformer.current_class, transformers.class_analyzer.ClassAnalyzer.current_class, transformers.class_mapper.ClassMapAnalyzer.current_class, transformers.class_mapper.ClassTransformer.current_class, and transformers.symbol_tree.SymbolTreeBuilder.current_class.
+ +| transformers.attribute_transformer.AttributeTransformer.visit_ClassDef | +( | ++ | self, | +
| + | + | + | node | +
| + | ) | ++ |
@brief Track the current class and process its body. +@param node ast.ClassDef being visited. +@return ast.ClassDef Potentially modified node. ++
Definition at line 28 of file attribute_transformer.py.
+References transformers.attribute_transformer.AttributeTransformer.class_renames, transformers.attribute_transformer.AttributeTransformer.current_class, transformers.class_analyzer.ClassAnalyzer.current_class, transformers.class_mapper.ClassMapAnalyzer.current_class, transformers.class_mapper.ClassTransformer.current_class, and transformers.symbol_tree.SymbolTreeBuilder.current_class.
+ +| transformers.attribute_transformer.AttributeTransformer.class_attr_mapping | +
Definition at line 24 of file attribute_transformer.py.
+ +Referenced by obfuscator.AdvancedObfuscator._build_symbol_tree(), obfuscator.AdvancedObfuscator._rename_and_encrypt(), transformers.rename.RenameTransformer.visit_Attribute(), transformers.attribute_transformer.AttributeTransformer.visit_Attribute(), transformers.rename.RenameTransformer.visit_ClassDef(), and transformers.rename.RenameTransformer.visit_Name().
+ +| transformers.attribute_transformer.AttributeTransformer.class_renames | +
Definition at line 25 of file attribute_transformer.py.
+ +Referenced by transformers.class_analyzer.ClassMethodMap.__init__(), and transformers.attribute_transformer.AttributeTransformer.visit_ClassDef().
+ +| transformers.attribute_transformer.AttributeTransformer.current_class | +
Definition at line 39 of file attribute_transformer.py.
+ +Referenced by transformers.class_mapper.ClassMapAnalyzer.visit_assign_in_class(), transformers.class_mapper.ClassMapAnalyzer.visit_Attribute(), transformers.class_mapper.ClassTransformer.visit_Attribute(), transformers.symbol_tree.SymbolTreeBuilder.visit_Attribute(), transformers.attribute_transformer.AttributeTransformer.visit_Attribute(), transformers.class_analyzer.ClassAnalyzer.visit_Attribute(), transformers.class_analyzer.ClassAnalyzer.visit_attribute_assign(), transformers.symbol_tree.SymbolTreeBuilder.visit_attribute_assignment(), transformers.class_analyzer.ClassAnalyzer.visit_ClassDef(), transformers.class_mapper.ClassMapAnalyzer.visit_ClassDef(), transformers.class_mapper.ClassTransformer.visit_ClassDef(), transformers.symbol_tree.SymbolTreeBuilder.visit_ClassDef(), transformers.attribute_transformer.AttributeTransformer.visit_ClassDef(), transformers.class_mapper.ClassTransformer.visit_FunctionDef(), and transformers.class_mapper.ClassMapAnalyzer.visit_method_def().
+ +|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for transformers.class_analyzer.ClassAnalyzer, including all inherited members.
+| __init__(self, name_generator) | transformers.class_analyzer.ClassAnalyzer | |
| _ensure_consistent_method_mapping(self) | transformers.class_analyzer.ClassAnalyzer | protected |
| _resolve_inheritance(self) | transformers.class_analyzer.ClassAnalyzer | protected |
| analyze(self, ast.AST tree) | transformers.class_analyzer.ClassAnalyzer | |
| current_class | transformers.class_analyzer.ClassAnalyzer | |
| method_map | transformers.class_analyzer.ClassAnalyzer | |
| name_generator | transformers.class_analyzer.ClassAnalyzer | |
| visit_Attribute(self, node) | transformers.class_analyzer.ClassAnalyzer | |
| visit_attribute_assign(self, node) | transformers.class_analyzer.ClassAnalyzer | |
| visit_ClassDef(self, ast.ClassDef node) | transformers.class_analyzer.ClassAnalyzer |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
Inheritance diagram for transformers.class_analyzer.ClassAnalyzer:
Collaboration diagram for transformers.class_analyzer.ClassAnalyzer:+Public Member Functions | |
| __init__ (self, name_generator) | |
| ClassMethodMap | analyze (self, ast.AST tree) |
| visit_Attribute (self, node) | |
| visit_attribute_assign (self, node) | |
| visit_ClassDef (self, ast.ClassDef node) | |
+Public Attributes | |
| current_class | |
| method_map | |
| name_generator | |
+Protected Member Functions | |
| _ensure_consistent_method_mapping (self) | |
| _resolve_inheritance (self) | |
@brief Analyze classes for consistent method/attribute renaming. +@details Ensures self.method() calls match def method() definitions and records inheritance. ++
Definition at line 28 of file class_analyzer.py.
+| transformers.class_analyzer.ClassAnalyzer.__init__ | +( | ++ | self, | +
| + | + | + | name_generator | +
| + | ) | ++ |
Definition at line 33 of file class_analyzer.py.
+
+
|
+ +protected | +
@brief Ensure all self.method() calls have mappings, even if undefined in class. ++
Definition at line 155 of file class_analyzer.py.
+References transformers.class_analyzer.ClassAnalyzer.method_map, obfuscator.AdvancedObfuscator.name_generator, transformers.class_analyzer.ClassAnalyzer.name_generator, transformers.class_mapper.ClassMapAnalyzer.name_generator, transformers.rename.RenameTransformer.name_generator, and utils.junk_gen.JunkGenerator.name_generator.
+ +Referenced by transformers.class_analyzer.ClassAnalyzer.analyze().
+ +
+
|
+ +protected | +
@brief Propagate method mappings along inheritance hierarchies. +@details Ensures overridden methods reuse the same obfuscated name. ++
Definition at line 173 of file class_analyzer.py.
+References transformers.class_analyzer.ClassAnalyzer.method_map.
+ +Referenced by transformers.class_analyzer.ClassAnalyzer.analyze(), and transformers.class_mapper.ClassMapAnalyzer.analyze().
+ +| ClassMethodMap transformers.class_analyzer.ClassAnalyzer.analyze | +( | ++ | self, | +
| + | + | ast.AST | +tree | +
| + | ) | ++ |
@brief Analyze the entire AST and produce mappings. +@param tree Parsed AST of the input module. +@return ClassMethodMap Populated mappings. ++
Definition at line 44 of file class_analyzer.py.
+References transformers.class_analyzer.ClassAnalyzer._ensure_consistent_method_mapping(), transformers.class_analyzer.ClassAnalyzer._resolve_inheritance(), transformers.class_mapper.ClassMapAnalyzer._resolve_inheritance(), and transformers.class_analyzer.ClassAnalyzer.method_map.
+ +| transformers.class_analyzer.ClassAnalyzer.visit_Attribute | +( | ++ | self, | +
| + | + | + | node | +
| + | ) | ++ |
@brief Track self.method references for consistency checks. +@param node ast.Attribute being visited. ++
Definition at line 141 of file class_analyzer.py.
+References transformers.attribute_transformer.AttributeTransformer.current_class, transformers.class_analyzer.ClassAnalyzer.current_class, transformers.class_mapper.ClassMapAnalyzer.current_class, transformers.class_mapper.ClassTransformer.current_class, transformers.symbol_tree.SymbolTreeBuilder.current_class, and transformers.class_analyzer.get_method_name().
+ +| transformers.class_analyzer.ClassAnalyzer.visit_attribute_assign | +( | ++ | self, | +
| + | + | + | node | +
| + | ) | ++ |
@brief Process self.attr assignments within a class. +@param node ast.Assign node of the assignment. ++
Definition at line 121 of file class_analyzer.py.
+References transformers.attribute_transformer.AttributeTransformer.current_class, transformers.class_analyzer.ClassAnalyzer.current_class, transformers.class_mapper.ClassMapAnalyzer.current_class, transformers.class_mapper.ClassTransformer.current_class, transformers.symbol_tree.SymbolTreeBuilder.current_class, transformers.class_analyzer.ClassAnalyzer.method_map, obfuscator.AdvancedObfuscator.name_generator, transformers.class_analyzer.ClassAnalyzer.name_generator, transformers.class_mapper.ClassMapAnalyzer.name_generator, transformers.rename.RenameTransformer.name_generator, and utils.junk_gen.JunkGenerator.name_generator.
+ +Referenced by transformers.class_analyzer.ClassAnalyzer.visit_ClassDef().
+ +| transformers.class_analyzer.ClassAnalyzer.visit_ClassDef | +( | ++ | self, | +
| + | + | ast.ClassDef | +node | +
| + | ) | ++ |
@brief Process a class definition and map methods/attrs. +@param node ast.ClassDef node being visited. ++
Definition at line 55 of file class_analyzer.py.
+References transformers.attribute_transformer.AttributeTransformer.current_class, transformers.class_analyzer.ClassAnalyzer.current_class, transformers.class_mapper.ClassMapAnalyzer.current_class, transformers.class_mapper.ClassTransformer.current_class, transformers.symbol_tree.SymbolTreeBuilder.current_class, transformers.class_analyzer.ClassAnalyzer.method_map, obfuscator.AdvancedObfuscator.name_generator, transformers.class_analyzer.ClassAnalyzer.name_generator, transformers.class_mapper.ClassMapAnalyzer.name_generator, transformers.rename.RenameTransformer.name_generator, utils.junk_gen.JunkGenerator.name_generator, and transformers.class_analyzer.ClassAnalyzer.visit_attribute_assign().
+ +| transformers.class_analyzer.ClassAnalyzer.current_class | +
Definition at line 36 of file class_analyzer.py.
+ +Referenced by transformers.class_mapper.ClassMapAnalyzer.visit_assign_in_class(), transformers.class_mapper.ClassMapAnalyzer.visit_Attribute(), transformers.class_mapper.ClassTransformer.visit_Attribute(), transformers.symbol_tree.SymbolTreeBuilder.visit_Attribute(), transformers.attribute_transformer.AttributeTransformer.visit_Attribute(), transformers.class_analyzer.ClassAnalyzer.visit_Attribute(), transformers.class_analyzer.ClassAnalyzer.visit_attribute_assign(), transformers.symbol_tree.SymbolTreeBuilder.visit_attribute_assignment(), transformers.class_analyzer.ClassAnalyzer.visit_ClassDef(), transformers.class_mapper.ClassMapAnalyzer.visit_ClassDef(), transformers.class_mapper.ClassTransformer.visit_ClassDef(), transformers.symbol_tree.SymbolTreeBuilder.visit_ClassDef(), transformers.attribute_transformer.AttributeTransformer.visit_ClassDef(), transformers.class_mapper.ClassTransformer.visit_FunctionDef(), and transformers.class_mapper.ClassMapAnalyzer.visit_method_def().
+ +| transformers.class_analyzer.ClassAnalyzer.method_map | +
Definition at line 35 of file class_analyzer.py.
+ +Referenced by transformers.class_analyzer.ClassAnalyzer._ensure_consistent_method_mapping(), transformers.class_analyzer.ClassAnalyzer._resolve_inheritance(), transformers.class_analyzer.ClassAnalyzer.analyze(), transformers.class_analyzer.ClassAnalyzer.visit_attribute_assign(), and transformers.class_analyzer.ClassAnalyzer.visit_ClassDef().
+ +| transformers.class_analyzer.ClassAnalyzer.name_generator | +
Definition at line 34 of file class_analyzer.py.
+ +Referenced by obfuscator.AdvancedObfuscator._build_symbol_tree(), transformers.class_mapper.ClassMapAnalyzer._ensure_complete_method_mapping(), transformers.class_analyzer.ClassAnalyzer._ensure_consistent_method_mapping(), obfuscator.AdvancedObfuscator._rename_and_encrypt(), utils.junk_gen.JunkGenerator.add_junk(), utils.junk_gen.JunkGenerator.generate_junk(), transformers.rename.RenameTransformer.scan_class_methods(), transformers.class_mapper.ClassMapAnalyzer.visit_assign_in_class(), transformers.rename.RenameTransformer.visit_Attribute(), transformers.class_analyzer.ClassAnalyzer.visit_attribute_assign(), transformers.class_analyzer.ClassAnalyzer.visit_ClassDef(), transformers.rename.RenameTransformer.visit_ClassDef(), transformers.rename.RenameTransformer.visit_comprehension(), transformers.rename.RenameTransformer.visit_FunctionDef(), transformers.rename.RenameTransformer.visit_Global(), transformers.rename.RenameTransformer.visit_Module(), and transformers.rename.RenameTransformer.visit_Name().
+ +|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for transformers.class_analyzer.ClassMethodMap, including all inherited members.
+| __init__(self) | transformers.class_analyzer.ClassMethodMap |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
+Public Member Functions | |
| __init__ (self) | |
@brief Stores method and attribute mappings for all classes. ++
Definition at line 10 of file class_analyzer.py.
+| transformers.class_analyzer.ClassMethodMap.__init__ | +( | ++ | self | ) | ++ |
Definition at line 14 of file class_analyzer.py.
+References transformers.attribute_transformer.AttributeTransformer.class_renames.
+ +|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for transformers.class_mapper.ClassMapAnalyzer, including all inherited members.
+| __init__(self, name_generator) | transformers.class_mapper.ClassMapAnalyzer | |
| _ensure_complete_method_mapping(self) | transformers.class_mapper.ClassMapAnalyzer | protected |
| _resolve_inheritance(self) | transformers.class_mapper.ClassMapAnalyzer | protected |
| analyze(self, ast.AST tree) | transformers.class_mapper.ClassMapAnalyzer | |
| current_class | transformers.class_mapper.ClassMapAnalyzer | |
| current_method | transformers.class_mapper.ClassMapAnalyzer | |
| mapping | transformers.class_mapper.ClassMapAnalyzer | |
| name_generator | transformers.class_mapper.ClassMapAnalyzer | |
| visit_Assign(self, ast.Assign node) | transformers.class_mapper.ClassMapAnalyzer | |
| visit_assign_in_class(self, ast.Assign node) | transformers.class_mapper.ClassMapAnalyzer | |
| visit_Attribute(self, ast.Attribute node) | transformers.class_mapper.ClassMapAnalyzer | |
| visit_ClassDef(self, ast.ClassDef node) | transformers.class_mapper.ClassMapAnalyzer | |
| visit_method_def(self, ast.FunctionDef node) | transformers.class_mapper.ClassMapAnalyzer |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
Inheritance diagram for transformers.class_mapper.ClassMapAnalyzer:
Collaboration diagram for transformers.class_mapper.ClassMapAnalyzer:+Public Member Functions | |
| __init__ (self, name_generator) | |
| ClassMapping | analyze (self, ast.AST tree) |
| visit_Assign (self, ast.Assign node) | |
| visit_assign_in_class (self, ast.Assign node) | |
| visit_Attribute (self, ast.Attribute node) | |
| visit_ClassDef (self, ast.ClassDef node) | |
| visit_method_def (self, ast.FunctionDef node) | |
+Public Attributes | |
| current_class | |
| current_method | |
| mapping | |
| name_generator | |
+Protected Member Functions | |
| _ensure_complete_method_mapping (self) | |
| _resolve_inheritance (self) | |
@brief Analyze the AST to create a complete class mapping. +@details Performs multi-pass analysis to collect classes, methods, attributes, + inheritance, and method-call references and builds consistent mappings. ++
Definition at line 62 of file class_mapper.py.
+| transformers.class_mapper.ClassMapAnalyzer.__init__ | +( | ++ | self, | +
| + | + | + | name_generator | +
| + | ) | ++ |
Definition at line 69 of file class_mapper.py.
+
+
|
+ +protected | +
@brief Ensure all method calls have corresponding mappings. +@details Handles methods called but not defined in the class. ++
Definition at line 247 of file class_mapper.py.
+References transformers.class_mapper.ClassMapAnalyzer.mapping, transformers.class_mapper.ClassTransformer.mapping, obfuscator.AdvancedObfuscator.name_generator, transformers.class_analyzer.ClassAnalyzer.name_generator, transformers.class_mapper.ClassMapAnalyzer.name_generator, transformers.rename.RenameTransformer.name_generator, and utils.junk_gen.JunkGenerator.name_generator.
+ +Referenced by transformers.class_mapper.ClassMapAnalyzer.analyze().
+ +
+
|
+ +protected | +
@brief Ensure child classes inherit method mappings from parent classes. +@details Copies parent method mappings into children when not overridden. ++
Definition at line 220 of file class_mapper.py.
+References transformers.class_mapper.ClassMapAnalyzer.mapping, and transformers.class_mapper.ClassTransformer.mapping.
+ +Referenced by transformers.class_analyzer.ClassAnalyzer.analyze(), and transformers.class_mapper.ClassMapAnalyzer.analyze().
+ +| ClassMapping transformers.class_mapper.ClassMapAnalyzer.analyze | +( | ++ | self, | +
| + | + | ast.AST | +tree | +
| + | ) | ++ |
@brief Perform a complete analysis of the AST. +@param tree Parsed AST to analyze. +@return ClassMapping Aggregated mappings for class renaming and members. ++
Definition at line 76 of file class_mapper.py.
+References transformers.class_mapper.ClassMapAnalyzer._ensure_complete_method_mapping(), transformers.class_analyzer.ClassAnalyzer._resolve_inheritance(), transformers.class_mapper.ClassMapAnalyzer._resolve_inheritance(), transformers.class_mapper.ClassMapAnalyzer.mapping, and transformers.class_mapper.ClassTransformer.mapping.
+ +| transformers.class_mapper.ClassMapAnalyzer.visit_Assign | +( | ++ | self, | +
| + | + | ast.Assign | +node | +
| + | ) | ++ |
@brief Process assignments that might contain self.attr references. +@param node ast.Assign node. ++
Definition at line 210 of file class_mapper.py.
+| transformers.class_mapper.ClassMapAnalyzer.visit_assign_in_class | +( | ++ | self, | +
| + | + | ast.Assign | +node | +
| + | ) | ++ |
@brief Process assignments in class body or methods. +@param node ast.Assign possibly containing self.attr writes. ++
Definition at line 174 of file class_mapper.py.
+References transformers.attribute_transformer.AttributeTransformer.current_class, transformers.class_analyzer.ClassAnalyzer.current_class, transformers.class_mapper.ClassMapAnalyzer.current_class, transformers.class_mapper.ClassTransformer.current_class, transformers.symbol_tree.SymbolTreeBuilder.current_class, transformers.class_mapper.ClassMapAnalyzer.mapping, transformers.class_mapper.ClassTransformer.mapping, obfuscator.AdvancedObfuscator.name_generator, transformers.class_analyzer.ClassAnalyzer.name_generator, transformers.class_mapper.ClassMapAnalyzer.name_generator, transformers.rename.RenameTransformer.name_generator, and utils.junk_gen.JunkGenerator.name_generator.
+ +| transformers.class_mapper.ClassMapAnalyzer.visit_Attribute | +( | ++ | self, | +
| + | + | ast.Attribute | +node | +
| + | ) | ++ |
@brief Process attribute access like self.method or self.attr. +@param node ast.Attribute node. ++
Definition at line 196 of file class_mapper.py.
+References transformers.attribute_transformer.AttributeTransformer.current_class, transformers.class_analyzer.ClassAnalyzer.current_class, transformers.class_mapper.ClassMapAnalyzer.current_class, transformers.class_mapper.ClassTransformer.current_class, transformers.symbol_tree.SymbolTreeBuilder.current_class, transformers.class_mapper.ClassMapAnalyzer.mapping, and transformers.class_mapper.ClassTransformer.mapping.
+ +| transformers.class_mapper.ClassMapAnalyzer.visit_ClassDef | +( | ++ | self, | +
| + | + | ast.ClassDef | +node | +
| + | ) | ++ |
@brief Process a class definition. +@param node ast.ClassDef node. ++
Definition at line 94 of file class_mapper.py.
+References transformers.attribute_transformer.AttributeTransformer.current_class, transformers.class_analyzer.ClassAnalyzer.current_class, transformers.class_mapper.ClassMapAnalyzer.current_class, transformers.class_mapper.ClassTransformer.current_class, and transformers.symbol_tree.SymbolTreeBuilder.current_class.
+ +| transformers.class_mapper.ClassMapAnalyzer.visit_method_def | +( | ++ | self, | +
| + | + | ast.FunctionDef | +node | +
| + | ) | ++ |
@brief Process a method definition in a class. +@param node ast.FunctionDef node. ++
Definition at line 149 of file class_mapper.py.
+References transformers.attribute_transformer.AttributeTransformer.current_class, transformers.class_analyzer.ClassAnalyzer.current_class, transformers.class_mapper.ClassMapAnalyzer.current_class, transformers.class_mapper.ClassTransformer.current_class, transformers.symbol_tree.SymbolTreeBuilder.current_class, and transformers.class_mapper.ClassMapAnalyzer.current_method.
+ +| transformers.class_mapper.ClassMapAnalyzer.current_class | +
Definition at line 100 of file class_mapper.py.
+ +Referenced by transformers.class_mapper.ClassMapAnalyzer.visit_assign_in_class(), transformers.class_mapper.ClassMapAnalyzer.visit_Attribute(), transformers.class_mapper.ClassTransformer.visit_Attribute(), transformers.symbol_tree.SymbolTreeBuilder.visit_Attribute(), transformers.attribute_transformer.AttributeTransformer.visit_Attribute(), transformers.class_analyzer.ClassAnalyzer.visit_Attribute(), transformers.class_analyzer.ClassAnalyzer.visit_attribute_assign(), transformers.symbol_tree.SymbolTreeBuilder.visit_attribute_assignment(), transformers.class_analyzer.ClassAnalyzer.visit_ClassDef(), transformers.class_mapper.ClassMapAnalyzer.visit_ClassDef(), transformers.class_mapper.ClassTransformer.visit_ClassDef(), transformers.symbol_tree.SymbolTreeBuilder.visit_ClassDef(), transformers.attribute_transformer.AttributeTransformer.visit_ClassDef(), transformers.class_mapper.ClassTransformer.visit_FunctionDef(), and transformers.class_mapper.ClassMapAnalyzer.visit_method_def().
+ +| transformers.class_mapper.ClassMapAnalyzer.current_method | +
Definition at line 158 of file class_mapper.py.
+ +Referenced by transformers.class_mapper.ClassMapAnalyzer.visit_method_def().
+ +| transformers.class_mapper.ClassMapAnalyzer.mapping | +
Definition at line 71 of file class_mapper.py.
+ +Referenced by transformers.class_mapper.ClassMapAnalyzer._ensure_complete_method_mapping(), transformers.class_mapper.ClassMapAnalyzer._resolve_inheritance(), transformers.class_mapper.ClassMapAnalyzer.analyze(), transformers.class_mapper.ClassMapAnalyzer.visit_assign_in_class(), transformers.class_mapper.ClassMapAnalyzer.visit_Attribute(), transformers.class_mapper.ClassTransformer.visit_Attribute(), and transformers.class_mapper.ClassTransformer.visit_FunctionDef().
+ +| transformers.class_mapper.ClassMapAnalyzer.name_generator | +
Definition at line 70 of file class_mapper.py.
+ +Referenced by obfuscator.AdvancedObfuscator._build_symbol_tree(), transformers.class_mapper.ClassMapAnalyzer._ensure_complete_method_mapping(), transformers.class_analyzer.ClassAnalyzer._ensure_consistent_method_mapping(), obfuscator.AdvancedObfuscator._rename_and_encrypt(), utils.junk_gen.JunkGenerator.add_junk(), utils.junk_gen.JunkGenerator.generate_junk(), transformers.rename.RenameTransformer.scan_class_methods(), transformers.class_mapper.ClassMapAnalyzer.visit_assign_in_class(), transformers.rename.RenameTransformer.visit_Attribute(), transformers.class_analyzer.ClassAnalyzer.visit_attribute_assign(), transformers.class_analyzer.ClassAnalyzer.visit_ClassDef(), transformers.rename.RenameTransformer.visit_ClassDef(), transformers.rename.RenameTransformer.visit_comprehension(), transformers.rename.RenameTransformer.visit_FunctionDef(), transformers.rename.RenameTransformer.visit_Global(), transformers.rename.RenameTransformer.visit_Module(), and transformers.rename.RenameTransformer.visit_Name().
+ +|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for transformers.class_mapper.ClassMapping, including all inherited members.
+| __init__(self) | transformers.class_mapper.ClassMapping | |
| debug_info(self) | transformers.class_mapper.ClassMapping |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
+Public Member Functions | |
| __init__ (self) | |
| str | debug_info (self) |
@brief Stores all mappings related to classes in a centralized way. +@details Tracks class renames, method and attribute mappings, inheritance structure, + and seen method calls to ensure complete coverage. ++
Definition at line 16 of file class_mapper.py.
+| transformers.class_mapper.ClassMapping.__init__ | +( | ++ | self | ) | ++ |
Definition at line 23 of file class_mapper.py.
+| str transformers.class_mapper.ClassMapping.debug_info | +( | ++ | self | ) | ++ |
Return debug information about mappings.+
Definition at line 39 of file class_mapper.py.
+|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for transformers.class_mapper.ClassTransformer, including all inherited members.
+| __init__(self, ClassMapping mapping) | transformers.class_mapper.ClassTransformer | |
| current_class | transformers.class_mapper.ClassTransformer | |
| mapping | transformers.class_mapper.ClassTransformer | |
| visit_Attribute(self, ast.Attribute node) | transformers.class_mapper.ClassTransformer | |
| visit_ClassDef(self, ast.ClassDef node) | transformers.class_mapper.ClassTransformer | |
| visit_FunctionDef(self, ast.FunctionDef node) | transformers.class_mapper.ClassTransformer |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
Inheritance diagram for transformers.class_mapper.ClassTransformer:
Collaboration diagram for transformers.class_mapper.ClassTransformer:+Public Member Functions | |
| __init__ (self, ClassMapping mapping) | |
| visit_Attribute (self, ast.Attribute node) | |
| visit_ClassDef (self, ast.ClassDef node) | |
| visit_FunctionDef (self, ast.FunctionDef node) | |
+Public Attributes | |
| current_class | |
| mapping | |
@brief Transform class-related nodes using the mapping. +@details Renames class names, methods, and self.attr/self.method references + according to the analyzed mappings. ++
Definition at line 268 of file class_mapper.py.
+| transformers.class_mapper.ClassTransformer.__init__ | +( | ++ | self, | +
| + | + | ClassMapping | +mapping | +
| + | ) | ++ |
Definition at line 275 of file class_mapper.py.
+| transformers.class_mapper.ClassTransformer.visit_Attribute | +( | ++ | self, | +
| + | + | ast.Attribute | +node | +
| + | ) | ++ |
@brief Transform self.method and self.attr references. +@param node ast.Attribute node. +@return ast.Attribute Transformed attribute node. ++
Definition at line 315 of file class_mapper.py.
+References transformers.attribute_transformer.AttributeTransformer.current_class, transformers.class_analyzer.ClassAnalyzer.current_class, transformers.class_mapper.ClassMapAnalyzer.current_class, transformers.class_mapper.ClassTransformer.current_class, transformers.symbol_tree.SymbolTreeBuilder.current_class, transformers.class_mapper.ClassMapAnalyzer.mapping, and transformers.class_mapper.ClassTransformer.mapping.
+ +| transformers.class_mapper.ClassTransformer.visit_ClassDef | +( | ++ | self, | +
| + | + | ast.ClassDef | +node | +
| + | ) | ++ |
@brief Transform class name and process its body. +@param node ast.ClassDef node. +@return ast.ClassDef Transformed class node. ++
Definition at line 279 of file class_mapper.py.
+References transformers.attribute_transformer.AttributeTransformer.current_class, transformers.class_analyzer.ClassAnalyzer.current_class, transformers.class_mapper.ClassMapAnalyzer.current_class, transformers.class_mapper.ClassTransformer.current_class, and transformers.symbol_tree.SymbolTreeBuilder.current_class.
+ +| transformers.class_mapper.ClassTransformer.visit_FunctionDef | +( | ++ | self, | +
| + | + | ast.FunctionDef | +node | +
| + | ) | ++ |
@brief Transform method name. +@param node ast.FunctionDef node. +@return ast.FunctionDef Transformed method node. ++
Definition at line 300 of file class_mapper.py.
+References transformers.attribute_transformer.AttributeTransformer.current_class, transformers.class_analyzer.ClassAnalyzer.current_class, transformers.class_mapper.ClassMapAnalyzer.current_class, transformers.class_mapper.ClassTransformer.current_class, transformers.symbol_tree.SymbolTreeBuilder.current_class, transformers.class_mapper.ClassMapAnalyzer.mapping, and transformers.class_mapper.ClassTransformer.mapping.
+ +| transformers.class_mapper.ClassTransformer.current_class | +
Definition at line 287 of file class_mapper.py.
+ +Referenced by transformers.class_mapper.ClassMapAnalyzer.visit_assign_in_class(), transformers.class_mapper.ClassMapAnalyzer.visit_Attribute(), transformers.class_mapper.ClassTransformer.visit_Attribute(), transformers.symbol_tree.SymbolTreeBuilder.visit_Attribute(), transformers.attribute_transformer.AttributeTransformer.visit_Attribute(), transformers.class_analyzer.ClassAnalyzer.visit_Attribute(), transformers.class_analyzer.ClassAnalyzer.visit_attribute_assign(), transformers.symbol_tree.SymbolTreeBuilder.visit_attribute_assignment(), transformers.class_analyzer.ClassAnalyzer.visit_ClassDef(), transformers.class_mapper.ClassMapAnalyzer.visit_ClassDef(), transformers.class_mapper.ClassTransformer.visit_ClassDef(), transformers.symbol_tree.SymbolTreeBuilder.visit_ClassDef(), transformers.attribute_transformer.AttributeTransformer.visit_ClassDef(), transformers.class_mapper.ClassTransformer.visit_FunctionDef(), and transformers.class_mapper.ClassMapAnalyzer.visit_method_def().
+ +| transformers.class_mapper.ClassTransformer.mapping | +
Definition at line 276 of file class_mapper.py.
+ +Referenced by transformers.class_mapper.ClassMapAnalyzer._ensure_complete_method_mapping(), transformers.class_mapper.ClassMapAnalyzer._resolve_inheritance(), transformers.class_mapper.ClassMapAnalyzer.analyze(), transformers.class_mapper.ClassMapAnalyzer.visit_assign_in_class(), transformers.class_mapper.ClassMapAnalyzer.visit_Attribute(), transformers.class_mapper.ClassTransformer.visit_Attribute(), and transformers.class_mapper.ClassTransformer.visit_FunctionDef().
+ +|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for transformers.control_flow.ControlFlowFlattener, including all inherited members.
+|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
Inheritance diagram for transformers.control_flow.ControlFlowFlattener:
Collaboration diagram for transformers.control_flow.ControlFlowFlattener:+Public Member Functions | |
| __init__ (self, debug_mode=False) | |
| List[ast.stmt] | flatten_blocks (self) |
| List[ast.stmt] | generate_junk_code (self) |
| log_debug (self, str category, Any data) | |
| ast.Assign | visit_Break (self, ast.Break node) |
| ast.Assign | visit_Continue (self, ast.Continue node) |
| List[ast.stmt] | visit_For (self, ast.For node) |
| ast.FunctionDef | visit_FunctionDef (self, ast.FunctionDef node) |
| ast.stmt | visit_If (self, ast.If node) |
| List[ast.stmt] | visit_Return (self, ast.Return node) |
| List[ast.stmt] | visit_While (self, ast.While node) |
+Public Attributes | |
| current_block_id | |
| debug_data | |
| debug_mode | |
| state_var_name | |
| states | |
A transformer that flattens control flow by converting branching structures +into a dispatch table with a while loop. ++
Definition at line 16 of file control_flow.py.
+| transformers.control_flow.ControlFlowFlattener.__init__ | +( | ++ | self, | +
| + | + | + | debug_mode = False |
+
| + | ) | ++ |
Definition at line 22 of file control_flow.py.
+| List[ast.stmt] transformers.control_flow.ControlFlowFlattener.flatten_blocks | +( | ++ | self | ) | ++ |
Create a flattened control flow structure using a while loop and switch-like +dispatch based on a state variable. ++
Definition at line 84 of file control_flow.py.
+References transformers.control_flow.ControlFlowFlattener.generate_junk_code(), transformers.control_flow.ControlFlowFlattener.state_var_name, and transformers.control_flow.ControlFlowFlattener.states.
+ +Referenced by transformers.control_flow.ControlFlowFlattener.visit_FunctionDef().
+ +| List[ast.stmt] transformers.control_flow.ControlFlowFlattener.generate_junk_code | +( | ++ | self | ) | ++ |
Generate meaningless code to obscure the control flow.+
Definition at line 178 of file control_flow.py.
+References obfuscator.AdvancedObfuscator.debug_mode, transformers.control_flow.ControlFlowFlattener.debug_mode, transformers.rename.RenameTransformer.debug_mode, obfuscator.AdvancedObfuscator.log_debug(), transformers.control_flow.ControlFlowFlattener.log_debug(), and transformers.rename.RenameTransformer.log_debug().
+ +Referenced by transformers.control_flow.ControlFlowFlattener.flatten_blocks().
+ +| transformers.control_flow.ControlFlowFlattener.log_debug | +( | ++ | self, | +
| + | + | str | +category, | +
| + | + | Any | +data | +
| + | ) | ++ |
Log debugging information if debug mode is enabled.+
Definition at line 36 of file control_flow.py.
+References obfuscator.AdvancedObfuscator.debug_data, transformers.control_flow.ControlFlowFlattener.debug_data, transformers.rename.RenameTransformer.debug_data, obfuscator.AdvancedObfuscator.debug_mode, transformers.control_flow.ControlFlowFlattener.debug_mode, and transformers.rename.RenameTransformer.debug_mode.
+ +Referenced by obfuscator.AdvancedObfuscator._build_symbol_tree(), transformers.control_flow.ControlFlowFlattener.generate_junk_code(), transformers.control_flow.ControlFlowFlattener.visit_Break(), transformers.control_flow.ControlFlowFlattener.visit_Continue(), transformers.control_flow.ControlFlowFlattener.visit_For(), transformers.control_flow.ControlFlowFlattener.visit_FunctionDef(), transformers.control_flow.ControlFlowFlattener.visit_If(), transformers.control_flow.ControlFlowFlattener.visit_Return(), and transformers.control_flow.ControlFlowFlattener.visit_While().
+ +| ast.Assign transformers.control_flow.ControlFlowFlattener.visit_Break | +( | ++ | self, | +
| + | + | ast.Break | +node | +
| + | ) | ++ |
Transform break statements into a state change to exit the current loop. +In a flattened control flow, this means finding the next state after the loop. + +For simplicity, we'll just set to -1 (terminate), but a more sophisticated +approach would track enclosing loops and their exit states. ++
Definition at line 424 of file control_flow.py.
+References obfuscator.AdvancedObfuscator.debug_mode, transformers.control_flow.ControlFlowFlattener.debug_mode, transformers.rename.RenameTransformer.debug_mode, obfuscator.AdvancedObfuscator.log_debug(), transformers.control_flow.ControlFlowFlattener.log_debug(), transformers.rename.RenameTransformer.log_debug(), and transformers.control_flow.ControlFlowFlattener.state_var_name.
+ +| ast.Assign transformers.control_flow.ControlFlowFlattener.visit_Continue | +( | ++ | self, | +
| + | + | ast.Continue | +node | +
| + | ) | ++ |
Transform continue statements to go back to the loop condition. +In a flattened control flow, we need to know the loop condition state. + +For simplicity, we'll implement a jump to the current state, effectively +rerunning the current block, but a more sophisticated approach would track +enclosing loops and their condition states. ++
Definition at line 442 of file control_flow.py.
+References obfuscator.AdvancedObfuscator.debug_mode, transformers.control_flow.ControlFlowFlattener.debug_mode, transformers.rename.RenameTransformer.debug_mode, obfuscator.AdvancedObfuscator.log_debug(), transformers.control_flow.ControlFlowFlattener.log_debug(), transformers.rename.RenameTransformer.log_debug(), and transformers.control_flow.ControlFlowFlattener.state_var_name.
+ +| List[ast.stmt] transformers.control_flow.ControlFlowFlattener.visit_For | +( | ++ | self, | +
| + | + | ast.For | +node | +
| + | ) | ++ |
Transform for loops into state transitions with loop body and else clause +as separate states. ++
Definition at line 259 of file control_flow.py.
+References transformers.control_flow.ControlFlowFlattener.current_block_id, obfuscator.AdvancedObfuscator.debug_mode, transformers.control_flow.ControlFlowFlattener.debug_mode, transformers.rename.RenameTransformer.debug_mode, obfuscator.AdvancedObfuscator.log_debug(), transformers.control_flow.ControlFlowFlattener.log_debug(), transformers.rename.RenameTransformer.log_debug(), transformers.control_flow.ControlFlowFlattener.state_var_name, and transformers.control_flow.ControlFlowFlattener.states.
+ +| ast.FunctionDef transformers.control_flow.ControlFlowFlattener.visit_FunctionDef | +( | ++ | self, | +
| + | + | ast.FunctionDef | +node | +
| + | ) | ++ |
Transform a function body into a flattened control flow. + +Keeps function signature the same but replaces the body with +state-machine style execution. ++
Definition at line 44 of file control_flow.py.
+References transformers.control_flow.ControlFlowFlattener.current_block_id, obfuscator.AdvancedObfuscator.debug_data, transformers.control_flow.ControlFlowFlattener.debug_data, transformers.rename.RenameTransformer.debug_data, obfuscator.AdvancedObfuscator.debug_mode, transformers.control_flow.ControlFlowFlattener.debug_mode, transformers.rename.RenameTransformer.debug_mode, transformers.control_flow.ControlFlowFlattener.flatten_blocks(), obfuscator.AdvancedObfuscator.log_debug(), transformers.control_flow.ControlFlowFlattener.log_debug(), transformers.rename.RenameTransformer.log_debug(), and transformers.control_flow.ControlFlowFlattener.states.
+ +| ast.stmt transformers.control_flow.ControlFlowFlattener.visit_If | +( | ++ | self, | +
| + | + | ast.If | +node | +
| + | ) | ++ |
Transform if statements into state transitions. +Conditional branches become separate states in the state machine. ++
Definition at line 222 of file control_flow.py.
+References transformers.control_flow.ControlFlowFlattener.current_block_id, obfuscator.AdvancedObfuscator.debug_mode, transformers.control_flow.ControlFlowFlattener.debug_mode, transformers.rename.RenameTransformer.debug_mode, obfuscator.AdvancedObfuscator.log_debug(), transformers.control_flow.ControlFlowFlattener.log_debug(), transformers.rename.RenameTransformer.log_debug(), transformers.control_flow.ControlFlowFlattener.state_var_name, and transformers.control_flow.ControlFlowFlattener.states.
+ +| List[ast.stmt] transformers.control_flow.ControlFlowFlattener.visit_Return | +( | ++ | self, | +
| + | + | ast.Return | +node | +
| + | ) | ++ |
Transform return statements into state transitions that terminate the function. ++
Definition at line 463 of file control_flow.py.
+References obfuscator.AdvancedObfuscator.debug_mode, transformers.control_flow.ControlFlowFlattener.debug_mode, transformers.rename.RenameTransformer.debug_mode, obfuscator.AdvancedObfuscator.log_debug(), transformers.control_flow.ControlFlowFlattener.log_debug(), transformers.rename.RenameTransformer.log_debug(), and transformers.control_flow.ControlFlowFlattener.state_var_name.
+ +| List[ast.stmt] transformers.control_flow.ControlFlowFlattener.visit_While | +( | ++ | self, | +
| + | + | ast.While | +node | +
| + | ) | ++ |
Transform while loops into state transitions with conditional jumps. ++
Definition at line 365 of file control_flow.py.
+References transformers.control_flow.ControlFlowFlattener.current_block_id, obfuscator.AdvancedObfuscator.debug_mode, transformers.control_flow.ControlFlowFlattener.debug_mode, transformers.rename.RenameTransformer.debug_mode, obfuscator.AdvancedObfuscator.log_debug(), transformers.control_flow.ControlFlowFlattener.log_debug(), transformers.rename.RenameTransformer.log_debug(), transformers.control_flow.ControlFlowFlattener.state_var_name, and transformers.control_flow.ControlFlowFlattener.states.
+ +| transformers.control_flow.ControlFlowFlattener.current_block_id | +
Definition at line 25 of file control_flow.py.
+ +Referenced by transformers.control_flow.ControlFlowFlattener.visit_For(), transformers.control_flow.ControlFlowFlattener.visit_FunctionDef(), transformers.control_flow.ControlFlowFlattener.visit_If(), and transformers.control_flow.ControlFlowFlattener.visit_While().
+ +| transformers.control_flow.ControlFlowFlattener.debug_data | +
Definition at line 30 of file control_flow.py.
+ +Referenced by obfuscator.AdvancedObfuscator._flatten_control_flow(), obfuscator.AdvancedObfuscator._generate_final_code(), obfuscator.AdvancedObfuscator._rename_and_encrypt(), obfuscator.AdvancedObfuscator.detect_issues(), obfuscator.AdvancedObfuscator.log_debug(), transformers.control_flow.ControlFlowFlattener.log_debug(), transformers.rename.RenameTransformer.log_debug(), obfuscator.AdvancedObfuscator.obfuscate(), and transformers.control_flow.ControlFlowFlattener.visit_FunctionDef().
+ +| transformers.control_flow.ControlFlowFlattener.debug_mode | +
Definition at line 26 of file control_flow.py.
+ +Referenced by obfuscator.AdvancedObfuscator._build_symbol_tree(), obfuscator.AdvancedObfuscator._flatten_control_flow(), obfuscator.AdvancedObfuscator._generate_final_code(), obfuscator.AdvancedObfuscator._rename_and_encrypt(), obfuscator.AdvancedObfuscator.detect_issues(), transformers.control_flow.ControlFlowFlattener.generate_junk_code(), obfuscator.AdvancedObfuscator.log_debug(), transformers.control_flow.ControlFlowFlattener.log_debug(), transformers.rename.RenameTransformer.log_debug(), obfuscator.AdvancedObfuscator.obfuscate(), transformers.control_flow.ControlFlowFlattener.visit_Break(), transformers.control_flow.ControlFlowFlattener.visit_Continue(), transformers.control_flow.ControlFlowFlattener.visit_For(), transformers.control_flow.ControlFlowFlattener.visit_FunctionDef(), transformers.control_flow.ControlFlowFlattener.visit_If(), transformers.control_flow.ControlFlowFlattener.visit_Return(), and transformers.control_flow.ControlFlowFlattener.visit_While().
+ +| transformers.control_flow.ControlFlowFlattener.state_var_name | +
Definition at line 23 of file control_flow.py.
+ +Referenced by transformers.control_flow.ControlFlowFlattener.flatten_blocks(), transformers.control_flow.ControlFlowFlattener.visit_Break(), transformers.control_flow.ControlFlowFlattener.visit_Continue(), transformers.control_flow.ControlFlowFlattener.visit_For(), transformers.control_flow.ControlFlowFlattener.visit_If(), transformers.control_flow.ControlFlowFlattener.visit_Return(), and transformers.control_flow.ControlFlowFlattener.visit_While().
+ +| transformers.control_flow.ControlFlowFlattener.states | +
Definition at line 24 of file control_flow.py.
+ +Referenced by transformers.control_flow.ControlFlowFlattener.flatten_blocks(), transformers.control_flow.ControlFlowFlattener.visit_For(), transformers.control_flow.ControlFlowFlattener.visit_FunctionDef(), transformers.control_flow.ControlFlowFlattener.visit_If(), and transformers.control_flow.ControlFlowFlattener.visit_While().
+ +|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for transformers.rename.RenameTransformer, including all inherited members.
+|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
Inheritance diagram for transformers.rename.RenameTransformer:
Collaboration diagram for transformers.rename.RenameTransformer:+Public Member Functions | |
| __init__ (self, name_generator, global_var_renames, class_attr_mapping, primary_key, secondary_key, salt, debug_mode=False) | |
| log_debug (self, str category, any data) | |
| scan_class_methods (self, node) | |
| ast.AST | visit_Attribute (self, ast.Attribute node) |
| ast.Call | visit_Call (self, ast.Call node) |
| ast.ClassDef | visit_ClassDef (self, ast.ClassDef node) |
| ast.comprehension | visit_comprehension (self, ast.comprehension node) |
| ast.AST | visit_Constant (self, ast.Constant node) |
| ast.DictComp | visit_DictComp (self, ast.DictComp node) |
| ast.FunctionDef | visit_FunctionDef (self, ast.FunctionDef node) |
| ast.GeneratorExp | visit_GeneratorExp (self, ast.GeneratorExp node) |
| ast.Global | visit_Global (self, ast.Global node) |
| ast.AST | visit_Import (self, ast.Import node) |
| ast.AST | visit_ImportFrom (self, ast.ImportFrom node) |
| ast.ListComp | visit_ListComp (self, ast.ListComp node) |
| ast.Module | visit_Module (self, ast.Module node) |
| ast.AST | visit_Name (self, ast.Name node) |
| ast.SetComp | visit_SetComp (self, ast.SetComp node) |
| ast.AST | visit_Subscript (self, ast.Subscript node) |
+Public Attributes | |
| class_attr_mapping | |
| class_method_mapping | |
| current_class_name | |
| debug_data | |
| debug_mode | |
| encryptor | |
| first_pass | |
| global_var_renames | |
| in_class | |
| key_setup_code | |
| name_generator | |
| scope_stack | |
+Protected Member Functions | |
| _pop_scope (self) | |
| _push_scope (self) | |
@brief AST transformer for renaming and string encryption. +@details Maintains scope stacks, global mappings, class method/attribute maps, and + collects key-setup code for runtime decryption. Can emit debug telemetry. ++ +
| transformers.rename.RenameTransformer.__init__ | +( | ++ | self, | +
| + | + | + | name_generator, | +
| + | + | + | global_var_renames, | +
| + | + | + | class_attr_mapping, | +
| + | + | + | primary_key, | +
| + | + | + | secondary_key, | +
| + | + | + | salt, | +
| + | + | + | debug_mode = False |
+
| + | ) | ++ |
Definition at line 23 of file rename.py.
+
+
|
+ +protected | +
Definition at line 147 of file rename.py.
+References transformers.rename.RenameTransformer.scope_stack.
+ +Referenced by transformers.rename.RenameTransformer.visit_DictComp(), transformers.rename.RenameTransformer.visit_FunctionDef(), transformers.rename.RenameTransformer.visit_GeneratorExp(), transformers.rename.RenameTransformer.visit_ListComp(), and transformers.rename.RenameTransformer.visit_SetComp().
+ +
+
|
+ +protected | +
Definition at line 144 of file rename.py.
+References transformers.rename.RenameTransformer.scope_stack.
+ +Referenced by transformers.rename.RenameTransformer.visit_DictComp(), transformers.rename.RenameTransformer.visit_FunctionDef(), transformers.rename.RenameTransformer.visit_GeneratorExp(), transformers.rename.RenameTransformer.visit_ListComp(), and transformers.rename.RenameTransformer.visit_SetComp().
+ +| transformers.rename.RenameTransformer.log_debug | +( | ++ | self, | +
| + | + | str | +category, | +
| + | + | any | +data | +
| + | ) | ++ |
Log debugging information if debug mode is on.+
Definition at line 56 of file rename.py.
+References obfuscator.AdvancedObfuscator.debug_data, transformers.control_flow.ControlFlowFlattener.debug_data, transformers.rename.RenameTransformer.debug_data, obfuscator.AdvancedObfuscator.debug_mode, transformers.control_flow.ControlFlowFlattener.debug_mode, and transformers.rename.RenameTransformer.debug_mode.
+ +Referenced by obfuscator.AdvancedObfuscator._build_symbol_tree(), transformers.control_flow.ControlFlowFlattener.generate_junk_code(), transformers.control_flow.ControlFlowFlattener.visit_Break(), transformers.control_flow.ControlFlowFlattener.visit_Continue(), transformers.control_flow.ControlFlowFlattener.visit_For(), transformers.control_flow.ControlFlowFlattener.visit_FunctionDef(), transformers.control_flow.ControlFlowFlattener.visit_If(), transformers.control_flow.ControlFlowFlattener.visit_Return(), and transformers.control_flow.ControlFlowFlattener.visit_While().
+ +| transformers.rename.RenameTransformer.scan_class_methods | +( | ++ | self, | +
| + | + | + | node | +
| + | ) | ++ |
Pre-scan a class to identify and map all its methods before actual renaming. ++
Definition at line 125 of file rename.py.
+References transformers.rename.RenameTransformer.class_method_mapping, obfuscator.AdvancedObfuscator.name_generator, transformers.class_analyzer.ClassAnalyzer.name_generator, transformers.class_mapper.ClassMapAnalyzer.name_generator, transformers.rename.RenameTransformer.name_generator, and utils.junk_gen.JunkGenerator.name_generator.
+ +Referenced by transformers.rename.RenameTransformer.visit_Module().
+ +| ast.AST transformers.rename.RenameTransformer.visit_Attribute | +( | ++ | self, | +
| + | + | ast.Attribute | +node | +
| + | ) | ++ |
Handle attribute access for renaming: +1. Map method calls on self to the corresponding renamed methods +2. Preserve external/inherited method names +3. Rename self.attribute for class-defined attributes ++
Definition at line 335 of file rename.py.
+References obfuscator.AdvancedObfuscator.class_attr_mapping, transformers.attribute_transformer.AttributeTransformer.class_attr_mapping, transformers.rename.RenameTransformer.class_attr_mapping, transformers.rename.RenameTransformer.class_method_mapping, transformers.rename.RenameTransformer.current_class_name, obfuscator.AdvancedObfuscator.name_generator, transformers.class_analyzer.ClassAnalyzer.name_generator, transformers.class_mapper.ClassMapAnalyzer.name_generator, transformers.rename.RenameTransformer.name_generator, and utils.junk_gen.JunkGenerator.name_generator.
+ +| ast.Call transformers.rename.RenameTransformer.visit_Call | +( | ++ | self, | +
| + | + | ast.Call | +node | +
| + | ) | ++ |
Handle super() calls specifically to ensure class names are properly updated. ++
Definition at line 413 of file rename.py.
+References transformers.rename.RenameTransformer.scope_stack.
+ +| ast.ClassDef transformers.rename.RenameTransformer.visit_ClassDef | +( | ++ | self, | +
| + | + | ast.ClassDef | +node | +
| + | ) | ++ |
Definition at line 254 of file rename.py.
+References obfuscator.AdvancedObfuscator.class_attr_mapping, transformers.attribute_transformer.AttributeTransformer.class_attr_mapping, transformers.rename.RenameTransformer.class_attr_mapping, transformers.rename.RenameTransformer.class_method_mapping, transformers.rename.RenameTransformer.current_class_name, transformers.rename.RenameTransformer.in_class, obfuscator.AdvancedObfuscator.name_generator, transformers.class_analyzer.ClassAnalyzer.name_generator, transformers.class_mapper.ClassMapAnalyzer.name_generator, transformers.rename.RenameTransformer.name_generator, utils.junk_gen.JunkGenerator.name_generator, and transformers.rename.RenameTransformer.scope_stack.
+ +| ast.comprehension transformers.rename.RenameTransformer.visit_comprehension | +( | ++ | self, | +
| + | + | ast.comprehension | +node | +
| + | ) | ++ |
Definition at line 201 of file rename.py.
+References obfuscator.AdvancedObfuscator.global_var_renames, transformers.rename.RenameTransformer.global_var_renames, obfuscator.AdvancedObfuscator.name_generator, transformers.class_analyzer.ClassAnalyzer.name_generator, transformers.class_mapper.ClassMapAnalyzer.name_generator, transformers.rename.RenameTransformer.name_generator, utils.junk_gen.JunkGenerator.name_generator, and transformers.rename.RenameTransformer.scope_stack.
+ +| ast.AST transformers.rename.RenameTransformer.visit_Constant | +( | ++ | self, | +
| + | + | ast.Constant | +node | +
| + | ) | ++ |
Encrypt string literals into a multi-step XOR, then base85 decode at runtime. ++
Definition at line 385 of file rename.py.
+References transformers.rename.RenameTransformer.encryptor, and transformers.rename.RenameTransformer.key_setup_code.
+ +| ast.DictComp transformers.rename.RenameTransformer.visit_DictComp | +( | ++ | self, | +
| + | + | ast.DictComp | +node | +
| + | ) | ++ |
Definition at line 184 of file rename.py.
+References transformers.rename.RenameTransformer._pop_scope(), and transformers.rename.RenameTransformer._push_scope().
+ +| ast.FunctionDef transformers.rename.RenameTransformer.visit_FunctionDef | +( | ++ | self, | +
| + | + | ast.FunctionDef | +node | +
| + | ) | ++ |
Make sure top-level function definitions also get renamed +if they're in global_var_renames. ++
Definition at line 283 of file rename.py.
+References transformers.rename.RenameTransformer._pop_scope(), transformers.rename.RenameTransformer._push_scope(), transformers.rename.RenameTransformer.class_method_mapping, transformers.rename.RenameTransformer.current_class_name, obfuscator.AdvancedObfuscator.global_var_renames, transformers.rename.RenameTransformer.global_var_renames, transformers.rename.RenameTransformer.in_class, obfuscator.AdvancedObfuscator.name_generator, transformers.class_analyzer.ClassAnalyzer.name_generator, transformers.class_mapper.ClassMapAnalyzer.name_generator, transformers.rename.RenameTransformer.name_generator, utils.junk_gen.JunkGenerator.name_generator, and transformers.rename.RenameTransformer.scope_stack.
+ +| ast.GeneratorExp transformers.rename.RenameTransformer.visit_GeneratorExp | +( | ++ | self, | +
| + | + | ast.GeneratorExp | +node | +
| + | ) | ++ |
Definition at line 193 of file rename.py.
+References transformers.rename.RenameTransformer._pop_scope(), and transformers.rename.RenameTransformer._push_scope().
+ +| ast.Global transformers.rename.RenameTransformer.visit_Global | +( | ++ | self, | +
| + | + | ast.Global | +node | +
| + | ) | ++ |
Handle global statement declarations by: +1. Adding the variable names to global_var_renames if not already there +2. Adding them to the current scope to mark them as global ++
Definition at line 150 of file rename.py.
+References obfuscator.AdvancedObfuscator.global_var_renames, transformers.rename.RenameTransformer.global_var_renames, obfuscator.AdvancedObfuscator.name_generator, transformers.class_analyzer.ClassAnalyzer.name_generator, transformers.class_mapper.ClassMapAnalyzer.name_generator, transformers.rename.RenameTransformer.name_generator, utils.junk_gen.JunkGenerator.name_generator, and transformers.rename.RenameTransformer.scope_stack.
+ +| ast.AST transformers.rename.RenameTransformer.visit_Import | +( | ++ | self, | +
| + | + | ast.Import | +node | +
| + | ) | ++ |
| ast.AST transformers.rename.RenameTransformer.visit_ImportFrom | +( | ++ | self, | +
| + | + | ast.ImportFrom | +node | +
| + | ) | ++ |
| ast.ListComp transformers.rename.RenameTransformer.visit_ListComp | +( | ++ | self, | +
| + | + | ast.ListComp | +node | +
| + | ) | ++ |
Definition at line 168 of file rename.py.
+References transformers.rename.RenameTransformer._pop_scope(), and transformers.rename.RenameTransformer._push_scope().
+ +| ast.Module transformers.rename.RenameTransformer.visit_Module | +( | ++ | self, | +
| + | + | ast.Module | +node | +
| + | ) | ++ |
Enhanced module visitor to properly handle global variables +AND top-level function definitions for consistent renaming. + +Now includes a two-pass strategy for classes to ensure method consistency. ++
Definition at line 63 of file rename.py.
+References transformers.rename.RenameTransformer.first_pass, obfuscator.AdvancedObfuscator.global_var_renames, transformers.rename.RenameTransformer.global_var_renames, transformers.rename.RenameTransformer.key_setup_code, obfuscator.AdvancedObfuscator.name_generator, transformers.class_analyzer.ClassAnalyzer.name_generator, transformers.class_mapper.ClassMapAnalyzer.name_generator, transformers.rename.RenameTransformer.name_generator, utils.junk_gen.JunkGenerator.name_generator, and transformers.rename.RenameTransformer.scan_class_methods().
+ +| ast.AST transformers.rename.RenameTransformer.visit_Name | +( | ++ | self, | +
| + | + | ast.Name | +node | +
| + | ) | ++ |
Handle variable names and function names in calls. +1. If it's a known global/ top-level function, use global_var_renames. +2. Otherwise, handle locally within scope_stack. ++
Definition at line 214 of file rename.py.
+References obfuscator.AdvancedObfuscator.class_attr_mapping, transformers.attribute_transformer.AttributeTransformer.class_attr_mapping, transformers.rename.RenameTransformer.class_attr_mapping, transformers.rename.RenameTransformer.current_class_name, obfuscator.AdvancedObfuscator.global_var_renames, transformers.rename.RenameTransformer.global_var_renames, transformers.rename.RenameTransformer.in_class, obfuscator.AdvancedObfuscator.name_generator, transformers.class_analyzer.ClassAnalyzer.name_generator, transformers.class_mapper.ClassMapAnalyzer.name_generator, transformers.rename.RenameTransformer.name_generator, utils.junk_gen.JunkGenerator.name_generator, and transformers.rename.RenameTransformer.scope_stack.
+ +| ast.SetComp transformers.rename.RenameTransformer.visit_SetComp | +( | ++ | self, | +
| + | + | ast.SetComp | +node | +
| + | ) | ++ |
Definition at line 176 of file rename.py.
+References transformers.rename.RenameTransformer._pop_scope(), and transformers.rename.RenameTransformer._push_scope().
+ +| ast.AST transformers.rename.RenameTransformer.visit_Subscript | +( | ++ | self, | +
| + | + | ast.Subscript | +node | +
| + | ) | ++ |
| transformers.rename.RenameTransformer.class_attr_mapping | +
Definition at line 27 of file rename.py.
+ +Referenced by obfuscator.AdvancedObfuscator._build_symbol_tree(), obfuscator.AdvancedObfuscator._rename_and_encrypt(), transformers.rename.RenameTransformer.visit_Attribute(), transformers.attribute_transformer.AttributeTransformer.visit_Attribute(), transformers.rename.RenameTransformer.visit_ClassDef(), and transformers.rename.RenameTransformer.visit_Name().
+ +| transformers.rename.RenameTransformer.class_method_mapping | +
Definition at line 42 of file rename.py.
+ +Referenced by transformers.rename.RenameTransformer.scan_class_methods(), transformers.rename.RenameTransformer.visit_Attribute(), transformers.rename.RenameTransformer.visit_ClassDef(), and transformers.rename.RenameTransformer.visit_FunctionDef().
+ +| transformers.rename.RenameTransformer.current_class_name | +
Definition at line 40 of file rename.py.
+ +Referenced by transformers.rename.RenameTransformer.visit_Attribute(), transformers.rename.RenameTransformer.visit_ClassDef(), transformers.rename.RenameTransformer.visit_FunctionDef(), and transformers.rename.RenameTransformer.visit_Name().
+ +| transformers.rename.RenameTransformer.debug_data | +
Definition at line 49 of file rename.py.
+ +Referenced by obfuscator.AdvancedObfuscator._flatten_control_flow(), obfuscator.AdvancedObfuscator._generate_final_code(), obfuscator.AdvancedObfuscator._rename_and_encrypt(), obfuscator.AdvancedObfuscator.detect_issues(), obfuscator.AdvancedObfuscator.log_debug(), transformers.control_flow.ControlFlowFlattener.log_debug(), transformers.rename.RenameTransformer.log_debug(), obfuscator.AdvancedObfuscator.obfuscate(), and transformers.control_flow.ControlFlowFlattener.visit_FunctionDef().
+ +| transformers.rename.RenameTransformer.debug_mode | +
Definition at line 47 of file rename.py.
+ +Referenced by obfuscator.AdvancedObfuscator._build_symbol_tree(), obfuscator.AdvancedObfuscator._flatten_control_flow(), obfuscator.AdvancedObfuscator._generate_final_code(), obfuscator.AdvancedObfuscator._rename_and_encrypt(), obfuscator.AdvancedObfuscator.detect_issues(), transformers.control_flow.ControlFlowFlattener.generate_junk_code(), obfuscator.AdvancedObfuscator.log_debug(), transformers.control_flow.ControlFlowFlattener.log_debug(), transformers.rename.RenameTransformer.log_debug(), obfuscator.AdvancedObfuscator.obfuscate(), transformers.control_flow.ControlFlowFlattener.visit_Break(), transformers.control_flow.ControlFlowFlattener.visit_Continue(), transformers.control_flow.ControlFlowFlattener.visit_For(), transformers.control_flow.ControlFlowFlattener.visit_FunctionDef(), transformers.control_flow.ControlFlowFlattener.visit_If(), transformers.control_flow.ControlFlowFlattener.visit_Return(), and transformers.control_flow.ControlFlowFlattener.visit_While().
+ +| transformers.rename.RenameTransformer.encryptor | +
Definition at line 30 of file rename.py.
+ +Referenced by transformers.rename.RenameTransformer.visit_Constant().
+ +| transformers.rename.RenameTransformer.first_pass | +
Definition at line 44 of file rename.py.
+ +Referenced by transformers.rename.RenameTransformer.visit_Module().
+ +| transformers.rename.RenameTransformer.global_var_renames | +
Definition at line 26 of file rename.py.
+ +Referenced by obfuscator.AdvancedObfuscator._build_symbol_tree(), obfuscator.AdvancedObfuscator._rename_and_encrypt(), obfuscator.AdvancedObfuscator.detect_issues(), transformers.rename.RenameTransformer.visit_comprehension(), transformers.rename.RenameTransformer.visit_FunctionDef(), transformers.rename.RenameTransformer.visit_Global(), transformers.rename.RenameTransformer.visit_Module(), and transformers.rename.RenameTransformer.visit_Name().
+ +| transformers.rename.RenameTransformer.in_class | +
Definition at line 39 of file rename.py.
+ +Referenced by transformers.rename.RenameTransformer.visit_ClassDef(), transformers.rename.RenameTransformer.visit_FunctionDef(), and transformers.rename.RenameTransformer.visit_Name().
+ +| transformers.rename.RenameTransformer.key_setup_code | +
Definition at line 33 of file rename.py.
+ +Referenced by transformers.rename.RenameTransformer.visit_Constant(), and transformers.rename.RenameTransformer.visit_Module().
+ +| transformers.rename.RenameTransformer.name_generator | +
Definition at line 25 of file rename.py.
+ +Referenced by obfuscator.AdvancedObfuscator._build_symbol_tree(), transformers.class_mapper.ClassMapAnalyzer._ensure_complete_method_mapping(), transformers.class_analyzer.ClassAnalyzer._ensure_consistent_method_mapping(), obfuscator.AdvancedObfuscator._rename_and_encrypt(), utils.junk_gen.JunkGenerator.add_junk(), utils.junk_gen.JunkGenerator.generate_junk(), transformers.rename.RenameTransformer.scan_class_methods(), transformers.class_mapper.ClassMapAnalyzer.visit_assign_in_class(), transformers.rename.RenameTransformer.visit_Attribute(), transformers.class_analyzer.ClassAnalyzer.visit_attribute_assign(), transformers.class_analyzer.ClassAnalyzer.visit_ClassDef(), transformers.rename.RenameTransformer.visit_ClassDef(), transformers.rename.RenameTransformer.visit_comprehension(), transformers.rename.RenameTransformer.visit_FunctionDef(), transformers.rename.RenameTransformer.visit_Global(), transformers.rename.RenameTransformer.visit_Module(), and transformers.rename.RenameTransformer.visit_Name().
+ +| transformers.rename.RenameTransformer.scope_stack | +
Definition at line 36 of file rename.py.
+ +Referenced by transformers.rename.RenameTransformer._pop_scope(), transformers.rename.RenameTransformer._push_scope(), transformers.rename.RenameTransformer.visit_Call(), transformers.rename.RenameTransformer.visit_ClassDef(), transformers.rename.RenameTransformer.visit_comprehension(), transformers.rename.RenameTransformer.visit_FunctionDef(), transformers.rename.RenameTransformer.visit_Global(), and transformers.rename.RenameTransformer.visit_Name().
+ +|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for transformers.symbol_tree.ClassScope, including all inherited members.
+| __init__(self, str name, ast.ClassDef node) | transformers.symbol_tree.ClassScope | |
| add_attribute(self, Symbol attr) | transformers.symbol_tree.ClassScope | |
| add_base_class(self, str base_name) | transformers.symbol_tree.ClassScope | |
| add_method(self, Symbol method) | transformers.symbol_tree.ClassScope |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
Inheritance diagram for transformers.symbol_tree.ClassScope:
Collaboration diagram for transformers.symbol_tree.ClassScope:+Public Member Functions | |
| __init__ (self, str name, ast.ClassDef node) | |
| Symbol | add_attribute (self, Symbol attr) |
| add_base_class (self, str base_name) | |
| Symbol | add_method (self, Symbol method) |
Public Member Functions inherited from transformers.symbol_tree.Scope | |
| __repr__ (self) | |
| 'Scope' | add_child_scope (self, 'Scope' scope) |
| Symbol | add_symbol (self, Symbol symbol) |
| str | get_qualified_name (self) |
| Optional[Symbol] | lookup (self, str name) |
+Additional Inherited Members | |
Public Attributes inherited from transformers.symbol_tree.Scope | |
| name | |
| node | |
| scope_type | |
A specialized scope for classes with additional tracking for inheritance.+
Definition at line 102 of file symbol_tree.py.
+| transformers.symbol_tree.ClassScope.__init__ | +( | ++ | self, | +
| + | + | str | +name, | +
| + | + | ast.ClassDef | +node | +
| + | ) | ++ |
Reimplemented from transformers.symbol_tree.Scope.
+ +Definition at line 105 of file symbol_tree.py.
+References transformers.symbol_tree.ClassScope.__init__().
+ +Referenced by transformers.symbol_tree.ClassScope.__init__().
+ +| Symbol transformers.symbol_tree.ClassScope.add_attribute | +( | ++ | self, | +
| + | + | Symbol | +attr | +
| + | ) | ++ |
Add an attribute to this class.+
Definition at line 121 of file symbol_tree.py.
+References transformers.symbol_tree.SymbolTree.add_symbol(), and transformers.symbol_tree.Scope.add_symbol().
+ +| transformers.symbol_tree.ClassScope.add_base_class | +( | ++ | self, | +
| + | + | str | +base_name | +
| + | ) | ++ |
Add a base class to this class's inheritance list.+
Definition at line 111 of file symbol_tree.py.
+| Symbol transformers.symbol_tree.ClassScope.add_method | +( | ++ | self, | +
| + | + | Symbol | +method | +
| + | ) | ++ |
Add a method to this class.+
Definition at line 116 of file symbol_tree.py.
+References transformers.symbol_tree.SymbolTree.add_symbol(), and transformers.symbol_tree.Scope.add_symbol().
+ +|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for transformers.symbol_tree.ModuleScope, including all inherited members.
+| __init__(self, str name, ast.Module node) | transformers.symbol_tree.ModuleScope | |
| add_from_import(self, str module, str alias, str original) | transformers.symbol_tree.ModuleScope | |
| add_import(self, str alias, str original) | transformers.symbol_tree.ModuleScope |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
Inheritance diagram for transformers.symbol_tree.ModuleScope:
Collaboration diagram for transformers.symbol_tree.ModuleScope:+Public Member Functions | |
| __init__ (self, str name, ast.Module node) | |
| add_from_import (self, str module, str alias, str original) | |
| add_import (self, str alias, str original) | |
Public Member Functions inherited from transformers.symbol_tree.Scope | |
| __repr__ (self) | |
| 'Scope' | add_child_scope (self, 'Scope' scope) |
| Symbol | add_symbol (self, Symbol symbol) |
| str | get_qualified_name (self) |
| Optional[Symbol] | lookup (self, str name) |
+Additional Inherited Members | |
Public Attributes inherited from transformers.symbol_tree.Scope | |
| name | |
| node | |
| scope_type | |
A specialized scope for modules with additional tracking for imports.+
Definition at line 127 of file symbol_tree.py.
+| transformers.symbol_tree.ModuleScope.__init__ | +( | ++ | self, | +
| + | + | str | +name, | +
| + | + | ast.Module | +node | +
| + | ) | ++ |
Reimplemented from transformers.symbol_tree.Scope.
+ +Definition at line 130 of file symbol_tree.py.
+References transformers.symbol_tree.ModuleScope.__init__().
+ +Referenced by transformers.symbol_tree.ModuleScope.__init__().
+ +| transformers.symbol_tree.ModuleScope.add_from_import | +( | ++ | self, | +
| + | + | str | +module, | +
| + | + | str | +alias, | +
| + | + | str | +original | +
| + | ) | ++ |
Add a from-import to this module.+
Definition at line 139 of file symbol_tree.py.
+| transformers.symbol_tree.ModuleScope.add_import | +( | ++ | self, | +
| + | + | str | +alias, | +
| + | + | str | +original | +
| + | ) | ++ |
Add an import to this module.+
Definition at line 135 of file symbol_tree.py.
+|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for transformers.symbol_tree.Scope, including all inherited members.
+| __init__(self, str name, str scope_type, ast.AST node=None) | transformers.symbol_tree.Scope | |
| __repr__(self) | transformers.symbol_tree.Scope | |
| add_child_scope(self, 'Scope' scope) | transformers.symbol_tree.Scope | |
| add_symbol(self, Symbol symbol) | transformers.symbol_tree.Scope | |
| get_qualified_name(self) | transformers.symbol_tree.Scope | |
| lookup(self, str name) | transformers.symbol_tree.Scope | |
| name | transformers.symbol_tree.Scope | |
| node | transformers.symbol_tree.Scope | |
| scope_type | transformers.symbol_tree.Scope |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
Inheritance diagram for transformers.symbol_tree.Scope:+Public Member Functions | |
| __init__ (self, str name, str scope_type, ast.AST node=None) | |
| __repr__ (self) | |
| 'Scope' | add_child_scope (self, 'Scope' scope) |
| Symbol | add_symbol (self, Symbol symbol) |
| str | get_qualified_name (self) |
| Optional[Symbol] | lookup (self, str name) |
+Public Attributes | |
| name | |
| node | |
| scope_type | |
Represents a scope in the code, such as a module, function, class, or comprehension. ++
Definition at line 54 of file symbol_tree.py.
+| transformers.symbol_tree.Scope.__init__ | +( | ++ | self, | +
| + | + | str | +name, | +
| + | + | str | +scope_type, | +
| + | + | ast.AST | +node = None |
+
| + | ) | ++ |
Reimplemented in transformers.symbol_tree.ClassScope, and transformers.symbol_tree.ModuleScope.
+ +Definition at line 58 of file symbol_tree.py.
+| transformers.symbol_tree.Scope.__repr__ | +( | ++ | self | ) | ++ |
Definition at line 98 of file symbol_tree.py.
+| 'Scope' transformers.symbol_tree.Scope.add_child_scope | +( | ++ | self, | +
| + | + | 'Scope' | +scope | +
| + | ) | ++ |
Add a child scope to this scope and return it.+
Definition at line 78 of file symbol_tree.py.
+| Symbol transformers.symbol_tree.Scope.add_symbol | +( | ++ | self, | +
| + | + | Symbol | +symbol | +
| + | ) | ++ |
Add a symbol to this scope and return it.+
Definition at line 72 of file symbol_tree.py.
+Referenced by transformers.symbol_tree.ClassScope.add_attribute(), and transformers.symbol_tree.ClassScope.add_method().
+ +| str transformers.symbol_tree.Scope.get_qualified_name | +( | ++ | self | ) | ++ |
Get the fully qualified name of this scope.+
Definition at line 92 of file symbol_tree.py.
+References transformers.symbol_tree.Symbol.name, and transformers.symbol_tree.Scope.name.
+ +| Optional[Symbol] transformers.symbol_tree.Scope.lookup | +( | ++ | self, | +
| + | + | str | +name | +
| + | ) | ++ |
Look up a symbol in this scope, or in parent scopes.+
Definition at line 84 of file symbol_tree.py.
+References transformers.symbol_tree.Scope.lookup().
+ +Referenced by transformers.symbol_tree.Scope.lookup().
+ +| transformers.symbol_tree.Scope.name | +
Definition at line 59 of file symbol_tree.py.
+ +Referenced by transformers.symbol_tree.Scope.get_qualified_name().
+ +| transformers.symbol_tree.Scope.node | +
Definition at line 61 of file symbol_tree.py.
+ +| transformers.symbol_tree.Scope.scope_type | +
Definition at line 60 of file symbol_tree.py.
+ +|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for transformers.symbol_tree.Symbol, including all inherited members.
+| __init__(self, str name, SymbolType symbol_type, ast.AST node=None) | transformers.symbol_tree.Symbol | |
| __repr__(self) | transformers.symbol_tree.Symbol | |
| add_reference(self, ast.AST node) | transformers.symbol_tree.Symbol | |
| is_imported | transformers.symbol_tree.Symbol | |
| is_obfuscatable | transformers.symbol_tree.Symbol | |
| name | transformers.symbol_tree.Symbol | |
| node | transformers.symbol_tree.Symbol | |
| symbol_type | transformers.symbol_tree.Symbol |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
+Public Member Functions | |
| __init__ (self, str name, SymbolType symbol_type, ast.AST node=None) | |
| __repr__ (self) | |
| add_reference (self, ast.AST node) | |
+Public Attributes | |
| is_imported | |
| is_obfuscatable | |
| name | |
| node | |
| symbol_type | |
Represents a symbol in the code with its name, type and other metadata.+
Definition at line 30 of file symbol_tree.py.
+| transformers.symbol_tree.Symbol.__init__ | +( | ++ | self, | +
| + | + | str | +name, | +
| + | + | SymbolType | +symbol_type, | +
| + | + | ast.AST | +node = None |
+
| + | ) | ++ |
Definition at line 33 of file symbol_tree.py.
+| transformers.symbol_tree.Symbol.__repr__ | +( | ++ | self | ) | ++ |
Definition at line 50 of file symbol_tree.py.
+| transformers.symbol_tree.Symbol.add_reference | +( | ++ | self, | +
| + | + | ast.AST | +node | +
| + | ) | ++ |
Add a reference to this symbol.+
Definition at line 46 of file symbol_tree.py.
+| transformers.symbol_tree.Symbol.is_imported | +
Definition at line 43 of file symbol_tree.py.
+ +| transformers.symbol_tree.Symbol.is_obfuscatable | +
Definition at line 40 of file symbol_tree.py.
+ +| transformers.symbol_tree.Symbol.name | +
Definition at line 34 of file symbol_tree.py.
+ +Referenced by transformers.symbol_tree.Scope.get_qualified_name().
+ +| transformers.symbol_tree.Symbol.node | +
Definition at line 37 of file symbol_tree.py.
+ +| transformers.symbol_tree.Symbol.symbol_type | +
Definition at line 36 of file symbol_tree.py.
+ +|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for transformers.symbol_tree.SymbolTree, including all inherited members.
+| __init__(self) | transformers.symbol_tree.SymbolTree | |
| add_reference(self, str name, ast.AST node) | transformers.symbol_tree.SymbolTree | |
| add_symbol(self, str name, SymbolType symbol_type, ast.AST node=None) | transformers.symbol_tree.SymbolTree | |
| apply_name_generator(self, name_generator) | transformers.symbol_tree.SymbolTree | |
| check_for_issues(self) | transformers.symbol_tree.SymbolTree | |
| current_scope | transformers.symbol_tree.SymbolTree | |
| get_rename_mapping(self) | transformers.symbol_tree.SymbolTree | |
| pop_scope(self) | transformers.symbol_tree.SymbolTree | |
| push_scope(self, str name, str scope_type, ast.AST node) | transformers.symbol_tree.SymbolTree | |
| resolve_inheritance(self) | transformers.symbol_tree.SymbolTree | |
| root_scope | transformers.symbol_tree.SymbolTree |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
+Public Member Functions | |
| __init__ (self) | |
| add_reference (self, str name, ast.AST node) | |
| Symbol | add_symbol (self, str name, SymbolType symbol_type, ast.AST node=None) |
| apply_name_generator (self, name_generator) | |
| List[Dict] | check_for_issues (self) |
| Dict[str, Dict[str, str]] | get_rename_mapping (self) |
| Scope | pop_scope (self) |
| Scope | push_scope (self, str name, str scope_type, ast.AST node) |
| resolve_inheritance (self) | |
+Public Attributes | |
| current_scope | |
| root_scope | |
Global symbol tree that maintains a hierarchy of scopes and symbols +across the entire codebase. ++
Definition at line 146 of file symbol_tree.py.
+| transformers.symbol_tree.SymbolTree.__init__ | +( | ++ | self | ) | ++ |
Definition at line 152 of file symbol_tree.py.
+| transformers.symbol_tree.SymbolTree.add_reference | +( | ++ | self, | +
| + | + | str | +name, | +
| + | + | ast.AST | +node | +
| + | ) | ++ |
Add a reference to a symbol.+
Definition at line 210 of file symbol_tree.py.
+References transformers.symbol_tree.SymbolTree.current_scope.
+ +| Symbol transformers.symbol_tree.SymbolTree.add_symbol | +( | ++ | self, | +
| + | + | str | +name, | +
| + | + | SymbolType | +symbol_type, | +
| + | + | ast.AST | +node = None |
+
| + | ) | ++ |
Add a symbol to the current scope.+
Definition at line 192 of file symbol_tree.py.
+References transformers.symbol_tree.SymbolTree.add_symbol(), and transformers.symbol_tree.SymbolTree.current_scope.
+ +Referenced by transformers.symbol_tree.ClassScope.add_attribute(), transformers.symbol_tree.ClassScope.add_method(), and transformers.symbol_tree.SymbolTree.add_symbol().
+ +| transformers.symbol_tree.SymbolTree.apply_name_generator | +( | ++ | self, | +
| + | + | + | name_generator | +
| + | ) | ++ |
Apply a name generator to all symbols that need obfuscation. +Ensures consistent renaming across the entire codebase. ++
Definition at line 297 of file symbol_tree.py.
+References transformers.symbol_tree.SymbolTree.current_scope, and transformers.symbol_tree.SymbolTree.resolve_inheritance().
+ +| List[Dict] transformers.symbol_tree.SymbolTree.check_for_issues | +( | ++ | self | ) | ++ |
Check for potential issues in the symbol tree.+
Definition at line 255 of file symbol_tree.py.
+| Dict[str, Dict[str, str]] transformers.symbol_tree.SymbolTree.get_rename_mapping | +( | ++ | self | ) | ++ |
Get a mapping for all symbols to their obfuscated names, +organized by symbol type for use in transformers. ++
Definition at line 323 of file symbol_tree.py.
+| Scope transformers.symbol_tree.SymbolTree.pop_scope | +( | ++ | self | ) | ++ |
Exit the current scope and return to its parent.+
Definition at line 185 of file symbol_tree.py.
+References transformers.symbol_tree.SymbolTree.current_scope.
+ +| Scope transformers.symbol_tree.SymbolTree.push_scope | +( | ++ | self, | +
| + | + | str | +name, | +
| + | + | str | +scope_type, | +
| + | + | ast.AST | +node | +
| + | ) | ++ |
Create a new scope and make it the current scope.+
Definition at line 164 of file symbol_tree.py.
+References transformers.symbol_tree.SymbolTree.current_scope.
+ +| transformers.symbol_tree.SymbolTree.resolve_inheritance | +( | ++ | self | ) | ++ |
Resolve inheritance relationships between classes to ensure +consistent method and attribute renaming. ++
Definition at line 216 of file symbol_tree.py.
+Referenced by transformers.symbol_tree.SymbolTree.apply_name_generator().
+ +| transformers.symbol_tree.SymbolTree.current_scope | +
Definition at line 156 of file symbol_tree.py.
+ +Referenced by transformers.symbol_tree.SymbolTree.add_reference(), transformers.symbol_tree.SymbolTree.add_symbol(), transformers.symbol_tree.SymbolTree.apply_name_generator(), transformers.symbol_tree.SymbolTree.pop_scope(), and transformers.symbol_tree.SymbolTree.push_scope().
+ +| transformers.symbol_tree.SymbolTree.root_scope | +
Definition at line 154 of file symbol_tree.py.
+ +|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for transformers.symbol_tree.SymbolTreeBuilder, including all inherited members.
+|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
Inheritance diagram for transformers.symbol_tree.SymbolTreeBuilder:
Collaboration diagram for transformers.symbol_tree.SymbolTreeBuilder:+Public Member Functions | |
| __init__ (self) | |
| SymbolTree | build_tree (self, ast.AST tree) |
| visit_arguments (self, ast.arguments node) | |
| visit_Assign (self, ast.Assign node) | |
| visit_Attribute (self, ast.Attribute node) | |
| visit_attribute_assignment (self, ast.Attribute node) | |
| visit_ClassDef (self, ast.ClassDef node) | |
| visit_FunctionDef (self, ast.FunctionDef node) | |
| visit_Import (self, ast.Import node) | |
| visit_ImportFrom (self, ast.ImportFrom node) | |
| visit_Module (self, ast.Module node) | |
| visit_Name (self, ast.Name node) | |
+Public Attributes | |
| current_class | |
| current_function_args | |
| in_attribute_ctx | |
| in_class_def | |
| tree | |
Builds a symbol tree by visiting all nodes in the AST. ++
Definition at line 364 of file symbol_tree.py.
+| transformers.symbol_tree.SymbolTreeBuilder.__init__ | +( | ++ | self | ) | ++ |
Definition at line 369 of file symbol_tree.py.
+| SymbolTree transformers.symbol_tree.SymbolTreeBuilder.build_tree | +( | ++ | self, | +
| + | + | ast.AST | +tree | +
| + | ) | ++ |
Build the symbol tree from the AST.+
Definition at line 553 of file symbol_tree.py.
+References transformers.symbol_tree.SymbolTreeBuilder.tree.
+ +| transformers.symbol_tree.SymbolTreeBuilder.visit_arguments | +( | ++ | self, | +
| + | + | ast.arguments | +node | +
| + | ) | ++ |
Process function arguments.+
Definition at line 446 of file symbol_tree.py.
+References transformers.symbol_tree.SymbolTreeBuilder.current_function_args, and transformers.symbol_tree.SymbolTreeBuilder.tree.
+ +| transformers.symbol_tree.SymbolTreeBuilder.visit_Assign | +( | ++ | self, | +
| + | + | ast.Assign | +node | +
| + | ) | ++ |
Process an assignment statement.+
Definition at line 468 of file symbol_tree.py.
+References transformers.symbol_tree.SymbolTreeBuilder.current_function_args, transformers.symbol_tree.SymbolTreeBuilder.tree, and transformers.symbol_tree.SymbolTreeBuilder.visit_attribute_assignment().
+ +| transformers.symbol_tree.SymbolTreeBuilder.visit_Attribute | +( | ++ | self, | +
| + | + | ast.Attribute | +node | +
| + | ) | ++ |
Process attribute access (e.g., obj.attr).+
Definition at line 504 of file symbol_tree.py.
+References transformers.attribute_transformer.AttributeTransformer.current_class, transformers.class_analyzer.ClassAnalyzer.current_class, transformers.class_mapper.ClassMapAnalyzer.current_class, transformers.class_mapper.ClassTransformer.current_class, transformers.symbol_tree.SymbolTreeBuilder.current_class, transformers.symbol_tree.SymbolTreeBuilder.in_attribute_ctx, transformers.symbol_tree.SymbolTreeBuilder.in_class_def, and transformers.symbol_tree.SymbolTreeBuilder.tree.
+ +| transformers.symbol_tree.SymbolTreeBuilder.visit_attribute_assignment | +( | ++ | self, | +
| + | + | ast.Attribute | +node | +
| + | ) | ++ |
Process attribute assignment (e.g., self.x = value).+
Definition at line 487 of file symbol_tree.py.
+References transformers.attribute_transformer.AttributeTransformer.current_class, transformers.class_analyzer.ClassAnalyzer.current_class, transformers.class_mapper.ClassMapAnalyzer.current_class, transformers.class_mapper.ClassTransformer.current_class, transformers.symbol_tree.SymbolTreeBuilder.current_class, transformers.symbol_tree.SymbolTreeBuilder.in_class_def, and transformers.symbol_tree.SymbolTreeBuilder.tree.
+ +Referenced by transformers.symbol_tree.SymbolTreeBuilder.visit_Assign().
+ +| transformers.symbol_tree.SymbolTreeBuilder.visit_ClassDef | +( | ++ | self, | +
| + | + | ast.ClassDef | +node | +
| + | ) | ++ |
Process a class definition.+
Definition at line 390 of file symbol_tree.py.
+References transformers.attribute_transformer.AttributeTransformer.current_class, transformers.class_analyzer.ClassAnalyzer.current_class, transformers.class_mapper.ClassMapAnalyzer.current_class, transformers.class_mapper.ClassTransformer.current_class, transformers.symbol_tree.SymbolTreeBuilder.current_class, transformers.symbol_tree.SymbolTreeBuilder.in_class_def, and transformers.symbol_tree.SymbolTreeBuilder.tree.
+ +| transformers.symbol_tree.SymbolTreeBuilder.visit_FunctionDef | +( | ++ | self, | +
| + | + | ast.FunctionDef | +node | +
| + | ) | ++ |
Process a function definition.+
Definition at line 422 of file symbol_tree.py.
+References transformers.symbol_tree.SymbolTreeBuilder.current_function_args, transformers.symbol_tree.SymbolTreeBuilder.in_class_def, and transformers.symbol_tree.SymbolTreeBuilder.tree.
+ +| transformers.symbol_tree.SymbolTreeBuilder.visit_Import | +( | ++ | self, | +
| + | + | ast.Import | +node | +
| + | ) | ++ |
Process an import statement.+
Definition at line 524 of file symbol_tree.py.
+References transformers.symbol_tree.SymbolTreeBuilder.tree.
+ +| transformers.symbol_tree.SymbolTreeBuilder.visit_ImportFrom | +( | ++ | self, | +
| + | + | ast.ImportFrom | +node | +
| + | ) | ++ |
Process a from-import statement.+
Definition at line 537 of file symbol_tree.py.
+References transformers.symbol_tree.SymbolTreeBuilder.tree.
+ +| transformers.symbol_tree.SymbolTreeBuilder.visit_Module | +( | ++ | self, | +
| + | + | ast.Module | +node | +
| + | ) | ++ |
Process a module node.+
Definition at line 382 of file symbol_tree.py.
+References transformers.symbol_tree.SymbolTreeBuilder.tree.
+ +| transformers.symbol_tree.SymbolTreeBuilder.visit_Name | +( | ++ | self, | +
| + | + | ast.Name | +node | +
| + | ) | ++ |
Process a name (variable reference).+
Definition at line 498 of file symbol_tree.py.
+References transformers.symbol_tree.SymbolTreeBuilder.tree.
+ +| transformers.symbol_tree.SymbolTreeBuilder.current_class | +
Definition at line 374 of file symbol_tree.py.
+ +Referenced by transformers.class_mapper.ClassMapAnalyzer.visit_assign_in_class(), transformers.class_mapper.ClassMapAnalyzer.visit_Attribute(), transformers.class_mapper.ClassTransformer.visit_Attribute(), transformers.symbol_tree.SymbolTreeBuilder.visit_Attribute(), transformers.attribute_transformer.AttributeTransformer.visit_Attribute(), transformers.class_analyzer.ClassAnalyzer.visit_Attribute(), transformers.class_analyzer.ClassAnalyzer.visit_attribute_assign(), transformers.symbol_tree.SymbolTreeBuilder.visit_attribute_assignment(), transformers.class_analyzer.ClassAnalyzer.visit_ClassDef(), transformers.class_mapper.ClassMapAnalyzer.visit_ClassDef(), transformers.class_mapper.ClassTransformer.visit_ClassDef(), transformers.symbol_tree.SymbolTreeBuilder.visit_ClassDef(), transformers.attribute_transformer.AttributeTransformer.visit_ClassDef(), transformers.class_mapper.ClassTransformer.visit_FunctionDef(), and transformers.class_mapper.ClassMapAnalyzer.visit_method_def().
+ +| transformers.symbol_tree.SymbolTreeBuilder.current_function_args | +
Definition at line 377 of file symbol_tree.py.
+ +Referenced by transformers.symbol_tree.SymbolTreeBuilder.visit_arguments(), transformers.symbol_tree.SymbolTreeBuilder.visit_Assign(), and transformers.symbol_tree.SymbolTreeBuilder.visit_FunctionDef().
+ +| transformers.symbol_tree.SymbolTreeBuilder.in_attribute_ctx | +
Definition at line 380 of file symbol_tree.py.
+ +Referenced by transformers.symbol_tree.SymbolTreeBuilder.visit_Attribute().
+ +| transformers.symbol_tree.SymbolTreeBuilder.in_class_def | +
Definition at line 373 of file symbol_tree.py.
+ +Referenced by transformers.symbol_tree.SymbolTreeBuilder.visit_Attribute(), transformers.symbol_tree.SymbolTreeBuilder.visit_attribute_assignment(), transformers.symbol_tree.SymbolTreeBuilder.visit_ClassDef(), and transformers.symbol_tree.SymbolTreeBuilder.visit_FunctionDef().
+ +| transformers.symbol_tree.SymbolTreeBuilder.tree | +
Definition at line 370 of file symbol_tree.py.
+ +Referenced by transformers.symbol_tree.SymbolTreeBuilder.build_tree(), transformers.symbol_tree.SymbolTreeBuilder.visit_arguments(), transformers.symbol_tree.SymbolTreeBuilder.visit_Assign(), transformers.symbol_tree.SymbolTreeBuilder.visit_Attribute(), transformers.symbol_tree.SymbolTreeBuilder.visit_attribute_assignment(), transformers.symbol_tree.SymbolTreeBuilder.visit_ClassDef(), transformers.symbol_tree.SymbolTreeBuilder.visit_FunctionDef(), transformers.symbol_tree.SymbolTreeBuilder.visit_Import(), transformers.symbol_tree.SymbolTreeBuilder.visit_ImportFrom(), transformers.symbol_tree.SymbolTreeBuilder.visit_Module(), and transformers.symbol_tree.SymbolTreeBuilder.visit_Name().
+ +|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for transformers.symbol_tree.SymbolType, including all inherited members.
+|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
Inheritance diagram for transformers.symbol_tree.SymbolType:
Collaboration diagram for transformers.symbol_tree.SymbolType:+Static Public Attributes | |
| str | ARGUMENT = "argument" |
| str | ATTRIBUTE = "attribute" |
| str | CLASS = "class" |
| str | FUNCTION = "function" |
| str | IMPORT = "import" |
| str | METHOD = "method" |
| str | MODULE = "module" |
| str | VARIABLE = "variable" |
Defines the different types of symbols that can be tracked.+
Definition at line 18 of file symbol_tree.py.
+
+
|
+ +static | +
Definition at line 24 of file symbol_tree.py.
+ +
+
|
+ +static | +
Definition at line 25 of file symbol_tree.py.
+ +
+
|
+ +static | +
Definition at line 22 of file symbol_tree.py.
+ +
+
|
+ +static | +
Definition at line 21 of file symbol_tree.py.
+ +
+
|
+ +static | +
Definition at line 27 of file symbol_tree.py.
+ +
+
|
+ +static | +
Definition at line 23 of file symbol_tree.py.
+ +
+
|
+ +static | +
Definition at line 26 of file symbol_tree.py.
+ +
+
|
+ +static | +
Definition at line 20 of file symbol_tree.py.
+ +|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for utils.encryption.StringEncryptor, including all inherited members.
+| __init__(self, bytes primary_key, bytes secondary_key, bytes salt) | utils.encryption.StringEncryptor | |
| encrypt_string(self, str s) | utils.encryption.StringEncryptor | |
| hide_byte(self, int b) | utils.encryption.StringEncryptor | |
| primary_key | utils.encryption.StringEncryptor | |
| salt | utils.encryption.StringEncryptor | |
| secondary_key | utils.encryption.StringEncryptor |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
+Public Member Functions | |
| __init__ (self, bytes primary_key, bytes secondary_key, bytes salt) | |
| Tuple[str, str, str] | encrypt_string (self, str s) |
| str | hide_byte (self, int b) |
+Public Attributes | |
| primary_key | |
| salt | |
| secondary_key | |
@brief Encrypts strings for obfuscation using layered XOR and Base85 encoding. +@details Produces both an encoded payload and Python code that reconstructs + the keys at runtime without embedding raw key bytes. ++
Definition at line 14 of file encryption.py.
+| utils.encryption.StringEncryptor.__init__ | +( | ++ | self, | +
| + | + | bytes | +primary_key, | +
| + | + | bytes | +secondary_key, | +
| + | + | bytes | +salt | +
| + | ) | ++ |
@brief Initialize encryptor keys. +@param primary_key Primary XOR key bytes. +@param secondary_key Secondary XOR key bytes. +@param salt Salt bytes used to derive a per-string modifier. ++
Definition at line 20 of file encryption.py.
+| Tuple[str, str, str] utils.encryption.StringEncryptor.encrypt_string | +( | ++ | self, | +
| + | + | str | +s | +
| + | ) | ++ |
@brief Encrypt a string with layered XOR and Base85 encoding. +@param s UTF-8 string to encrypt. +@return Tuple[str, str, str]: + - encoded: Base85 text of the encrypted payload + - key_setup: Python code that reconstructs keys at runtime + - modifier_hex: Hex string for the per-string modifier ++
Definition at line 62 of file encryption.py.
+References obfuscator.AdvancedObfuscator.primary_key, utils.encryption.StringEncryptor.primary_key, obfuscator.AdvancedObfuscator.salt, utils.encryption.StringEncryptor.salt, obfuscator.AdvancedObfuscator.secondary_key, and utils.encryption.StringEncryptor.secondary_key.
+ +| str utils.encryption.StringEncryptor.hide_byte | +( | ++ | self, | +
| + | + | int | +b | +
| + | ) | ++ |
@brief Obfuscate a single key byte into an arithmetic/bitwise expression. +@param b Input byte value in range [0, 255]. +@return Python expression string that evaluates to the original byte at runtime. ++
Definition at line 31 of file encryption.py.
+| utils.encryption.StringEncryptor.primary_key | +
Definition at line 27 of file encryption.py.
+ +Referenced by obfuscator.AdvancedObfuscator._rename_and_encrypt(), and utils.encryption.StringEncryptor.encrypt_string().
+ +| utils.encryption.StringEncryptor.salt | +
Definition at line 29 of file encryption.py.
+ +Referenced by obfuscator.AdvancedObfuscator._rename_and_encrypt(), and utils.encryption.StringEncryptor.encrypt_string().
+ +| utils.encryption.StringEncryptor.secondary_key | +
Definition at line 28 of file encryption.py.
+ +Referenced by obfuscator.AdvancedObfuscator._rename_and_encrypt(), and utils.encryption.StringEncryptor.encrypt_string().
+ +|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for utils.junk_gen.JunkGenerator, including all inherited members.
+| __init__(self, NameGenerator name_generator) | utils.junk_gen.JunkGenerator | |
| add_junk(self) | utils.junk_gen.JunkGenerator | |
| generate_junk(self) | utils.junk_gen.JunkGenerator | |
| name_generator | utils.junk_gen.JunkGenerator |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
+Public Member Functions | |
| __init__ (self, NameGenerator name_generator) | |
| str | add_junk (self) |
| str | generate_junk (self) |
+Public Attributes | |
| name_generator | |
@brief Produces pseudo-random junk code. +@param name_generator Name generator used for variable identifiers. ++
Definition at line 11 of file junk_gen.py.
+| utils.junk_gen.JunkGenerator.__init__ | +( | ++ | self, | +
| + | + | NameGenerator | +name_generator | +
| + | ) | ++ |
@brief Constructor. +@param name_generator NameGenerator instance used to create junk variable names. ++
Definition at line 16 of file junk_gen.py.
+| str utils.junk_gen.JunkGenerator.add_junk | +( | ++ | self | ) | ++ |
@brief Generate a random multi-line junk code snippet. +@return Python source string with one or more lines. ++
Definition at line 23 of file junk_gen.py.
+References obfuscator.AdvancedObfuscator.name_generator, transformers.class_analyzer.ClassAnalyzer.name_generator, transformers.class_mapper.ClassMapAnalyzer.name_generator, transformers.rename.RenameTransformer.name_generator, and utils.junk_gen.JunkGenerator.name_generator.
+ +| str utils.junk_gen.JunkGenerator.generate_junk | +( | ++ | self | ) | ++ |
@brief Generate a single-line junk statement. +@return Python source string for a single assignment or expression. ++
Definition at line 52 of file junk_gen.py.
+References obfuscator.AdvancedObfuscator.name_generator, transformers.class_analyzer.ClassAnalyzer.name_generator, transformers.class_mapper.ClassMapAnalyzer.name_generator, transformers.rename.RenameTransformer.name_generator, and utils.junk_gen.JunkGenerator.name_generator.
+ +| utils.junk_gen.JunkGenerator.name_generator | +
Definition at line 21 of file junk_gen.py.
+ +Referenced by obfuscator.AdvancedObfuscator._build_symbol_tree(), transformers.class_mapper.ClassMapAnalyzer._ensure_complete_method_mapping(), transformers.class_analyzer.ClassAnalyzer._ensure_consistent_method_mapping(), obfuscator.AdvancedObfuscator._rename_and_encrypt(), utils.junk_gen.JunkGenerator.add_junk(), utils.junk_gen.JunkGenerator.generate_junk(), transformers.rename.RenameTransformer.scan_class_methods(), transformers.class_mapper.ClassMapAnalyzer.visit_assign_in_class(), transformers.rename.RenameTransformer.visit_Attribute(), transformers.class_analyzer.ClassAnalyzer.visit_attribute_assign(), transformers.class_analyzer.ClassAnalyzer.visit_ClassDef(), transformers.rename.RenameTransformer.visit_ClassDef(), transformers.rename.RenameTransformer.visit_comprehension(), transformers.rename.RenameTransformer.visit_FunctionDef(), transformers.rename.RenameTransformer.visit_Global(), transformers.rename.RenameTransformer.visit_Module(), and transformers.rename.RenameTransformer.visit_Name().
+ +|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This is the complete list of members for utils.name_gen.NameGenerator, including all inherited members.
+| __init__(self) | utils.name_gen.NameGenerator | |
| _create_iterator(self) | utils.name_gen.NameGenerator | protected |
| _name_iterator | utils.name_gen.NameGenerator | protected |
| generate_name(self) | utils.name_gen.NameGenerator | |
| used_names | utils.name_gen.NameGenerator |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
+Public Member Functions | |
| __init__ (self) | |
| str | generate_name (self) |
+Public Attributes | |
| used_names | |
+Protected Member Functions | |
| Iterator[str] | _create_iterator (self) |
+Protected Attributes | |
| _name_iterator | |
@brief Generates unique obfuscated identifiers. +@details Uses patterned Cartesian products to create long, confusing names and + tracks used names to avoid collisions. ++
Definition at line 10 of file name_gen.py.
+| utils.name_gen.NameGenerator.__init__ | +( | ++ | self | ) | ++ |
@brief Initialize internal iterator and used-name set. ++
Definition at line 16 of file name_gen.py.
+
+
|
+ +protected | +
@brief Iterator producing obfuscated identifier candidates. +@return Iterator[str] Infinite stream of names such as vIl1lO0o0Z2z2... ++
Definition at line 23 of file name_gen.py.
+| str utils.name_gen.NameGenerator.generate_name | +( | ++ | self | ) | ++ |
@brief Produce a fresh, unique obfuscated name. +@return str Name guaranteed not to have been produced before by this instance. ++
Definition at line 33 of file name_gen.py.
+References utils.name_gen.NameGenerator._name_iterator, obfuscator.AdvancedObfuscator.used_names, and utils.name_gen.NameGenerator.used_names.
+ +
+
|
+ +protected | +
Definition at line 20 of file name_gen.py.
+ +Referenced by utils.name_gen.NameGenerator.generate_name().
+ +| utils.name_gen.NameGenerator.used_names | +
Definition at line 21 of file name_gen.py.
+ +Referenced by utils.name_gen.NameGenerator.generate_name().
+ +|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
Go to the source code of this file.
++Classes | |
| class | transformers.control_flow.ControlFlowFlattener |
+Namespaces | |
| namespace | transformers |
| namespace | transformers.control_flow |
+Variables | |
| transformers.control_flow.level | |
| transformers.control_flow.logger = logging.getLogger("ControlFlowFlattener") | |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
+Files | |
| __init__.py | |
| attribute_transformer.py | |
| class_analyzer.py | |
| class_mapper.py | |
| control_flow.py | |
| rename.py | |
| symbol_tree.py | |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
+Files | |
| __init__.py | |
| encryption.py | |
| junk_gen.py | |
| name_gen.py | |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
Go to the source code of this file.
++Classes | |
| class | utils.encryption.StringEncryptor |
+Namespaces | |
| namespace | utils |
| namespace | utils.encryption |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
| ▼ transformers | |
| __init__.py | |
| attribute_transformer.py | |
| class_analyzer.py | |
| class_mapper.py | |
| control_flow.py | |
| rename.py | |
| symbol_tree.py | |
| ▼ utils | |
| __init__.py | |
| encryption.py | |
| junk_gen.py | |
| name_gen.py | |
| main.py | |
| obfuscator.py |
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
This page explains how to interpret the graphs that are generated by doxygen.
+Consider the following example:
This will result in the following graph:
+
The boxes in the above graph have the following meaning:
+The arrows have the following meaning:
+|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
Advanced Python code obfuscator for renaming identifiers, encrypting strings, flattening control flow, and injecting junk code.
+Quick start: use the CLI in main.py or the library API via AdvancedObfuscator().
+The CLI entrypoint is main.py with handler main().
+Examples:
Arguments:
Minimal flow: 1) Parse to AST: AdvancedObfuscator.obfuscate() 2) Rename + encrypt: AdvancedObfuscator._rename_and_encrypt(), RenameTransformer() 3) Flatten control flow: AdvancedObfuscator._flatten_control_flow(), ControlFlowFlattener() 4) Generate code and inject junk: AdvancedObfuscator._generate_final_code()
+Specify a license for this project (e.g., MIT). If adding a LICENSE file, reference it here.
+Generate Doxygen HTML docs for this codebase.
+|
+ OMG-Fuscator
+
+ Advanced Python obfuscator (renaming, string encryption, control-flow flattening)
+ |
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |