MCPcopy Create free account
hub / github.com/Fadi002/de4py / _single_pass

Method _single_pass

de4py/engines/onyx/string_decoder.py:42–81  ·  view source on GitHub ↗
(self, source: str)

Source from the content-addressed store, hash-verified

40 return source
41
42 def _single_pass(self, source: str) -> str:
43 # 0a. AST constant folding: handles b64/b85 chains, chr(ord(i)-N),
44 # int.__xor__ XOR decode, globals()["__builtins__"], builtins-dict subscripts.
45 source = fold_constants(source)
46
47 # 0b. Resolve import aliases (must be first for regex compatibility)
48 source = self._resolve_import_aliases_for_decoding(source)
49
50 # 1. Regex-based transformations
51 source = self._unwrap_eval_exec(source)
52 source = self._decode_base64_calls(source)
53 source = self._decode_base64_dynamic_import(source)
54 source = self._decode_base32_calls(source)
55 source = self._decode_base85_calls(source)
56 source = self._decode_base16_calls(source)
57 source = self._decode_hex_escape_strings(source)
58 source = self._decode_bytes_fromhex(source)
59 source = self._decode_bytearray_literals(source)
60 source = self._decode_chr_chains(source)
61 source = self._decode_join_chr_list(source)
62 source = self._decode_join_chr_map(source)
63 source = self._decode_xor_zip(source)
64 source = self._decode_xor_chr_list(source)
65 source = self._decode_map_lambda_offset_chr(source)
66 source = self._decode_xor_byte_arrays(source)
67 source = self._decode_xor_comprehension(source)
68 source = self._decode_zlib(source)
69 source = self._decode_lzma(source)
70 source = self._decode_bz2(source)
71 source = self._decode_rot13(source)
72 source = self._decode_unicode_escapes(source)
73 source = self._decode_codecs_hex(source)
74 source = self._decode_reversed_string(source)
75 source = self._decode_int_hex_literal(source)
76 source = self._decode_encode_decode_roundtrip(source)
77
78 # 2. Consolidated AST-based transformations
79 source = self._run_ast_transformations(source)
80
81 return source
82
83 def _resolve_import_aliases_for_decoding(self, source: str) -> str:
84 """

Callers 1

decode_allMethod · 0.95

Tested by

no test coverage detected