# L'Inspiration en images

**Catégorie:** Retro Ingénierie - **Difficulté:** Facile

{% file src="<https://4219205392-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fybn4btwQnvitOl9uXz9p%2Fuploads%2FJTjFYmAL942rWqiPtzJk%2Fvue_sur_un_etrange_tableau?alt=media&token=eacbd578-0185-44cb-b821-0d86140408db>" %}

**Description:**

<figure><img src="https://4219205392-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fybn4btwQnvitOl9uXz9p%2Fuploads%2FSEwGRcVU3HzA0sbDiP91%2Fenonce.png?alt=media&#x26;token=5189e073-f6fd-4abe-aaee-ff8a4fa73bf3" alt=""><figcaption></figcaption></figure>

**Solution:**

Pour ce challenge de reverse, nous devons trouver un élément se rapportant à une couleur *rgba*.

Pour commencer, nous allons décompiler le programme avec Ghidra afin de pouvoir regarder et inspecter les fonctions :&#x20;

<figure><img src="https://4219205392-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fybn4btwQnvitOl9uXz9p%2Fuploads%2F1YF99FpjTFUhAuY7H4Gg%2Fimage.png?alt=media&#x26;token=03c393df-867d-4605-bb65-1108788e152a" alt="" width="120"><figcaption></figcaption></figure>

Commençons (comme toujours) par analyser la fonction *main*.\
En regardant son code, nous remarquons très rapidement une partie avec le terme *`glad_glClearColor`* suivi de 4 valeurs qui sont surement nos valeurs rgba :&#x20;

<figure><img src="https://4219205392-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fybn4btwQnvitOl9uXz9p%2Fuploads%2FD30iIdOVKmVKSMeed5SP%2Fimage.png?alt=media&#x26;token=df6377fb-ff76-40d3-9262-775f194f9fa5" alt=""><figcaption></figcaption></figure>

Voici donc les 4 valeurs : *`0x3e4ccccd, 0x3e99999a, 0x3e99999a, 0x3f800000`*\
Maintenant il va falloir les convertir en float pour pouvoir les arrondir au dixième.

Pour cela, nous allons utiliser [ce site](https://gregstoll.com/~gregstoll/floattohex/) et convertir chaque valeur :&#x20;

|     Hex    | Float |
| :--------: | :---: |
| 0x3e4ccccd |  0.2  |
| 0x3e99999a |  0.3  |
| 0x3e99999a |  0.3  |
| 0x3f800000 |   1   |

Maintenant nous avons plus qu'à mettre au propre le flag en faisant attention à ne pas tomber dans le piège du 1 :clown:\
Même s'il s'agit d'un 1, il est demandé de mettre les valeurs avec leur décimale, ce qui donne : 1.0

<details>

<summary>🚩 FLAG</summary>

```
404CTF{vec4(0.2,0.3,0.3,1.0)}
```

</details>
