In this Blue Hens CTF 2026 challenge, we are given an image that seems heavily modified/obfuscated for artificial vision. The image contains a propositional logic formula represented as a circuit diagram, and we need to solve it for TRUE to recover the values of the 11 input variables in the form UDCTF{xxxxxxxxxxx}.

Circuit diagram of the propositional logic formula given for the challenge.
Key insight
There are many ways to solve this problem. For example, you could model the whole proposition as a boolean satisfiability problem and use a SAT solver to find the solution; for a circuit of this size, that should not be too hard. However, there is a really “efficient” shortcut we can use here: if you look closely, most of the gates in the circuit are XOR and OR, and many of them are of the form:
The key insight is that most of the gates in the circuit end up being a tautology (always true) or a contradiction (always false) regardless of the input value, which makes the circuit much easier to reduce and solve. The second big insight is that all the segments before the final AND gate are independent of each other, since each one uses only a single input variable without reusing variables, so we can solve each segment for TRUE independently and then combine the results to get the final solution.
Solving the circuit
At this point, the main task is to determine which segments need to be solved independently. After checking the circuit, the segments are the following:

As we can see, this reduces to solving 12 independent segments, 3 of which are direct inputs to the final AND gate. That means we only need to solve the other 9 segments for TRUE, since an AND gate is TRUE only when all of its inputs are TRUE.
Solution
We could get the solution by hand by checking each segment and applying the rules of boolean algebra to reduce it, but that would be very time consuming. So, to understand the process, let’s look at a single example: the 5th segment (the first purple one from top to bottom):
Here we have the following circuit:
If we decompose we can see that:
and:
So if we replace and in we get:
At this point we can use the fact that to get:
And now we use the property that is equivalent to to get:
We can simply repeat this process for all the segments to get the following solution:
| Variable | Value |
|---|---|
| 1 | |
| 0 | |
| 1 | |
| 0 | |
| 0 | |
| 1 | |
| 0 | |
| 1 | |
| 1 | |
| 0 | |
| 1 |
So the flag is UDCTF{10100101101}.
Conclusion
This challenge shows that not every reverse engineering problem consists of taking a binary and trying to reverse it. The field of reverse engineering is much broader and can include almost any kind of problem. In this case, we had to reverse engineer a propositional logic formula, or more precisely, a logic circuit. Just as with binary reverse engineering, the same kind of reasoning applies here: reverse engineering a logic circuit or boolean formula can reveal how to bypass it, which in a real-world scenario could allow a malicious user to circumvent security measures, or in the case of CTFs, solve the challenge and get the flag. This is a great example of how reverse engineering can be applied across different fields and used to solve problems that at first glance may seem unrelated to reverse engineering.
Extra: My full solve by hand (do not take it as fully correct, especially the formulas)

Greetings
Thanks to the Blue Hens CTF organizers for this amazing challenge and CTF in general, it had a lot of really interesting challenges and I had a lot of fun solving many of the hard-to-solve challenges, also the decision of making the image hard to read for AI was really interesting, as it really made the challenge harder for an LLM without making it impossible or a hassle for a human, I really liked that decision and I hope to see more challenges like this in the future.