# el-picasso

| Item       | Value                   |
| ---------- | ----------------------- |
| Category   | **Reverse Engineering** |
| Difficulty | **Hard**                |

### **Challenge Overview**

Allowing IDA Pro to view more graph functions was the solution to this challenge.

Options -> General -> Graph -> Max number of nodes: **9999999**

After pressing **F5** we get this weird functions.

<figure><img src="https://3350216265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8aLNxke1qPtepwlrf6VI%2Fuploads%2FUAq1PYZY0vieHWHZgy7x%2F1.png?alt=media&#x26;token=bd5fbae2-bbe4-4c5c-8a48-59235bc9e60b" alt=""><figcaption><p>weird functions</p></figcaption></figure>

### **Exploitation**

However, once we **zoom out** we get something crazy.

<figure><img src="https://3350216265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8aLNxke1qPtepwlrf6VI%2Fuploads%2Ft4Mkj4fZVBSHqoMS0NfE%2F2.png?alt=media&#x26;token=7b97a0dd-bd82-4059-bb6b-90e84a262ae7" alt=""><figcaption><p>qr code</p></figcaption></figure>

A **QR Code**.

I managed to retrieve it using this **python script** which reverse the **white** color to **black** and all **other colors** to **white** (to get something closer to a **QR code,** like a dotted one).&#x20;

```python
from PIL import Image

img = Image.open("qrcode.png").convert("RGB")
pixels = img.load()

width, height = img.size

for y in range(height):
    for x in range(width):
        r, g, b = pixels[x, y]

        if (r, g, b) == (255, 255, 255):
            pixels[x, y] = (0, 0, 0)  
        else:
            pixels[x, y] = (255, 255, 255) 

img.save("qrcode_blackwhite")
img.show()
```

This returns the following picture:<br>

![](https://3350216265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8aLNxke1qPtepwlrf6VI%2Fuploads%2Fb4JYvfkpmUd6WbvWNgvn%2F3.png?alt=media\&token=54c47846-9126-45cb-81b2-8ebe473b96ef)

it's clearly way better so we just have to mess with it until we get something readable.

### **Final Result**

Then AI (**GPT 5.2 Thinking**) got the correct QR which can be decoded using a lot of tools or python libraries (**cv2, pillow, etc.**)

*made by k0d*
