Skip to content
This repository was archived by the owner on Feb 19, 2026. It is now read-only.
This repository was archived by the owner on Feb 19, 2026. It is now read-only.

New Puzzle - 0CTF 2021 lalamblambdadambda #15

Description

@ThinerDAS

Original author of the CTF challenge is believed to be hzqmwne

defsat(x: str): """0CTF 2021 lalamblambdadambda pseudo code, all rights belong to original author of challenge"""buf=bytes.fromhex(s[:16])
S0= []
foriinrange(8):
forjinrange(8):
S0.append(((lambdab:lambdaa:a),(lambdab:lambdaa:b))[1&(buf[i]>>j)])
S1= [True,False]
f1= (lambdac:lambdab:lambdaa:c(b)(a))
f5= (lambdac:lambdab:lambdaa:f1(a)(c)(b))
f6= (lambdab:lambdaa:f5(b)(a))
f7= (lambdad:lambdac:lambdab:lambdaa:f5(f5(d)(c))(f5(b)(a)))
f8= (lambdad:lambdac:lambdab:lambdaa:f5(f6(d)(c))(f6(b)(a)))
f9= (lambdah:lambdag:lambdaf:lambdae:lambdad:lambdac:lambdab:lambdaa:f5(f8(h)(g)(f)(e))(f8(d)(c)(b)(a)))
f12= (lambdab:lambdaa:a)
f13= (lambdaa:f12)
f15=f5(f5(f5(f5(f5(f12)(f12))(f5(f12)(f12)))(f5(f5(f12)(f12))(f5(f12)(f12))))(f5(f5(f5(f12)(f12))(f5(f12)(f12)))(f5(f5(f12)(f12))(f5(f12)(f12)))))(f5(f5(f5(f5(f12)(f12))(f5(f12)(f12)))(f5(f5(f12)(f12))(f5(f12)(f12))))(f5(f5(f5(f12)(f12))(f5(f12)(f12)))(f5(f5(f12)(f12))(f5(f12)(f12)))))
f16=f5(f15)
f28= (
(lambdab:lambdaa:
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b
(
b(b(b(b(b(b(a))))))
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
f30= (lambdab:lambdaa:b(a)(b))
f33= (lambdab:lambdaa:b(b)(a))
f41= (lambdab:lambdaa:b)
f42= (lambdaa:a)
f43= (lambdac:(lambdaa:c(a(a)))((lambdab:c((lambdaa:b(b)(a))))))
f2= (lambdae:lambdad:lambdac:e((lambdab:lambdaa:a(b(d))))((lambdaa:c))(f42))
f3= (lambdaa:a(f13)(f41))
f10= (lambdaa:a(f12))
f11= (lambdaa:a(f41))
f17=f7(f9(f12)(f12)(f41)(f41)(f12)(f12)(f12)(f12))(f9(f12)(f41)(f41)(f12)(f41)(f41)(f41)(f12))(f9(f12)(f12)(f41)(f41)(f12)(f41)(f12)(f41))(f9(f41)(f12)(f12)(f41)(f12)(f12)(f12)(f41))
f18=f7(f9(f12)(f41)(f41)(f12)(f12)(f12)(f12)(f41))(f9(f41)(f12)(f41)(f12)(f12)(f12)(f12)(f41))(f9(f12)(f12)(f41)(f12)(f12)(f41)(f41)(f12))(f9(f12)(f41)(f41)(f41)(f41)(f41)(f41)(f41))
f19=f7(f9(f41)(f12)(f12)(f12)(f12)(f41)(f41)(f12))(f9(f41)(f41)(f41)(f41)(f12)(f12)(f41)(f12))(f9(f41)(f41)(f12)(f12)(f41)(f41)(f12)(f41))(f9(f12)(f41)(f41)(f12)(f12)(f41)(f12)(f12))
f20=f7(f9(f41)(f12)(f12)(f12)(f41)(f41)(f41)(f12))(f9(f12)(f41)(f12)(f41)(f41)(f41)(f41)(f41))(f9(f12)(f41)(f41)(f12)(f12)(f12)(f12)(f12))(f9(f41)(f12)(f12)(f41)(f41)(f12)(f12)(f12))
f21=f7(f9(f41)(f12)(f12)(f41)(f41)(f41)(f41)(f12))(f9(f12)(f12)(f41)(f41)(f12)(f41)(f41)(f41))(f9(f12)(f41)(f41)(f41)(f41)(f12)(f12)(f41))(f9(f41)(f12)(f41)(f41)(f41)(f12)(f12)(f41))
f22=f7(f9(f41)(f41)(f12)(f41)(f41)(f41)(f41)(f41))(f9(f41)(f12)(f12)(f41)(f41)(f12)(f41)(f41))(f9(f12)(f12)(f12)(f12)(f41)(f41)(f41)(f41))(f9(f41)(f41)(f12)(f41)(f12)(f12)(f12)(f12))
f23=f7(f9(f41)(f41)(f41)(f41)(f12)(f12)(f12)(f12))(f9(f41)(f41)(f12)(f12)(f41)(f41)(f12)(f12))(f9(f12)(f12)(f12)(f12)(f12)(f41)(f12)(f12))(f9(f41)(f41)(f12)(f41)(f12)(f41)(f12)(f12))
f29= (lambdaa:f41)
f32= (lambdaa:a(f12)(f41))
f34= (lambdab:lambdaa:f33(f30(f32(b))(a))(f30(b)(f32(a))))
f35= (lambdab:lambdaa:f34(b)(a))
f36= (lambdaf:lambdae:lambdad:lambdac:(lambdab:(lambdaa:f5(f11(a))(f5(f10(a))(f10(b))))(f(e(f41))(d(f41))(f11(b))))(f(e(f12))(d(f12))(c)))
f37= (lambdae:lambdad:lambdac:(lambdab:(lambdaa:f5(f11(a))(f5(f10(a))(f10(b))))(e(d(f41))(f11(b))))(e(d(f12))(c)))
f38= (lambdae:lambdad:lambdac:(lambdab:(lambdaa:f5(f11(a))(f5(f10(b))(f10(a))))(e(d(f12))(f11(b))))(e(d(f41))(c)))
f39= (lambdac:lambdab:lambdaa:f30(c(b(f41))(a(f41)))(c(b(f12))(a(f12))))
f40= (lambdac:lambdab:lambdaa:f5(c(b(f41))(a(f41)))(c(b(f12))(a(f12))))
f0= (lambdac:lambdab:lambdaa:f5(f33(f30(c)(b))(f30(f34(c)(b))(a)))(f34(f34(c)(b))(a)))
f14= (
(lambdab:lambdaa:
f10(f36(f36(f36(f36(f36(f0)))))(b)(a)(f12))
)
)
f25= (
(lambdaa:
f10(f37(f37(f37(f37(f37(f6)))))(a)(f12))
)
)
f26= (
(lambdaa:
f10(f38(f38(f38(f38(f38(f6)))))(a)(f12))
)
)
f27=f40(f40(f40(f40(f40(f35)))))
f31= (lambdab:lambdaa:f33(f30(b)(a))(f30(f32(b))(f32(a))))
f24=f39(f39(f39(f39(f39(f31)))))
f4= (lambdaa:f30(f24(f11(a))(f22))(f24(f10(a))(f17)))
answer= (
(lambdav50:lambdav49:lambdav48:lambdav47:lambdav46:lambdav45:lambdav44:lambdav43:lambdav42:lambdav41:lambdav40:lambdav39:lambdav38:lambdav37:lambdav36:lambdav35:lambdav34:lambdav33:lambdav32:lambdav31:lambdav30:lambdav29:lambdav28:lambdav27:lambdav26:lambdav25:lambdav24:lambdav23:lambdav22:lambdav21:lambdav20:lambdav19:lambdav18:lambdav17:lambdav16:lambdav15:lambdav14:lambdav13:lambdav12:lambdav11:lambdav10:lambdav9:lambdav8:lambdav7:lambdav6:lambdav5:lambdav4:lambdav3:lambdav2:lambdav1:lambdav0:lambdaz:lambday:lambdax:lambdaw:lambdav:lambdau:lambdat:lambdas:lambdar:lambdaq:lambdap:lambdao:lambdan:
f4
(
(lambdam:lambdal:
f10
(
f43
(
(lambdak:lambdaj:lambdai:
f3(j)(i)
(
(lambdah:
k(f2(j))
(
(lambdag:
(lambdaf:
(lambdae:
(lambdad:
(lambdac:
(lambdab:
(lambdaa:f5(c)(f5(b)(a)))
(
f14(d)
(
f27
(
f27(f14(f25(f25(f25(f25(b)))))(f23))(f14(b)(c))
)
(
f14(f26(f26(f26(f26(f26(b))))))(f18)
)
)
)
)
(
f14(e)
(
f27
(
f27(f14(f25(f25(f25(f25(d)))))(f19))(f14(d)(c))
)
(
f14(f26(f26(f26(f26(f26(d))))))(f20)
)
)
)
)
(f14(f)(f21))
)
(f10(f10(g)))
)
(f11(f10(g)))
)
(f11(g))
)
(i)
)
(h)
)
)
)
)
(f28)(f16(f5(m)(l)))
)
)
(f7(f9(v19)(v20)(v21)(v22)(v23)(v24)(v25)(v26))(f9(v27)(v28)(v29)(v30)(v31)(v32)(v33)(v34))(f9(v35)(v36)(v37)(v38)(v39)(v40)(v41)(v42))(f9(v43)(v44)(v45)(v46)(v47)(v48)(v49)(v50)))(f7(f9(n)(o)(p)(q)(r)(s)(t)(u))(f9(v)(w)(x)(y)(z)(v0)(v1)(v2))(f9(v3)(v4)(v5)(v6)(v7)(v8)(v9)(v10))(f9(v11)(v12)(v13)(v14)(v15)(v16)(v17)(v18)))
)
)
(S0[0])(S0[1])(S0[2])(S0[3])(S0[4])(S0[5])(S0[6])(S0[7])(S0[8])(S0[9])(S0[10])(S0[11])(S0[12])(S0[13])(S0[14])(S0[15])(S0[16])(S0[17])(S0[18])(S0[19])(S0[20])(S0[21])(S0[22])(S0[23])(S0[24])(S0[25])(S0[26])(S0[27])(S0[28])(S0[29])(S0[30])(S0[31])(S0[32])(S0[33])(S0[34])(S0[35])(S0[36])(S0[37])(S0[38])(S0[39])(S0[40])(S0[41])(S0[42])(S0[43])(S0[44])(S0[45])(S0[46])(S0[47])(S0[48])(S0[49])(S0[50])(S0[51])(S0[52])(S0[53])(S0[54])(S0[55])(S0[56])(S0[57])(S0[58])(S0[59])(S0[60])(S0[61])(S0[62])(S0[63])(S1[0])(S1[1])
)
returnanswer

Solvers, post your solutions in the comments using the following formatting:

Reveal solution
defsol():
return'fe54620f00feb0ad'

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions