Skip to content

Trippi Troppa Chaos

The baker got infected with Italian brainrot and obfuscated our flag encoder with memes and nested functions. Can you help us find our flag?

points: 100

solves: 371

author: ha1fdan


Given output.txt and trippi_troppa_sus.py:

#!/usr/bin/env python3
import sys as _tralalero_tralala_impostor_____
(lambda _bombardiro_crocodilo___: [
    setattr(__builtins__, '__boneca_ambalabu_toilet____', __import__('base64').b85encode),
    setattr(__builtins__, '___trippa_troppa_mewing___', __import__('hashlib').sha256),
    setattr(__builtins__, '__tung_tung_sahur_cycle_____', __import__('itertools').cycle),
    setattr(__builtins__, '____pinguino_arrabiato_seed____', __import__('random').seed)
][_bombardiro_crocodilo___] and None)(0) or ____pinguino_arrabiato_seed____(69420)

def ___ranocchio_turbina_function_factory____():
    def ____lirilì_rilà_final_boss_____():
        def _____trippi_troppa_skibidi_____():
            def ______crocodina_gigachad_nested______():
                def _______tralala_alpha_transformation_______():
                    def ________boneca_beta_elimination________():
                        def _________sahur_sigma_activities_________():
                            def __________bombardiro_mewing__________():
                                def ___________trippa_no_cap___________():
                                    def ____________tung_bussin_respectfully____________():
                                        def _____________tralalero_slay_queen_energy_____________():
                                            __fanum_tax_pinguino____ = lambda ___cringe_normie_bombardiro___, ____based_chad_crocodilo____: (lambda ____uwu_owo_tralalero____: [__c__ for __c__ in ____uwu_owo_tralalero____])(
                                                [___x___ ^ ___y___ for ___x___, ___y___ in zip(___cringe_normie_bombardiro___, __tung_tung_sahur_cycle_____(____based_chad_crocodilo____))]
                                            )

                                            def ____boneca_ambalabu_university____(___x_trippa___, ___y_troppa___):
                                                return (lambda ____bruh_moment_lirilì____: ____bruh_moment_lirilì____.digest()[:len(___y_troppa___)])(
                                                    ___trippa_troppa_mewing___(
                                                        ((___x_trippa___.decode() if isinstance(___x_trippa___, bytes) else ___x_trippa___) + 
                                                         (___y_troppa___.decode() if isinstance(___y_troppa___, bytes) else ___y_troppa___)).encode()
                                                    )
                                                )

                                            def ____tralalero_griddy_dance____(___x_ranocchio___):
                                                return (lambda ____fortnite_bombardiro_pass____: 
                                                       [___c_crocodina___ for ___c_crocodina___ in ____fortnite_bombardiro_pass____]
                                                )([((___c_sahur___ * 7) % 256) for ___c_sahur___ in ___x_ranocchio___])

                                            def ____tung_reverse_uno_card____(___x_pinguino___):
                                                return (lambda ____amogus_sus_trippi____: ____amogus_sus_trippi____[::-1])(___x_pinguino___)

                                            def ____dead_meme_boneca_graveyard____():
                                                ____poggers_tralala____, ____chungus_rilà____, ____keanu_troppa____ = 1337, 420, 9000
                                                for ___i_bombardiro___ in (lambda ___x_crocodilo___: range(___x_crocodilo___))(5):
                                                    ____poggers_tralala____ = (____poggers_tralala____ * ____chungus_rilà____ + ____keanu_troppa____) % (___i_bombardiro___ + 7)
                                                return ____poggers_tralala____

                                            def ____touch_grass_tralalero_function____():
                                                try:
                                                    with open("flag.txt", "rb") as ____yeet_file_ambalabu____:
                                                        ____cringe_flag_pinguino____ = ____yeet_file_ambalabu____.read()
                                                except:
                                                    return "L + ratio + skill issue + no tralalero for you"

                                                ____sussy_key_bombardiro____ = b"skibidi"

                                                ____step_one_boneca____ = ____boneca_ambalabu_university____(____sussy_key_bombardiro____, ____sussy_key_bombardiro____)
                                                ____step_two_sahur____ = bytes(__fanum_tax_pinguino____(____cringe_flag_pinguino____, ____step_one_boneca____))
                                                ____step_three_trippa____ = bytes(____tralalero_griddy_dance____(____step_two_sahur____))
                                                ____step_four_troppa____ = ____tung_reverse_uno_card____(____step_three_trippa____)
                                                ____final_boss_crocodina____ = __boneca_ambalabu_toilet____(____step_four_troppa____).decode()

                                                return ____final_boss_crocodina____

                                            return ____touch_grass_tralalero_function____
                                        return _____________tralalero_slay_queen_energy_____________
                                    return ____________tung_bussin_respectfully____________
                                return ___________trippa_no_cap___________
                            return __________bombardiro_mewing__________
                        return _________sahur_sigma_activities_________
                    return ________boneca_beta_elimination________
                return _______tralala_alpha_transformation_______
            return ______crocodina_gigachad_nested______
        return _____trippi_troppa_skibidi_____
    return ____lirilì_rilà_final_boss_____

if __name__ == "__main__":
    print((lambda ___x_tralalero___: ___x_tralalero___()()()()()()()()()()()())(___ranocchio_turbina_function_factory____))

Simplified encrypt.py:

import base64
import hashlib
import itertools
import random

random.seed(69420)

def func2(text, key):
    return (x ^ y for x, y in zip(text, (key * ((len(text) // len(key)) + 1))[:len(text)]))

def func1(x, y):
    if isinstance(x, bytes): x = x.decode()
    if isinstance(y, bytes): y = y.decode()
    return hashlib.sha256((x + y).encode()).digest()[:len(y)]

def func3(text):
    return ((c * 7) % 256 for c in text)

def func4(text):
    return text[::-1]

def func0():
    with open("flag.txt", "rb") as flag_file:
        flag = flag_file.read()

    key = b"skibidi"

    step_one = func1(key, key)
    step_two = bytes(func2(flag, step_one))
    step_three = bytes(func3(step_two))
    step_four = func4(step_three)
    final_step = base64.b85encode(step_four).decode()

    return final_step

if __name__ == "__main__":
    print(func0())

Reverse logic to decrypt.py:

import base64
import hashlib

def func2(text, key):
    return (x ^ y for x, y in zip(text, (key * ((len(text) // len(key)) + 1))[:len(text)]))

def func1(x, y):
    if isinstance(x, bytes): x = x.decode()
    if isinstance(y, bytes): y = y.decode()
    return hashlib.sha256((x + y).encode()).digest()[:len(y)]

def func3_inv(text):
    inv7 = pow(7, -1, 256)
    return bytes((c * inv7) % 256 for c in text)

def func4(text):
    return text[::-1]

def func0():
    with open("output.txt") as f:
        encoded = f.read().strip()
    key = b"skibidi"
    step1 = func1(key, key)

    step4 = base64.b85decode(encoded)
    step3 = func4(step4)
    step2 = func3_inv(step3)
    original_flag = bytes(func2(step2, step1))
    return original_flag

if __name__ == "__main__":
    print(func0().decode(errors="ignore"))