diff --git a/_posts/2026-04-15-this-wasm-my-kind-of-web-challenge.md b/_posts/2026-04-15-this-wasm-my-kind-of-web-challenge.md
new file mode 100644
index 0000000..0c350fd
--- /dev/null
+++ b/_posts/2026-04-15-this-wasm-my-kind-of-web-challenge.md
@@ -0,0 +1,164 @@
+---
+# Editing the below variables is the absolute minimum to get stuff up. Feel
+# free [obliged] to add editorial niceties or strip the page if you need to
+# include something more complex.
+season: 23
+episode: 02
+layout: default
+title: This WASM my kind of web challenge
+# summary for social media cards. Ideal length 55 chars, max 200
+summary: WASM crackme challenge from PolyPwn 2026 LabOps
+tags: wasm reverse-engineering crackme
+date_fr: 2026-04-15
+date_long_fr: Mercredi le 15 avril 2026 18:00 à 21:00
+date_en: 2026-04-15
+date_long_en: Wednesday April 15th 2026 18:00 to 21:00
+description_fr: >
+ Présentation de la track LabOps de PolyPwn 2026. L'objectif est de faire un keygen pour une application web de gestion de laboratoire compilée en WebAssembly (WASM). L'application comporte plusieurs pages, chacune nécessitant une licence différente (Bronze, Silver ou Gold). Il faut donc créer un générateur de clés capable de produire une licence valide pour chaque niveau afin d'obtenir les flags.
+description_en: >
+ Presenting the PolyPwn 2026 LabOps track. The goal is to write a keygen for a lab management web application compiled to WebAssembly (WASM). The app has multiple pages, each requiring a different license tier (Bronze, Silver, or Gold). You'll need to build a key generator that can produce a valid license for each tier to unlock the flags.
+tools_fr:
+ - Ghidra
+ - https://github.com/nneonneo/ghidra-wasm-plugin
+tools_en:
+ - Ghidra
+ - https://github.com/nneonneo/ghidra-wasm-plugin
+presented_by_fr: Défi présenté par [Kyle Bouchard (ptrstr)](https://github.com/ptrstr)
+presented_by_en: Presented by [Kyle Bouchard (ptrstr)](https://github.com/ptrstr)
+featured_img: /images/22026-04.jpg
+featured_img_alt: Friendship with JS has ended, WASM is my new best friend
+location: "École de Technologie Supérieure (ÉTS), local D-4007"
+
+---
+
+# Next edition: {{ page.date_en }}
+[French version](#french)
+
+### Season {{ page.season }} Episode {{ page.episode }}
+
+## {{ page.title }}
+
+The next edition of Montrehack will be held on {{ page.date_long_en }}.
+
+
+
+{{ page.description_en }}
+
+{% if page.challenge_assets %}
+{::options parse_block_html="true" /}
+
+## Challenge Assets
+{% for asset in page.challenge_assets %}
+* [ {{ asset.name }} ]({{ asset.url }})
+{% endfor %}
+
+{% endif %}
+
+{% if page.archived_assets %}
+{::options parse_block_html="true" /}
+
+## Archives
+This edition is over. Here are the archived assets:
+{% for asset in page.archived_assets %}
+* [ {{ asset.name }} ]({{ asset.url }})
+{% endfor %}
+
+{% endif %}
+
+## Tools and Experience Required
+
+{% for tool in page.tools_en %}
+* {{ tool }}
+{% endfor %}
+
+## Where
+
+* {{ page.location }}
+* Follow the presentation [online on Twitch](https://twitch.tv/montrehack/)
+* Participate in teams or on your own [on Discord](https://discord.gg/4qfFwPX)
+
+## When
+
+{{ page.date_long_en | capitalize }}
+
+## How
+
+* Workshop style
+* Bring your own laptop
+* Challenges will be analyzed
+* Small groups of people can work on each challenge
+* Solutions to each challenge will be presented to everyone at the end of the event
+
+## Credits
+
+{{ page.presented_by_en }}
+
+
+
+# Prochaine édition: {{ page.date_fr }}
+
+### Saison {{ page.season }} épisode {{ page.episode }}
+
+## {{ page.title }}
+
+La prochaine édition de Montréhack aura lieu {{ page.date_long_fr }}.
+
+
+
+{{ page.description_fr }}
+
+{% if page.challenge_assets %}
+{::options parse_block_html="true" /}
+
+## Challenge Assets
+{% for asset in page.challenge_assets %}
+* [ {{ asset.name }} ]({{ asset.url }})
+{% endfor %}
+
+{% endif %}
+
+{% if page.archived_assets %}
+{::options parse_block_html="true" /}
+
+## Les Archives
+Cette édition est terminé, voici les archives:
+{% for asset in page.archived_assets %}
+* [ {{ asset.name }} ]({{ asset.url }})
+{% endfor %}
+
+{% endif %}
+
+## Outils et expérience requis
+
+{% for tool in page.tools_fr %}
+* {{ tool }}
+{% endfor %}
+
+## Où
+
+* {{ page.location }}
+* Suivez la présentation [en ligne sur Twitch](https://twitch.tv/montrehack/)
+* Participez seul ou en équipe [sur Discord](https://discord.gg/4qfFwPX)
+
+## Quand
+
+{{ page.date_long_fr | capitalize}}
+
+## Comment
+
+* Formule atelier
+* Apportez votre ordinateur portable
+* Des problèmes seront étudiés et expliqués
+* Chaque problème sera analysé en petits groupes
+* Les solutions seront présentées avec tout le monde à la fin de la rencontre
+
+## Remerciements
+
+{{ page.presented_by_fr }}
+
+
+### Sponsors // Partenaires
+
+[](https://nsec.io/)
+
+Interested to sponsor or present a challenge? [Contact us here](https://docs.google.com/forms/d/e/1FAIpQLSecc0vfe3pIwMJjIBCYW4G43ZwtagwVESu_qHKnglnBc3R3ww/viewform?usp=sf_link).
diff --git a/images/2026-04.jpg b/images/2026-04.jpg
new file mode 100644
index 0000000..80ce6c3
Binary files /dev/null and b/images/2026-04.jpg differ