Rating: 4.0
The code is a single line of lambda functions and a few string literals and integers inside.
```python
print((lambda LAMBDa: lambda LAMbDA: lambda LAMBda: lambda LAMbda: (lambda Lambda: ((lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda)))(lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda)))))(lambda Lambda: lambda lAMBDA: lambda lamBDA: (lambda lAmbda: lambda lAMbda: (lAMBDA if not lAmbda else Lambda(lAMBDA*256+(lambda lAMBDA: lAMBDA(lambda LAMBDA: LAMBDA+1)(0))((lambda LAMBDa: lambda LAMbDA: LAMBDa(lambda lAMBDA: lambda LAMBDa: lambda LAMbDA: LAMBDa(lAMBDA(LAMBDa)(LAMbDA)))(LAMbDA))(LAMBda)((lambda LAMBDA: (lambda LAMBDa: lambda LAMbDA: LAMBDa(lambda lAMBDA: lambda LAMBDa: lambda LAMbDA: LAMBDa(lAMBDA(LAMBDa)(LAMbDA)))(LAMbDA))((lambda LAMBDa: lambda LAMbDA: lambda lAMBDA: LAMBDa(LAMbDA(lAMBDA)))((lambda Lambda: ((lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda)))(lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda)))))(lambda Lambda: lambda LAMBDa: lambda LAMbDA: (lambda LAMBDa: lambda LAMbDA: (lambda LAMBDa: LAMBDa(lambda lAmBdA: lambda LAMBDa: lambda LAMbDA: LAMbDA)(lambda LAMBDa: lambda LAMbDA: LAMBDa))((lambda LAMBDa: lambda LAMbDA: LAMbDA(lambda lAMBDA: lambda Lambda: lambda LAMBDA: lAMBDA(lambda LAmbda: lambda lambdah: lambdah(LAmbda(Lambda)))(lambda lAmBdA: LAMBDA)(lambda LAMBDA: LAMBDA))(LAMBDa))((lambda lAMBDA: lambda LAMBDa: lambda LAMbDA: LAMBDa(lAMBDA(LAMBDa)(LAMbDA)))(LAMBDa))(LAMbDA)))(LAMBDa)(LAMbDA)(lambda lAmBdA: LAMBDa)(lambda lAmBdA: Lambda((lambda LAMBDa: lambda LAMbDA: LAMbDA(lambda lAMBDA: lambda Lambda: lambda LAMBDA: lAMBDA(lambda LAmbda: lambda lambdah: lambdah(LAmbda(Lambda)))(lambda lAmBdA: LAMBDA)(lambda LAMBDA: LAMBDA))(LAMBDa))(LAMBDa)(LAMbDA))(LAMbDA))(lambda LAMBDa: lambda LAMbDA: LAMbDA))(LAMBDA)(lambda LAMBDa: lambda LAMbDA: LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMbDA))))))))))))))))))(lambda LAMBDa: lambda LAMbDA: LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMbDA))))))))))))))))))(((lambda Lambda: ((lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda)))(lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda)))))(lambda Lambda: lambda LAMBDa: lambda LAMbDA: (lambda LAMBDa: lambda LAMbDA: (lambda LAMBDa: LAMBDa(lambda lAmBdA: lambda LAMBDa: lambda LAMbDA: LAMbDA)(lambda LAMBDa: lambda LAMbDA: LAMBDa))((lambda LAMBDa: lambda LAMbDA: LAMbDA(lambda lAMBDA: lambda Lambda: lambda LAMBDA: lAMBDA(lambda LAmbda: lambda lambdah: lambdah(LAmbda(Lambda)))(lambda lAmBdA: LAMBDA)(lambda LAMBDA: LAMBDA))(LAMBDa))((lambda lAMBDA: lambda LAMBDa: lambda LAMbDA: LAMBDa(lAMBDA(LAMBDa)(LAMbDA)))(LAMBDa))(LAMbDA)))(LAMBDa)(LAMbDA)(lambda lAmBdA: lambda LAMBDa: lambda LAMbDA: LAMbDA)(lambda lAmBdA: (lambda lAMBDA: lambda LAMBDa: lambda LAMbDA: LAMBDa(lAMBDA(LAMBDa)(LAMbDA)))(Lambda((lambda LAMBDa: lambda LAMbDA: LAMbDA(lambda lAMBDA: lambda Lambda: lambda LAMBDA: lAMBDA(lambda LAmbda: lambda lambdah: lambdah(LAmbda(Lambda)))(lambda lAmBdA: LAMBDA)(lambda LAMBDA: LAMBDA))(LAMBDa))(LAMBDa)(LAMbDA))(LAMbDA)))(lambda LAMBDa: lambda LAMbDA: LAMbDA)))(LAMBDA)(lambda LAMBDa: lambda LAMbDA: LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMBDa(LAMbDA)))))))))))))))))))((lambda LAMBDa: lambda LAMbDA: (lambda laMBDA: lambda laMbda: (((lambda Lambda: ((lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda)))(lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda))))))(lambda Lambda: lambda lAMBDA: lambda LAMBDA: lambda LAMbda: lambda lamBDA: (lambda LAMBDa: lambda LAMbDA: LAMBDa(lambda LAMBDa: lambda LAMbDA: LAMBDa)(LAMbDA))(laMBDA(LAMBDA))(laMBDA(LAMbda))(lambda lAmBdA: laMBDA(LAMBDA)((lambda LAMBDa: lambda LAMbDA: LAMBDa(lambda lAMBDA: lambda LAMBDa: lambda LAMbDA: LAMBDa(lAMBDA(LAMBDa)(LAMbDA)))(LAMbDA))(lAMBDA)(laMbda(LAMbda)((lambda LAMBDa: lambda LAMbDA: LAMbDA(LAMBDa))(lambda LAMBDa: lambda LAMbDA: LAMBDa(LAMBDa(LAMbDA)))(lamBDA))))((lambda LAMBDa: lambda LAMbDA: LAMBDa(lambda lAMBDA: lambda LAMBDa: lambda LAMbDA: LAMBDa(lAMBDA(LAMBDa)(LAMbDA)))(LAMbDA))(lAMBDA)(laMbda(LAMBDA)((lambda LAMBDa: lambda LAMbDA: LAMbDA(LAMBDa))(lambda LAMBDa: lambda LAMbDA: LAMBDa(LAMBDa(LAMbDA)))(lamBDA)))))(lambda lAmBdA: Lambda((lambda LAMBDa: lambda LAMbDA: LAMBDa(lambda lAMBDA: lambda LAMBDa: lambda LAMbDA: LAMBDa(lAMBDA(LAMBDa)(LAMbDA)))(LAMbDA))(lAMBDA)(laMbda((lambda LAMBDa: lambda LAMbDA: LAMbDA(LAMBDa))(lambda LAMBDa: lambda LAMbDA: LAMBDa(LAMBDa(LAMbDA)))(lamBDA))((lambda LAMBDA: lambda LAMbda: (lambda LAMBDa: lambda LAMbDA: LAMBDa(lambda LAMBDa: lambda LAMbDA: LAMBDa)(LAMbDA))((lambda LAMBDa: lambda LAMbDA: LAMBDa(LAMbDA)(lambda LAMBDa: lambda LAMbDA: LAMbDA))(laMBDA(LAMBDA))((lambda LAMBDa: LAMBDa(lambda LAMBDa: lambda LAMbDA: LAMbDA)(lambda LAMBDa: lambda LAMbDA: LAMBDa))(laMBDA(LAMbda))))((lambda LAMBDa: lambda LAMbDA: LAMBDa(LAMbDA)(lambda LAMBDa: lambda LAMbDA: LAMbDA))(laMBDA(LAMbda))((lambda LAMBDa: LAMBDa(lambda LAMBDa: lambda LAMbDA: LAMbDA)(lambda LAMBDa: lambda LAMbDA: LAMBDa))(laMBDA(LAMBDA))))(lambda LAMBDA: LAMBDA)(lambda LAMBDa: lambda LAMbDA: LAMbDA))(((lambda Lambda: ((lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda)))(lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda)))))(lambda Lambda: lambda LAMBDa: lambda LAMbDA: (lambda LAMBDa: lambda LAMbDA: (lambda LAMBDa: LAMBDa(lambda lAmBdA: lambda LAMBDa: lambda LAMbDA: LAMbDA)(lambda LAMBDa: lambda LAMbDA: LAMBDa))((lambda LAMBDa: lambda LAMbDA: LAMbDA(lambda lAMBDA: lambda Lambda: lambda LAMBDA: lAMBDA(lambda LAmbda: lambda lambdah: lambdah(LAmbda(Lambda)))(lambda lAmBdA: LAMBDA)(lambda LAMBDA: LAMBDA))(LAMBDa))((lambda lAMBDA: lambda LAMBDa: lambda LAMbDA: LAMBDa(lAMBDA(LAMBDa)(LAMbDA)))(LAMBDa))(LAMbDA)))(LAMBDa)(LAMbDA)(lambda lAmBdA: LAMBDa)(lambda lAmBdA: Lambda((lambda LAMBDa: lambda LAMbDA: LAMbDA(lambda lAMBDA: lambda Lambda: lambda LAMBDA: lAMBDA(lambda LAmbda: lambda lambdah: lambdah(LAmbda(Lambda)))(lambda lAmBdA: LAMBDA)(lambda LAMBDA: LAMBDA))(LAMBDa))(LAMBDa)(LAMbDA))(LAMbDA))(lambda LAMBDa: lambda LAMbDA: LAMbDA)))(LAMBDA)(lambda LAMBDa: lambda LAMbDA: LAMBDa(LAMBDa(LAMbDA))))(((lambda Lambda: ((lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda)))(lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda)))))(lambda Lambda: lambda LAMBDa: lambda LAMbDA: (lambda LAMBDa: lambda LAMbDA: (lambda LAMBDa: LAMBDa(lambda lAmBdA: lambda LAMBDa: lambda LAMbDA: LAMbDA)(lambda LAMBDa: lambda LAMbDA: LAMBDa))((lambda LAMBDa: lambda LAMbDA: LAMbDA(lambda lAMBDA: lambda Lambda: lambda LAMBDA: lAMBDA(lambda LAmbda: lambda lambdah: lambdah(LAmbda(Lambda)))(lambda lAmBdA: LAMBDA)(lambda LAMBDA: LAMBDA))(LAMBDa))((lambda lAMBDA: lambda LAMBDa: lambda LAMbDA: LAMBDa(lAMBDA(LAMBDa)(LAMbDA)))(LAMBDa))(LAMbDA)))(LAMBDa)(LAMbDA)(lambda lAmBdA: LAMBDa)(lambda lAmBdA: Lambda((lambda LAMBDa: lambda LAMbDA: LAMbDA(lambda lAMBDA: lambda Lambda: lambda LAMBDA: lAMBDA(lambda LAmbda: lambda lambdah: lambdah(LAmbda(Lambda)))(lambda lAmBdA: LAMBDA)(lambda LAMBDA: LAMBDA))(LAMBDa))(LAMBDa)(LAMbDA))(LAMbDA))(lambda LAMBDa: lambda LAMbDA: LAMbDA)))(LAMbda)(lambda LAMBDa: lambda LAMbDA: LAMBDa(LAMBDa(LAMbDA)))))))(((lambda Lambda: ((lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda)))(lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda)))))(lambda Lambda: lambda LAMBDa: lambda LAMbDA: (lambda LAMBDa: lambda LAMbDA: (lambda LAMBDa: LAMBDa(lambda lAmBdA: lambda LAMBDa: lambda LAMbDA: LAMbDA)(lambda LAMBDa: lambda LAMbDA: LAMBDa))((lambda LAMBDa: lambda LAMbDA: LAMbDA(lambda lAMBDA: lambda Lambda: lambda LAMBDA: lAMBDA(lambda LAmbda: lambda lambdah: lambdah(LAmbda(Lambda)))(lambda lAmBdA: LAMBDA)(lambda LAMBDA: LAMBDA))(LAMBDa))((lambda lAMBDA: lambda LAMBDa: lambda LAMbDA: LAMBDa(lAMBDA(LAMBDa)(LAMbDA)))(LAMBDa))(LAMbDA)))(LAMBDa)(LAMbDA)(lambda lAmBdA: lambda LAMBDa: lambda LAMbDA: LAMbDA)(lambda lAmBdA: (lambda lAMBDA: lambda LAMBDa: lambda LAMbDA: LAMBDa(lAMBDA(LAMBDa)(LAMbDA)))(Lambda((lambda LAMBDa: lambda LAMbDA: LAMbDA(lambda lAMBDA: lambda Lambda: lambda LAMBDA: lAMBDA(lambda LAmbda: lambda lambdah: lambdah(LAmbda(Lambda)))(lambda lAmBdA: LAMBDA)(lambda LAMBDA: LAMBDA))(LAMBDa))(LAMBDa)(LAMbDA))(LAMbDA)))(lambda LAMBDa: lambda LAMbDA: LAMbDA)))(LAMBDA)(lambda LAMBDa: lambda LAMbDA: LAMBDa(LAMBDa(LAMbDA))))(((lambda Lambda: ((lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda)))(lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda)))))(lambda Lambda: lambda LAMBDa: lambda LAMbDA: (lambda LAMBDa: lambda LAMbDA: (lambda LAMBDa: LAMBDa(lambda lAmBdA: lambda LAMBDa: lambda LAMbDA: LAMbDA)(lambda LAMBDa: lambda LAMbDA: LAMBDa))((lambda LAMBDa: lambda LAMbDA: LAMbDA(lambda lAMBDA: lambda Lambda: lambda LAMBDA: lAMBDA(lambda LAmbda: lambda lambdah: lambdah(LAmbda(Lambda)))(lambda lAmBdA: LAMBDA)(lambda LAMBDA: LAMBDA))(LAMBDa))((lambda lAMBDA: lambda LAMBDa: lambda LAMbDA: LAMBDa(lAMBDA(LAMBDa)(LAMbDA)))(LAMBDa))(LAMbDA)))(LAMBDa)(LAMbDA)(lambda lAmBdA: lambda LAMBDa: lambda LAMbDA: LAMbDA)(lambda lAmBdA: (lambda lAMBDA: lambda LAMBDa: lambda LAMbDA: LAMBDa(lAMBDA(LAMBDa)(LAMbDA)))(Lambda((lambda LAMBDa: lambda LAMbDA: LAMbDA(lambda lAMBDA: lambda Lambda: lambda LAMBDA: lAMBDA(lambda LAmbda: lambda lambdah: lambdah(LAmbda(Lambda)))(lambda lAmBdA: LAMBDA)(lambda LAMBDA: LAMBDA))(LAMBDa))(LAMBDa)(LAMbDA))(LAMbDA)))(lambda LAMBDa: lambda LAMbDA: LAMbDA)))(LAMbda)(lambda LAMBDa: lambda LAMbDA: LAMBDa(LAMBDa(LAMbDA))))((lambda lAMBDA: lambda LAMBDa: lambda LAMbDA: LAMBDa(lAMBDA(LAMBDa)(LAMbDA)))(lamBDA)))(lambda LAMBDa: lambda LAMbDA: LAMbDA)))(lambda LAMBDa: lambda LAMbDA: LAMbDA)(LAMBDa)(LAMbDA)(lambda LAMBDa: lambda LAMbDA: LAMbDA))(lambda LAMBDa: LAMBDa(lambda lAmBdA: lambda LAMBDa: lambda LAMbDA: LAMbDA)(lambda LAMBDa: lambda LAMbDA: LAMBDa))(lambda LAMBDa: lambda LAMbDA: lambda lAMBDA: LAMBDa(LAMbDA(lAMBDA))))(LAMbda(ord(lAmbda)))(LAMbda(ord(lAMbda)))))))((lambda lAMBDA: lambda LAMBDa: lambda LAMbDA: LAMBDa(lAMBDA(LAMBDa)(LAMbDA)))(lamBDA))))(LAMBDa.read(1))(LAMbDA.read(1)))(0)(lambda LAMBDa: lambda LAMbDA: LAMbDA))(open('./flag.txt'))(open(__file__))((lambda LaMbDa: ((lambda Lambda: ((lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda)))(lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda))))))(lambda Lambda: lambda LAMBDA: (lambda laMBDA: (LAMBDA if not laMBDA else Lambda((lambda lAMBDA: lambda LAMBDa: lambda LAMbDA: LAMBDa(lAMBDA(LAMBDa)(LAMbDA)))(LAMBDA))))(LaMbDa.read(1000)))(lambda LAMBDa: lambda LAMbDA: LAMbDA))(open(__file__)))(lambda lAMBDA: ((lambda Lambda: ((lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda)))(lambda LAMBDA: Lambda(lambda LAMbda: LAMBDA(LAMBDA)(LAMbda))))))(lambda Lambda: lambda LAMBDA: (LAMBDA if (lambda lAMBDA: lAMBDA(lambda LAMBDA: LAMBDA+1)(0))(LAMBDA)==lAMBDA else Lambda((lambda lAMBDA: lambda LAMBDa: lambda LAMbDA: LAMBDa(lAMBDA(LAMBDa)(LAMbDA)))(LAMBDA))))(lambda LAMBDA: LAMBDA)))
```
Skimming over the non-lambdas, it can be seen that it accesses `./flag.txt` and does something to it. The code also opens `__file__`, which could mean that it is referencing something inside itself, and thus modifying and cleaning up the code can possibly break it. Our goal is to run the script and have it output `2692665569775536810618960607010822800159298089096272924`.
I try to create flag.txt myself, and fill it with letters and observe the outputs from running the code:
- a - 28 (0x1c)
- ac - 7196 (0x1c1c)
- act - 1842396 (0x1c1cdc)
See where this is going? The hex value of the target is `0x1c1cdc8bfbbc90e02b2e30ab31020d123d226eee3b5c1c`. From here we just do a byte-for-byte brute-force. It takes some time to run the program each time, but the flag isn't extremely long.
```python
from string import printable
from subprocess import check_output
def do_score(a,b):
for i in range(min(len(a),len(b))):
if a[i] != b[i]:
return i
return i
known = ""
target = hex(2692665569775536810618960607010822800159298089096272924)
best_score = 0
best_letter = ""
for letter in printable.rstrip():
guess = known + letter + "}"
with open("flag.txt","w") as fd:
fd.write(guess)
out = hex(int(check_output(["python3", "lambda.py"]).decode().rstrip()))
score = do_score(out, target)
if score >= best_score:
print(guess, score)
best_score = score
best_letter = letter
```
In some situations there were multiple candidates that could work out, so I manually guided the brute-force process a bit, and guessed some sequences instead of brute-forcing everything.
`actf{3p1c_0n3_l1n3r_95}`