1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
import ast import types import sys
o0o0o0 = [105084753, 3212558540, 351342182, 844102737, 2002504052, 356536456, 2463183122, 615034880, 1156203296]
def changli(o0o0o1, o0o0o2, o0o0o3): """ An encryption function that appears to be a variant of the TEA (Tiny Encryption Algorithm). It takes two values and a key, then performs 32 rounds of bitwise operations. """ o0o0o4 = 2269471011 o0o0o5 = o0o0o3 & 4294967295 o0o0o6 = (o0o0o3 >> 8 ^ 305419896) & 4294967295 o0o0o7 = (o0o0o3 << 4 ^ 2271560481) & 4294967295 o0o0o8 = (o0o0o3 >> 12 ^ 2882400000) & 4294967295 o0o0o9 = o0o0o1 & 4294967295 o0o0o10 = o0o0o2 & 4294967295 o0o0o11 = 0 for _ in range(32): o0o0o11 = (o0o0o11 + o0o0o4) & 4294967295 o0o0o9 = (o0o0o9 + (((o0o0o10 << 4) + o0o0o5) ^ (o0o0o10 + o0o0o11) ^ ((o0o0o10 >> 4) + o0o0o6))) & 4294967295 o0o0o10 = (o0o0o10 + (((o0o0o9 << 4) + o0o0o7) ^ (o0o0o9 + o0o0o11) ^ ((o0o0o9 >> 4) + o0o0o8))) & 4294967295 return (o0o0o9, o0o0o10)
def Shorekeeper(o0o0o12): """Splits a 32-bit integer into two 16-bit integers.""" o0o0o13 = o0o0o12 >> 16 o0o0o14 = o0o0o12 & 65535 return (o0o0o13, o0o0o14)
def Kathysia(o0o0o15, o0o0o16): """Combines two 16-bit integers into a single 32-bit integer.""" return (o0o0o15 << 16) | (o0o0o16 + 0)
def Phrolova(o0o0o17): """ Dynamically generates and injects a function named 'Carlotta' into the global scope. This is a form of runtime code generation and obfuscation. """ o0oA = 'Carlotta' o0oB = ['o0oC', 'o0oD', 'o0oE', 'o0oF'] o0oG = [] o0oG.append(ast.Assign(targets=[ast.Name(id='o0oH', ctx=ast.Store())], value=ast.Constant(305419896))) o0oG.append(ast.Assign(targets=[ast.Name(id='o0oI', ctx=ast.Store())], value=ast.BinOp(ast.Name(id='o0oE', ctx=ast.Load()), ast.BitAnd(), ast.Constant(65535)))) o0oG.append(ast.Assign(targets=[ast.Name(id='o0oJ', ctx=ast.Store())], value=ast.BinOp(ast.BinOp(ast.Name(id='o0oE', ctx=ast.Load()), ast.RShift(), ast.Constant(16)), ast.BitAnd(), ast.Constant(65535)))) o0oG.append(ast.Assign(targets=[ast.Name(id='o0oK', ctx=ast.Store())], value=ast.BinOp(ast.BinOp(ast.Name(id='o0oE', ctx=ast.Load()), ast.BitXor(), ast.Name(id='o0oF', ctx=ast.Load())), ast.BitAnd(), ast.Constant(65535)))) o0oG.append(ast.Assign(targets=[ast.Name(id='o0oL', ctx=ast.Store())], value=ast.BinOp(ast.BinOp(ast.BinOp(ast.Name(id='o0oE', ctx=ast.Load()), ast.RShift(), ast.Constant(8)), ast.BitXor(), ast.Name(id='o0oF', ctx=ast.Load())), ast.BitAnd(), ast.Constant(65535)))) o0oG.append(ast.Assign(targets=[ast.Name(id='o0oM', ctx=ast.Store())], value=ast.BinOp(ast.BinOp(ast.Name(id='o0oH', ctx=ast.Load()), ast.Mult(), ast.BinOp(ast.Name(id='o0oF', ctx=ast.Load()), ast.Add(), ast.Constant(1))), ast.BitAnd(), ast.Constant(4294967295)))) o0oG.append(ast.Assign(targets=[ast.Name(id='o0oN', ctx=ast.Store())], value=ast.BinOp(ast.BinOp(ast.BinOp(ast.BinOp(ast.Name(id='o0oD', ctx=ast.Load()), ast.LShift(), ast.Constant(5)), ast.Add(), ast.Name(id='o0oI', ctx=ast.Load())), ast.BitXor(), ast.BinOp(ast.Name(id='o0oD', ctx=ast.Load()), ast.Add(), ast.Name(id='o0oM', ctx=ast.Load()))), ast.BitXor(), ast.BinOp(ast.BinOp(ast.Name(id='o0oD', ctx=ast.Load()), ast.RShift(), ast.Constant(5)), ast.Add(), ast.Name(id='o0oJ', ctx=ast.Load()))))) o0oG.append(ast.Assign(targets=[ast.Name(id='o0oP', ctx=ast.Store())], value=ast.BinOp(ast.BinOp(ast.Name(id='o0oC', ctx=ast.Load()), ast.Add(), ast.Name(id='o0oN', ctx=ast.Load())), ast.BitAnd(), ast.Constant(65535)))) o0oG.append(ast.Assign(targets=[ast.Name(id='o0oN', ctx=ast.Store())], value=ast.BinOp(ast.BinOp(ast.BinOp(ast.BinOp(ast.Name(id='o0oP', ctx=ast.Load()), ast.LShift(), ast.Constant(5)), ast.Add(), ast.Name(id='o0oK', ctx=ast.Load())), ast.BitXor(), ast.BinOp(ast.Name(id='o0oP', ctx=ast.Load()), ast.Add(), ast.Name(id='o0oM', ctx=ast.Load()))), ast.BitXor(), ast.BinOp(ast.BinOp(ast.Name(id='o0oP', ctx=ast.Load()), ast.RShift(), ast.Constant(5)), ast.Add(), ast.Name(id='o0oL', ctx=ast.Load()))))) o0oG.append(ast.Assign(targets=[ast.Name(id='o0oQ', ctx=ast.Store())], value=ast.BinOp(ast.BinOp(ast.Name(id='o0oD', ctx=ast.Load()), ast.Add(), ast.Name(id='o0oN', ctx=ast.Load())), ast.BitAnd(), ast.Constant(65535)))) o0oG.append(ast.Return(ast.Tuple(elts=[ast.Name(id='o0oP', ctx=ast.Load()), ast.Name(id='o0oQ', ctx=ast.Load())], ctx=ast.Load()))) o0oU = ast.FunctionDef(name=o0oA, args=ast.arguments(posonlyargs=[], args=[ast.arg(arg=a) for a in o0oB], kwonlyargs=[], kw_defaults=[], defaults=[]), body=o0oG, decorator_list=[]) o0oV = ast.parse('\ndef _tea_helper_func(a, b, c):\n magic1 = (a ^ b) & 0xDEADBEEF\n magic2 = (c << 3) | (a >> 5)\n return (magic1 + magic2 - (b & 0xCAFEBABE)) & 0xFFFFFFFF\n\ndef _fake_tea_round(x, y):\n return ((x * 0x9E3779B9) ^ (y + 0x12345678)) & 0xFFFFFFFF\n\n_tea_magic_delta = 0x9E3779B9 ^ 0x12345678\n_tea_dummy_keys = [0x1111, 0x2222, 0x3333, 0x4444]\n').body o0oW = ast.Module(body=[o0oU] + o0oV, type_ignores=[]) ast.fix_missing_locations(o0oW) o0oX = compile(o0oW, filename='<tea_obf_ast>', mode='exec') o0oY = {} exec(o0oX, o0oY) if o0oA in o0oY: o0o0o17[o0oA] = o0oY[o0oA] return None
Phrolova(globals())
def shouan(o0o0o32): """Processes the user's input list through a series of transformations.""" if len(o0o0o32) != 9: raise ValueError('需要输入9个key') o0o0o35 = [] for o0o0o49, o0o0o34 in enumerate(o0o0o32): o0o0o33 = o0o0o49 * o0o0o49 o0o0o36, o0o0o37 = Shorekeeper(o0o0o34) o0o0o38, o0o0o39 = Carlotta(o0o0o36, o0o0o37, o0o0o49 + 2025, o0o0o33) o0o0o40 = Kathysia(o0o0o38, o0o0o39) o0o0o35.append(o0o0o40) o0o0o41 = [] for i in range(8): (o0o0o35[i], o0o0o35[i + 1]) = changli(o0o0o35[i], o0o0o35[i + 1], 2025) o0o0o41.append(o0o0o35[i]) o0o0o41.append(o0o0o35[8]) return o0o0o41
def jinhsi(): """Main function to handle user input and check the key.""" print('请输入9个数字:') try: o0o0o46 = input().strip() if ',' in o0o0o46: o0o0o42 = o0o0o46.split(',') else: o0o0o42 = o0o0o46.split() if len(o0o0o42) != 9: print('错误: 需要输入9个数') return None o0o0o43 = [] for o0o0o44 in o0o0o42: try: o0o0o45 = int(o0o0o44.strip()) o0o0o43.append(o0o0o45) except ValueError: print(f"错误: '{o0o0o44}' 不是有效的整数") return None o0o0o48 = shouan(o0o0o43) if o0o0o48 == o0o0o0: print('正确!这是真正的key') sys.exit(0) else: print('错误!这不是正确的key') print(f'你的结果: {o0o0o48}') sys.exit(0) except Exception as o0o0o47: print(f'发生错误: {o0o0o47}') return None
if __name__ == '__main__': jinhsi()
|