{"componentChunkName":"component---src-templates-post-template-js","path":"/ctf-1337up-2023-en","result":{"data":{"markdownRemark":{"id":"a48483a3-f213-5fca-afb0-09f572aa1859","html":"<blockquote>\n<p>This page has been machine-translated from the <a href=\"/ctf-1337up-2023\">original page</a>.</p>\n</blockquote>\n<p>I participated in the 1337UP CTF, which started on November 17, 2023, as part of 0nePadding, and we placed 32nd overall.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/d29243d20ecee51fd3788051bd158847/03914/image-20231119161025504.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 27.500000000000004%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAyElEQVQY041RyxKCMBDrPyAilgIVUPHNw0JB0JsH//974rbj2ekhzcw2zW62jCcay3WDeNMizSfiEX7YUK398X8YjU+c5g8EvAWLNxOE7FGeBjIbqNiR8I5V1CMU7ljH2jLzQ0WGCteqQ1HOON8+OJzfZKqo+90ZQj7sG2aOKFHYlh0VNXgygsfaXgbcHSaRSceEHClqh+NF0x4Gu0dZzGRu4pvoyglGHwqa0AtqmqrB4aSQZhrZ7oli/7ICL6iwWNVO4ElvP+gLz3aq4Icl690AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/d29243d20ecee51fd3788051bd158847/8ac56/image-20231119161025504.webp 240w,\n/static/d29243d20ecee51fd3788051bd158847/d3be9/image-20231119161025504.webp 480w,\n/static/d29243d20ecee51fd3788051bd158847/e46b2/image-20231119161025504.webp 960w,\n/static/d29243d20ecee51fd3788051bd158847/edf1e/image-20231119161025504.webp 1173w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/d29243d20ecee51fd3788051bd158847/8ff5a/image-20231119161025504.png 240w,\n/static/d29243d20ecee51fd3788051bd158847/e85cb/image-20231119161025504.png 480w,\n/static/d29243d20ecee51fd3788051bd158847/d9199/image-20231119161025504.png 960w,\n/static/d29243d20ecee51fd3788051bd158847/03914/image-20231119161025504.png 1173w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/d29243d20ecee51fd3788051bd158847/d9199/image-20231119161025504.png\"\n            alt=\"image-20231119161025504\"\n            title=\"image-20231119161025504\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>There were so many challenges that we could not solve them all, but I will briefly write up the ones we did solve.</p>\n<!-- omit in toc -->\n<h2 id=\"table-of-contents\" style=\"position:relative;\"><a href=\"#table-of-contents\" aria-label=\"table of contents permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Table of Contents</h2>\n<ul>\n<li><a href=\"#obfuscationrev\">Obfuscation(Rev)</a></li>\n<li><a href=\"#flagcheckerrev\">FlagChecker(Rev)</a></li>\n<li><a href=\"#anonymousrev\">Anonymous(Rev)</a></li>\n<li><a href=\"#impackfulrev\">imPACKful(Rev)</a></li>\n<li><a href=\"#can-we-fix-itrev\">Can We Fix It(Rev)</a></li>\n<li><a href=\"#virtual-ramrev\">Virtual RAM(Rev)</a></li>\n<li><a href=\"#crack-me-if-you-canrev\">Crack Me If You Can(Rev)</a></li>\n<li><a href=\"#escapegame-hacking\">Escape(Game Hacking)</a></li>\n<li><a href=\"#over-the-wire-1warmup\">Over the Wire 1(Warmup)</a></li>\n<li><a href=\"#over-the-wire-2warmup\">Over the Wire 2(Warmup)</a></li>\n<li><a href=\"#summary\">Summary</a></li>\n</ul>\n<h2 id=\"obfuscationrev\" style=\"position:relative;\"><a href=\"#obfuscationrev\" aria-label=\"obfuscationrev permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Obfuscation(Rev)</h2>\n<blockquote>\n<p>I think I made my code harder to read. Can you let me know if that’s true?</p>\n</blockquote>\n<p>After unpacking the challenge binary, I found the source code for the obfuscated challenge binary and an encrypted data file named <code class=\"language-text\">output</code>.</p>\n<p>After compiling the obfuscated source once and decompiling it with Ghidra, I found that the <code class=\"language-text\">main</code> function performs the following processing.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\">undefined8 <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">int</span> param_1<span class=\"token punctuation\">,</span><span class=\"token keyword\">long</span> param_2<span class=\"token punctuation\">)</span>\n\n<span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">int</span> __n<span class=\"token punctuation\">;</span>\n  FILE <span class=\"token operator\">*</span>pFVar1<span class=\"token punctuation\">;</span>\n  undefined8 uVar2<span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">char</span> <span class=\"token operator\">*</span>__s<span class=\"token punctuation\">;</span>\n  \n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>param_1 <span class=\"token operator\">!=</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">printf</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Not enough arguments provided!\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n                    <span class=\"token comment\">/* WARNING: Subroutine does not return */</span>\n    <span class=\"token function\">exit</span><span class=\"token punctuation\">(</span><span class=\"token operator\">-</span><span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  pFVar1 <span class=\"token operator\">=</span> <span class=\"token function\">fopen</span><span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span> <span class=\"token operator\">*</span><span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span>param_2 <span class=\"token operator\">+</span> <span class=\"token number\">8</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"r\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>pFVar1 <span class=\"token operator\">==</span> <span class=\"token punctuation\">(</span>FILE <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0x0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">perror</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Error opening file\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    uVar2 <span class=\"token operator\">=</span> <span class=\"token number\">0xffffffff</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n    __n <span class=\"token operator\">=</span> <span class=\"token function\">o_0b97aabd0b9aa9e13aa47794b5f2236f</span><span class=\"token punctuation\">(</span>pFVar1<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    __s <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token function\">malloc</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span>__n <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>__s <span class=\"token operator\">==</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0x0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token function\">perror</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Memory allocation error\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token function\">fclose</span><span class=\"token punctuation\">(</span>pFVar1<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      uVar2 <span class=\"token operator\">=</span> <span class=\"token number\">0xffffffff</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n    <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token function\">fgets</span><span class=\"token punctuation\">(</span>__s<span class=\"token punctuation\">,</span>__n<span class=\"token punctuation\">,</span>pFVar1<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token function\">fclose</span><span class=\"token punctuation\">(</span>pFVar1<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token function\">o_e5c0d3fd217ec5a6cd022874d7ffe0b9</span><span class=\"token punctuation\">(</span>__s<span class=\"token punctuation\">,</span>__n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      pFVar1 <span class=\"token operator\">=</span> <span class=\"token function\">fopen</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"output\"</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"wb\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>pFVar1 <span class=\"token operator\">==</span> <span class=\"token punctuation\">(</span>FILE <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token number\">0x0</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token function\">perror</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Error opening file\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        uVar2 <span class=\"token operator\">=</span> <span class=\"token number\">0xffffffff</span><span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n      <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token function\">fwrite</span><span class=\"token punctuation\">(</span>__s<span class=\"token punctuation\">,</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>__n<span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span>pFVar1<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token function\">fclose</span><span class=\"token punctuation\">(</span>pFVar1<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token function\">free</span><span class=\"token punctuation\">(</span>__s<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        uVar2 <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token keyword\">return</span> uVar2<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>The <code class=\"language-text\">o_e5c0d3fd217ec5a6cd022874d7ffe0b9</code> function called from there looked like this.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\"><span class=\"token keyword\">void</span> <span class=\"token function\">o_e5c0d3fd217ec5a6cd022874d7ffe0b9</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span> param_1<span class=\"token punctuation\">,</span><span class=\"token keyword\">int</span> param_2<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">int</span> i<span class=\"token punctuation\">;</span>\n  \n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>param_2 <span class=\"token operator\">!=</span> <span class=\"token number\">0x18</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n                    <span class=\"token comment\">/* WARNING: Subroutine does not return */</span>\n    <span class=\"token function\">__assert_fail</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"o_8ce986b6b3a519615b6244d7fb2b62f8 == 24\"</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"chall.c\"</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span>__PRETTY_FUNCTION__<span class=\"token punctuation\">.</span><span class=\"token number\">0</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span>i <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> i <span class=\"token operator\">&lt;</span> <span class=\"token number\">0x18</span><span class=\"token punctuation\">;</span> i <span class=\"token operator\">=</span> i <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span>param_1 <span class=\"token operator\">+</span> i<span class=\"token punctuation\">)</span> <span class=\"token operator\">=</span>\n         <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>byte <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span>param_1 <span class=\"token operator\">+</span> i<span class=\"token punctuation\">)</span> <span class=\"token operator\">^</span>\n         <span class=\"token punctuation\">(</span>byte<span class=\"token punctuation\">)</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span>undefined4 <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span>o_a8d9bf17d390687c168fe26f2c3a58b1 <span class=\"token operator\">+</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>ulong<span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>i <span class=\"token operator\">%</span> <span class=\"token number\">400</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">*</span> <span class=\"token number\">4</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">^</span>\n         <span class=\"token number\">0x37</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token keyword\">return</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>From this, we can see that the result of encrypting the flag in the <code class=\"language-text\">*(byte *)(param_1 + i) ^\n         (byte)*(undefined4 *)(o_a8d9bf17d390687c168fe26f2c3a58b1 + ((ulong)(long)i % 400) * 4) ^\n         0x37</code> part is written to the <code class=\"language-text\">output</code> file.</p>\n<p>Therefore, I was able to obtain the flag with the following solver.</p>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">import</span> struct\n\nobs <span class=\"token operator\">=</span> <span class=\"token string\">b'\\x2a\\x00\\x00\\x00\\x4d\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x08\\x00\\x00\\x00\\x45\\x00\\x00\\x00\\x56\\x00\\x00\\x00\\x3c\\x00\\x00\\x00\\x63\\x00\\x00\\x00\\x32\\x00\\x00\\x00\\x4c\\x00\\x00\\x00\\x0f\\x00\\x00\\x00\\x0e\\x00\\x00\\x00\\x29\\x00\\x00\\x00\\x57\\x00\\x00\\x00\\x2d\\x00\\x00\\x00\\x3d\\x00\\x00\\x00\\x10\\x00\\x00\\x00\\x32\\x00\\x00\\x00\\x14\\x00\\x00\\x00\\x05\\x00\\x00\\x00\\x0d\\x00\\x00\\x00\\x21\\x00\\x00\\x00\\x3e\\x00\\x00\\x00\\x46\\x00\\x00\\x00\\x46\\x00\\x00\\x00\\x4d\\x00\\x00\\x00\\x1c\\x00\\x00\\x00\\x55\\x00\\x00\\x00\\x52\\x00\\x00\\x00\\x1a\\x00\\x00\\x00\\x1c\\x00\\x00\\x00\\x20\\x00\\x00\\x00\\x38\\x00\\x00\\x00\\x16\\x00\\x00\\x00\\x15\\x00\\x00\\x00\\x30\\x00\\x00\\x00\\x26\\x00\\x00\\x00\\x2a\\x00\\x00\\x00\\x62\\x00\\x00\\x00\\x14\\x00\\x00\\x00\\x2c\\x00\\x00\\x00\\x42\\x00\\x00\\x00\\x15\\x00\\x00\\x00\\x37\\x00\\x00\\x00\\x62\\x00\\x00\\x00\\x11\\x00\\x00\\x00\\x14\\x00\\x00\\x00\\x5d\\x00\\x00\\x00\\x63\\x00\\x00\\x00\\x36\\x00\\x00\\x00\\x15\\x00\\x00\\x00\\x2b\\x00\\x00\\x00\\x50\\x00\\x00\\x00\\x63\\x00\\x00\\x00\\x40\\x00\\x00\\x00\\x62\\x00\\x00\\x00\\x37\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x5f\\x00\\x00\\x00\\x10\\x00\\x00\\x00\\x38\\x00\\x00\\x00\\x3e\\x00\\x00\\x00\\x2a\\x00\\x00\\x00\\x53\\x00\\x00\\x00\\x48\\x00\\x00\\x00\\x17\\x00\\x00\\x00\\x47\\x00\\x00\\x00\\x3d\\x00\\x00\\x00\\x5a\\x00\\x00\\x00\\x0e\\x00\\x00\\x00\\x21\\x00\\x00\\x00\\x2d\\x00\\x00\\x00\\x54\\x00\\x00\\x00\\x19\\x00\\x00\\x00\\x18\\x00\\x00\\x00\\x60\\x00\\x00\\x00\\x4a\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x5c\\x00\\x00\\x00\\x19\\x00\\x00\\x00\\x21\\x00\\x00\\x00\\x24\\x00\\x00\\x00\\x06\\x00\\x00\\x00\\x1a\\x00\\x00\\x00\\x0e\\x00\\x00\\x00\\x25\\x00\\x00\\x00\\x21\\x00\\x00\\x00\\x64\\x00\\x00\\x00\\x03\\x00\\x00\\x00\\x1e\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x1f\\x00\\x00\\x00\\x1f\\x00\\x00\\x00\\x56\\x00\\x00\\x00\\x5c\\x00\\x00\\x00\\x3d\\x00\\x00\\x00\\x56\\x00\\x00\\x00\\x51\\x00\\x00\\x00\\x26\\x00\\x00\\x00'</span>\nobs <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span>struct<span class=\"token punctuation\">.</span>unpack<span class=\"token punctuation\">(</span><span class=\"token string\">\"&lt;I\"</span><span class=\"token punctuation\">,</span> obs<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">:</span>i<span class=\"token operator\">+</span><span class=\"token number\">4</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token builtin\">len</span><span class=\"token punctuation\">(</span>obs<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span>\n\n<span class=\"token keyword\">with</span> <span class=\"token builtin\">open</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"output\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"rb\"</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">as</span> f<span class=\"token punctuation\">:</span>\n    data <span class=\"token operator\">=</span> f<span class=\"token punctuation\">.</span>read<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">0x18</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token builtin\">chr</span><span class=\"token punctuation\">(</span>data<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span><span class=\"token operator\">^</span><span class=\"token number\">0x37</span><span class=\"token operator\">^</span>obs<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>end<span class=\"token operator\">=</span><span class=\"token string\">\"\"</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token comment\"># INTIGRITI{Z29vZGpvYg==}</span></code></pre></div>\n<h2 id=\"flagcheckerrev\" style=\"position:relative;\"><a href=\"#flagcheckerrev\" aria-label=\"flagcheckerrev permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>FlagChecker(Rev)</h2>\n<blockquote>\n<p>Can you beat this FlagChecker?</p>\n</blockquote>\n<p>The Rust source code given as the challenge binary was as follows.</p>\n<div class=\"gatsby-highlight\" data-language=\"rust\"><pre class=\"language-rust\"><code class=\"language-rust\"><span class=\"token keyword\">use</span> <span class=\"token namespace\">std<span class=\"token punctuation\">::</span></span>io<span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">fn</span> <span class=\"token function-definition function\">check_flag</span><span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">:</span> <span class=\"token operator\">&amp;</span><span class=\"token keyword\">str</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">-></span> <span class=\"token keyword\">bool</span> <span class=\"token punctuation\">{</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">18</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">7</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">&amp;</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">12</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">36</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">%</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">14</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">-</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">21</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">%</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">15</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token operator\">-</span><span class=\"token number\">3</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">10</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">4</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">11</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">-</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">20</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">5141</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">19</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">12</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">16</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">8332</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">9</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">13</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">8</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">&amp;</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">16</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">113</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">17</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">5</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">6</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">7090</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">21</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">19</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">10521</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">11</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">20</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">6</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">6787</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">7</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">5</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">-</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">18</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">&amp;</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">9</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">96</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">12</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">8</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">-</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">10</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">4</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">8277</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">16</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">17</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">13</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">14</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">4986</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">15</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">7008</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">13</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">18</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">&amp;</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">5</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">10</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">118</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">%</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">12</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">-</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">19</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">%</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">7</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">73</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">14</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">21</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">16</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">-</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">8</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">11228</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">17</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">9</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">11</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">11686</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">15</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">4</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">20</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">&amp;</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">95</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">6</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">12</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">19</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">8490</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">7</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">5</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">10</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">6869</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">21</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">13</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">15</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">11</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">4936</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">16</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">20</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">-</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">&amp;</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">9</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">104</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">18</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">-</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">4</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">14</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">5440</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">8</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">6</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">17</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">12</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">7104</span> <span class=\"token operator\">&amp;&amp;</span>\n    flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">11</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">as_bytes</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">[</span><span class=\"token number\">15</span><span class=\"token punctuation\">]</span> <span class=\"token keyword\">as</span> <span class=\"token keyword\">i32</span> <span class=\"token operator\">==</span> <span class=\"token number\">6143</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">fn</span> <span class=\"token function-definition function\">main</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">let</span> <span class=\"token keyword\">mut</span> flag <span class=\"token operator\">=</span> <span class=\"token class-name\">String</span><span class=\"token punctuation\">::</span><span class=\"token function\">new</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token macro property\">println!</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Enter the flag: \"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token namespace\">io<span class=\"token punctuation\">::</span></span><span class=\"token function\">stdin</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">read_line</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&amp;</span><span class=\"token keyword\">mut</span> flag<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">expect</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Failed to read line\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">let</span> flag <span class=\"token operator\">=</span> flag<span class=\"token punctuation\">.</span><span class=\"token function\">trim</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n    <span class=\"token keyword\">if</span> <span class=\"token function\">check_flag</span><span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token macro property\">println!</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Correct flag\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span> <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token macro property\">println!</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Wrong flag\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>It seemed to be validating whether the input string matched the flag, and from the implementation it was pretty clear that it was intended to be solved with Z3.</p>\n<p>So I used the following solver to obtain the flag.</p>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">from</span> z3 <span class=\"token keyword\">import</span> <span class=\"token operator\">*</span>\nflag <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span>BitVec<span class=\"token punctuation\">(</span><span class=\"token string-interpolation\"><span class=\"token string\">f\"flag[</span><span class=\"token interpolation\"><span class=\"token punctuation\">{</span>i<span class=\"token punctuation\">}</span></span><span class=\"token string\">]\"</span></span><span class=\"token punctuation\">,</span> <span class=\"token number\">8</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">22</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span>\ns <span class=\"token operator\">=</span> Solver<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">22</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    s<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>And<span class=\"token punctuation\">(</span>\n        <span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0x21</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n        <span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span> <span class=\"token operator\">&lt;=</span> <span class=\"token number\">0x7e</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token comment\"># INTIGRITI{</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"I\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"N\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"T\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"I\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">4</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"G\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">5</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"R\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">6</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"I\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">7</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"T\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">8</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"I\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">9</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"{\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">21</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"}\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">18</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">7</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">&amp;</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">12</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">36</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">%</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">14</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">-</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">21</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">%</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">15</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token operator\">-</span><span class=\"token number\">3</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">10</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">4</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">11</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">-</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">20</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">5141</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">19</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">12</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">16</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">8332</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">9</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">13</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">8</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">&amp;</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">16</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">113</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">17</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">5</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">6</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">7090</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">21</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">19</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">10521</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">11</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">20</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">6</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">6787</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">7</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">5</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">-</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">18</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">&amp;</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">9</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">96</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">12</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">8</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">-</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">10</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">4</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">8277</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">16</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">17</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">13</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">14</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">4986</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">15</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">7008</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">13</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">18</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">&amp;</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">5</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">10</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">118</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">%</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">12</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">-</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">19</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">%</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">7</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">73</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">14</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">21</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">16</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">-</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">8</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">11228</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">17</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">9</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">11</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">11686</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">15</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">4</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">20</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">&amp;</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">95</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">6</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">12</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">19</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">8490</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">7</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">5</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">10</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">6869</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">21</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">13</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">15</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">11</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">4936</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">16</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">20</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">-</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">&amp;</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">9</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">104</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">18</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">-</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">4</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">14</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">5440</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">8</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">^</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">6</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">17</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">12</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">7104</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">11</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">*</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> flag<span class=\"token punctuation\">[</span><span class=\"token number\">15</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token number\">6143</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">while</span> s<span class=\"token punctuation\">.</span>check<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> sat<span class=\"token punctuation\">:</span>\n    m <span class=\"token operator\">=</span> s<span class=\"token punctuation\">.</span>model<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">for</span> c <span class=\"token keyword\">in</span> flag<span class=\"token punctuation\">:</span>\n        <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token builtin\">chr</span><span class=\"token punctuation\">(</span>m<span class=\"token punctuation\">[</span>c<span class=\"token punctuation\">]</span><span class=\"token punctuation\">.</span>as_long<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>end<span class=\"token operator\">=</span><span class=\"token string\">\"\"</span><span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"\"</span><span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">break</span>\n\n<span class=\"token comment\"># INTIGRITI{tHr33_Z_FTW}</span></code></pre></div>\n<h2 id=\"anonymousrev\" style=\"position:relative;\"><a href=\"#anonymousrev\" aria-label=\"anonymousrev permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Anonymous(Rev)</h2>\n<blockquote>\n<p>Anonymous has hidden a message inside this exe, can you extract it?</p>\n</blockquote>\n<p>Analyzing the file given as the challenge binary with ILSpy produced the following code.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 823px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/736ae255f1231324074b4e44541beab2/31aff/image-20231118104419037.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 96.66666666666666%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAACXBIWXMAAAsTAAALEwEAmpwYAAACbElEQVQ4y5VU15KiQBTl/39taic4IiAMDeiAkgQkB88ewB1D7aSHWx2quX1SIyWJQBA4qDId9VFBkanoSw1DpaCq1wBsnE7WNP6kpLazUJYmgvcFot0T3rcyXE/D1nlFEC4+Gv60qdT1FvpOoAyWiMNX+KGK/W4B31+hqtY4DeJXKCeEp5NAdNRhu0sI8QdhSLoVkVcO+l78CqXU9zaaSsfBfsBu+4qtq8PZGLDECnuivG/4XUkdEXaknKcaDhHp7lX4+2ekqYymoSkn8Qka6xMN2bCnTm6kwdgsoemPiJMVuoEXDTZaatyOLHhpO9a0ttBMexbqVrDmsec3pEytGgu6rUHWXrDQX2C8r6A6SyjiCaq9xHqjQeeexj19q3KtQt0qsAIDtq9DeAZMT8WxMmlKO0PvCh2x90C6j6gKky4v4bmPiMIVjsmamTRR5Abyo4Ey1ziXz3I4Z7rOhfI4GeEmBw2JryKMTDZaw3UVRJQiywRdd5AXDtp2M8XpyEcwDKMRt4Z9IBwXbWvCC1bYMuQ7hrwolSlSswHXdUF0H6XZFEajaS4fXg5tzh/dl3WTy+umc2yIMo4NVNQmS0ktdxgbalaseZl50+T7l3KmXNUCh1CG58nYeQv+MF7OWdR/91K6bj7YdW9IC4NvWUEcsVFrnHVy/kvtC4RiapZXLMairq8aXR2cEX6u5b/LpJpUo8hCFq9QR88ISXcfKEgPKoZM5pOU0VHHC8J7t28vlZrx6RBVGMisZ2bvD7VTUNKQKFFwYKjjWKZBDHOxYSYdjjQt4Tx/g8/sxqlKdsqMsGnNc9acq7qmcz//mvJf6UCjKt0hufUAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/736ae255f1231324074b4e44541beab2/8ac56/image-20231118104419037.webp 240w,\n/static/736ae255f1231324074b4e44541beab2/d3be9/image-20231118104419037.webp 480w,\n/static/736ae255f1231324074b4e44541beab2/7fbc2/image-20231118104419037.webp 823w\"\n              sizes=\"(max-width: 823px) 100vw, 823px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/736ae255f1231324074b4e44541beab2/8ff5a/image-20231118104419037.png 240w,\n/static/736ae255f1231324074b4e44541beab2/e85cb/image-20231118104419037.png 480w,\n/static/736ae255f1231324074b4e44541beab2/31aff/image-20231118104419037.png 823w\"\n            sizes=\"(max-width: 823px) 100vw, 823px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/736ae255f1231324074b4e44541beab2/31aff/image-20231118104419037.png\"\n            alt=\"image-20231118104419037\"\n            title=\"image-20231118104419037\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>In this program, it extracts from an icon hardcoded inside the program a string that satisfies specific conditions and then Base64-decodes it.</p>\n<p>So I copied a few suitable strings from around the middle of the icon and Base64-decoded them, which gave me the flag.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/c8f4ad73829febad256811ca56700d57/8bf8a/image-20231118104402809.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 51.66666666666666%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsTAAALEwEAmpwYAAAByUlEQVQoz2XSy07bQBQGYD9BQ7qPZzy+JE0oiIgIsQUehnbTdtuwIAseqRUStItGNAKJW7vgItpKFVUbAyHBDgmOnZ8zQ2xMM/IvW7b8+Zwz1oRlwbFtOKYJYRgQnIEzHblcToVzjmw2i1evl7H7bQ9b23V83trA11153sTHT+v40lhHY+cD6o1NaIxxTDoWLEGYwWESOlWwwRhTEfShicwzVGtrCABc9UL88/7Aj9oq3fCG7vqUDmUITQiBl3kLeVOg/MJBwRIo0Qckrus65PPsRAZvqqs46wIH5y3s/z7EsXuA08vvaPrn0kE0imYYQlVYmSxgcXYa81NFTBccapsl4HMJvl/Frx5w1OzA7TTR6V+hTekGHoFDOiIKVWjQC7K6BcKW5spYqMyg6Ng0P/2h5RT481aCNwiCEMkaQkFxqGUTnOZWzNuYLeUVHmNJy5kM3q3U8IPAY9dDMBgoKYGkOloap02RoEyOAInEmK6zZIZvqzU1w5MLH2EUJUBE19QtonCorjV9hMRQjCW7nGr5xBuB4SPY7/fhXv9F228huLuTvw1DOmksBmXLskLV8oU3VqHcmN7gVm3OGPh/khlKsPsUjGeYXvc1hPo3okQF6QAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/c8f4ad73829febad256811ca56700d57/8ac56/image-20231118104402809.webp 240w,\n/static/c8f4ad73829febad256811ca56700d57/d3be9/image-20231118104402809.webp 480w,\n/static/c8f4ad73829febad256811ca56700d57/e46b2/image-20231118104402809.webp 960w,\n/static/c8f4ad73829febad256811ca56700d57/f992d/image-20231118104402809.webp 1440w,\n/static/c8f4ad73829febad256811ca56700d57/13f75/image-20231118104402809.webp 1901w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/c8f4ad73829febad256811ca56700d57/8ff5a/image-20231118104402809.png 240w,\n/static/c8f4ad73829febad256811ca56700d57/e85cb/image-20231118104402809.png 480w,\n/static/c8f4ad73829febad256811ca56700d57/d9199/image-20231118104402809.png 960w,\n/static/c8f4ad73829febad256811ca56700d57/07a9c/image-20231118104402809.png 1440w,\n/static/c8f4ad73829febad256811ca56700d57/8bf8a/image-20231118104402809.png 1901w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/c8f4ad73829febad256811ca56700d57/d9199/image-20231118104402809.png\"\n            alt=\"image-20231118104402809\"\n            title=\"image-20231118104402809\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<h2 id=\"impackfulrev\" style=\"position:relative;\"><a href=\"#impackfulrev\" aria-label=\"impackfulrev permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>imPACKful(Rev)</h2>\n<blockquote>\n<p>This program seems to be compressed but still can be executed, I wonder what could cause that..</p>\n</blockquote>\n<p>The challenge binary was packed with UPX, so I unpacked it first.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 850px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/31cd6c9b5f1142a483c4e732a80fe951/ae694/image-20231118104558414.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 23.333333333333332%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAAsTAAALEwEAmpwYAAABGUlEQVQY001Q2U7CQBStD+5g3ZAKgYq0WLrQhS7QBSmkGCQEGvWBEP//M45zh5D4cHLvnTtzlhFMqQ+racBpGDBvNLj3NrZOgS//E7/Tb+ziDX7CFXbJFvu0xErPYZzKGFy8cljnHVhnHV6dKwXCRPIQiTqMkxYyyUHe8rFQU+yzEqX3gbU1x8YueKV5oaSYvURI6g7GtQGmrYDPk+aQCwj+bR/ps4tcDtliBK/Sw+jRQtGNeT+uHfrgTkf8xAjaAXyWxKv2OAL2nuCLGuzLLoTowcTanCNreEiZQ4pEyuSIhGZyxCMndZvtXfYVSxRKwu8TwTE6gUdeau/I2yG37osHNbeiYlh94w4JdO5eq3AYjm5oTwT/QQJ/LJmXyR6q3isAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/31cd6c9b5f1142a483c4e732a80fe951/8ac56/image-20231118104558414.webp 240w,\n/static/31cd6c9b5f1142a483c4e732a80fe951/d3be9/image-20231118104558414.webp 480w,\n/static/31cd6c9b5f1142a483c4e732a80fe951/10237/image-20231118104558414.webp 850w\"\n              sizes=\"(max-width: 850px) 100vw, 850px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/31cd6c9b5f1142a483c4e732a80fe951/8ff5a/image-20231118104558414.png 240w,\n/static/31cd6c9b5f1142a483c4e732a80fe951/e85cb/image-20231118104558414.png 480w,\n/static/31cd6c9b5f1142a483c4e732a80fe951/ae694/image-20231118104558414.png 850w\"\n            sizes=\"(max-width: 850px) 100vw, 850px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/31cd6c9b5f1142a483c4e732a80fe951/ae694/image-20231118104558414.png\"\n            alt=\"image-20231118104558414\"\n            title=\"image-20231118104558414\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>However, even after decompiling the unpacked program, the program itself did not seem to do anything at all.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 453px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/3ca7a98e871d43c2586d31c94fb57707/2108e/image-20231118110146619.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 56.25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsTAAALEwEAmpwYAAABiklEQVQoz6WSW2/aQBCF/f//RdUSiT5wafraqEJEGEyRMViIS1MIeWhT4mB7vbBr469rJ6Cg9iFKj3U0sx6fs+PZtZxvHpWLT3x4/45K5YJq9SP1et3EKrVajWazSaPR4PLyM1+urrA7Nt1uF8dxGAwGuK6L53n4vs9kMsGybYfW1y7tdovr6zYdu2M+7pWinhH1+g79fr8Uj8ZjpvMZ8/mcxWLB95sbfiyXLA1Xq1vW6zWWNxwSPLQo8BiAiGH7CFECmYY8SElMHkk4qAy9UURhxlbkpFIh73e8hOV5I+LojixLDXPDAzrNSAtqQ5WWefE+K6J+qmWH57VhnucnWq47NB3s0KYbITS5Eb4FJ8PRyCMIJLcrWN8JfkU/2e5DYhWfKJRA6IRIRWUemnoow7LTo9kxWr4/ZrORZrBw/3tPIB9KgdCCxJjEqogSaViYJ8/GUkkzhnPDcoauOZQ4istF9obffWlWGo7N/dnt98fy05O/nn91OJvNUEqfDfZfO78W1nR6bvi/+APJZUaIEO+y7wAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/3ca7a98e871d43c2586d31c94fb57707/8ac56/image-20231118110146619.webp 240w,\n/static/3ca7a98e871d43c2586d31c94fb57707/2430e/image-20231118110146619.webp 453w\"\n              sizes=\"(max-width: 453px) 100vw, 453px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/3ca7a98e871d43c2586d31c94fb57707/8ff5a/image-20231118110146619.png 240w,\n/static/3ca7a98e871d43c2586d31c94fb57707/2108e/image-20231118110146619.png 453w\"\n            sizes=\"(max-width: 453px) 100vw, 453px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/3ca7a98e871d43c2586d31c94fb57707/2108e/image-20231118110146619.png\"\n            alt=\"image-20231118110146619\"\n            title=\"image-20231118110146619\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>So I examined the sections of the unpacked program and found that a section named <code class=\"language-text\">{N3v3R}</code> had been registered there, and that turned out to be the flag.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/19b7ef75e4cb62226c42d488c0eb0a01/4d383/image-20231118110137371.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 46.666666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAAsTAAALEwEAmpwYAAABtElEQVQoz2WSi27iMBBF8/8ftGqh0FarPlTaJVCqLElJQt6O88AJBEIJd8cuRdV2pNEcT+TrO3a0P4YJz1siThIwlqqsVgW2dYn1KsdGFNjISinX+6ZG125w2P3MjlLzXBeBZSJxHBSco64qPOhzXI5M3E4d9J+Jn/7iZuqiR7U3mmOo27h4fEPv2cRgvMAl8dWLpViTzpKIIU1zHPEZT4aP/izBvS1wPQvxa2ThahpgoJPo2MFwFhE7xC4G1L+eOBhMPOqH0DjPsJw9wnu9w77dKcGCM4iMKW72DSbBEtmugZNzGEmIYt/CShOYaYyc9hhxiEWRomhbKcgRk1jl6LT9qFz6vo+5+U6uGUyf42Ic4LfJcWswchXg7j3DzVuCvh4qHr6SY8p7O/8ULMsa7cdpXpK0FzbiOEZF95lnHDm5aWqhnBdZeuYVOd5UQn0XJT1ctYIWRRFEnuHjNK4UVD0h1KrrOnRk+/iV+FZPfLZCrDHGyGGJpmnOXdu2YVkWwjBU4tKt5O8ZBIFKyS79KZ7nK9bkWFLkcDic9I6Qh8h7/DpovV7j/9hut2jpEWTIKieR8Q94C5515c5K5wAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/19b7ef75e4cb62226c42d488c0eb0a01/8ac56/image-20231118110137371.webp 240w,\n/static/19b7ef75e4cb62226c42d488c0eb0a01/d3be9/image-20231118110137371.webp 480w,\n/static/19b7ef75e4cb62226c42d488c0eb0a01/e46b2/image-20231118110137371.webp 960w,\n/static/19b7ef75e4cb62226c42d488c0eb0a01/2ccb3/image-20231118110137371.webp 1195w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/19b7ef75e4cb62226c42d488c0eb0a01/8ff5a/image-20231118110137371.png 240w,\n/static/19b7ef75e4cb62226c42d488c0eb0a01/e85cb/image-20231118110137371.png 480w,\n/static/19b7ef75e4cb62226c42d488c0eb0a01/d9199/image-20231118110137371.png 960w,\n/static/19b7ef75e4cb62226c42d488c0eb0a01/4d383/image-20231118110137371.png 1195w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/19b7ef75e4cb62226c42d488c0eb0a01/d9199/image-20231118110137371.png\"\n            alt=\"image-20231118110137371\"\n            title=\"image-20231118110137371\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<h2 id=\"can-we-fix-itrev\" style=\"position:relative;\"><a href=\"#can-we-fix-itrev\" aria-label=\"can we fix itrev permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Can We Fix It(Rev)</h2>\n<blockquote>\n<p>We have extracted this payload that some malware tried to dump.. Seems dumping it directly from memory debased it so it can’t run. Can you fix it?</p>\n</blockquote>\n<p>The file given as the challenge binary was a PE file that could not be executed for some reason.</p>\n<p>Since Windows no longer seemed able to load it as a PE file, I proceeded with the analysis while comparing it with the image below and the results from CFF Explorer.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 862px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/b0791b8ddaf93654107ed47ef0a85bdb/f0551/image-20231118150807553.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 157.50000000000003%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAgCAYAAAASYli2AAAACXBIWXMAAAsTAAALEwEAmpwYAAAHIElEQVRIx22W6VdT2RLF+VffsN774Op+DiAgoLQiAiIgoILYCgrIPIPQEGUekgAhCQQImUjIRKabGbXf79W94NBrvQ+1bq1zbu27d1WdOrcgm82Sy+WIKwoxJUk8mdL8RCKOoiQIBYMEg37x45dr30z2YrEo6XRai/+GU6A5+TypcIiEz0My4CMZDBA+jxJLJInGFSLxNOFoitB5Qp5JAuG4+ArhiPIdSH2qVpDJZPny9TNLfxjpaBnjbfskbzp11Iwecq9zhdL2eSpfjfGwa4LGsa1LG92kaULP6wWT9tF8/ifAdDoDX/K0zR3zjxdGfnm9y7WObX4R+9fTRf72eI7Sjh5+6+zkfu8oD96Pcr9nhOqBcV58mBcFCS5E4XfA/MVn4Cuv54+49tJAyTsTxWIlPRauv1zjn3UT/L1uhn836Sh6t09hl4Xi7gNudFq4+95KJJHi80X+Rw4tVisuhwtL0Ma0bYF3n4boXRmh6+MA3UtDzB0tsezdZFg/ybhpltGdGd7K3vu1ERYOlwjFg2QlbdncFUOLxYzD7sSds7GjLPLBOsTA+huGNrvQ2cexpNcwKSsse2ZYOB5jfLuH2f0hdCfjWJVNjtwHJER2/oplwd6eCbvdTeT8E/vWFg4sz9nfa8Gob8RqfobF/AL74Uuc9leYdlpZXq5nc6MJl70Dj6tHWkdiIzFSqdSlZLN5D/vJKTn/OIGdCnb/KGF/8Q5mXQlbU7cImKrIe+rx7VWyM3+LrZnrGGZvcrReTOS4iQPzKi6Xh0wmfZVDyyWg4h8lZKvEvFrG7OA11mdv4diu5Py4hnN9G/HNN7jmW/nUeY+DqSZiG79zvvWO9LkHJZkmlUxeAppMuxxLUZLmZeK6tzinOjC8bcDY3YBn5hXKUh+xyQmSE7M43r1nubGZnfZXRIbHUWYXyITCApgk+Q3QvCcMXS6UDQPbzS8wtb8mMz2Hu2eA9abn+PtHUKamsXV1YpNeDAwPY33zmo3WFuJzc+SjUVJy/FTAvPRjgdVi4cTtJmXQ4+3twd3fh29wgJOebhxi0QlhMjVFcnoa8++/s9rcjKGtjcDQEGmdDpvRiEMIZTKZS4Z7JhPHTqcAGshKoF8YLDY2st7aSk4YKAIUm5zEOzCAp78fZ28vB8L0tK8Pv6z7Dg8JhELfh4QmWQVMy5ciAqaXr6+1tLAmgGpgXIJU0Mj4OHvCcLu9XXvH2dNDakFHPhb7q2SL2YxdlazfIjU2iqO7m+WmJi1HZ8IoqRZEQEMi0SRgu+1tGJ4/xy45Tcx+ICvjTSuKjDyNYUy6PJtKsuAI8uYgyCv9EVWDszwa0/Fu/4wuq0+efl5uO6ieXKJueoVasScft+mz+QnEk9IyCurUuri4oECdhf/NZxn0Jaly56jcOeU/0xsULuxQfRyn1pWmzpWh+jBK8aKFIt0upSv73Nly8MyTwZfMkpFTsrq2hsPhkHko5+9rLsPoaZzHElilP6FwcoWS2S1qrQGanEkaHQo1ez7KBKxi0UzFpz3Kl620OeL4kxnSwtDr9coUV1TA3CWgT6Hq4FyCdrg5vkzRzAal4j+xx2kQwHurNorn9JQvWSj7aOLm9DrNkgp/KkdKrgOVmCb5G+DIaUIAIzzcdnFrcpW7IuuhyUv9UVSzqm035cLutjC/I0wr9Q4a904JZvIaQ0W5Oikq4J8yy0ZEcvVRjOodDzfGlrTgKvFVhvXHsm7yUSEySxe2qRCWFWuHtB6FcYSjKPGYtE3qB6Am2atQ60zTYE9wfVinMXx6mpP8JandD2n2wOiiWnL5QNhVWwK0HAQwOdy4pY+Vb334cw5VwEcis3BqTZNVdxCmUS2KM6X5KrMyKUjZR1WykzZn4lJy6qfh8D2H3oQG+MDg4NfBeYrVKgurBmGoWo0wuiPFKJHbsXTeSPmaTQM8kyqnpLp/BcxmGDtL8ZvJT6lU8qbksEz6UGVTfxjhieS2QnqwZFZPyZyBO7JXqjPxWH9MIJ3//4DDvgT3jyKUrchtN7nMbZ2Re3o7j0/i1NljlK9L23zckcY2UrJooujTLk/MHmmb7BXgz0WRkzJpC9OkD9O6ecbTFTeNS06eGYK06P2XtiXrqx6ebfppXpZ98TuMfkKZz1ofqk2tFSWXkVv/a5boWIJoXYrzZoWzJ+cEGqIkWrK4anwcVjlQWnJ460PYH3lw1vqIPU0TeSnvHgVJJOM/7mUVMPNVEjsiZa/JcvrAjbFIr1nkUZhcQ0azRF2co3IbxkLZu20gcP+MbHsG776XZFpic1fXqAb4pwT0JQiUBNm/vY/phomdG7scFNkIV4ZJVac5u3vGrqyra1u/bnFYeIjSKCMrmCP/Oa9d9pd/X6rzJUdgMYD7rZuzwTPCw2H8g368/V58/T5SEynSE2lcvS7c793aWnwkTvpDmnRYJvVPP0v/A+pXfUBE8P7xAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/b0791b8ddaf93654107ed47ef0a85bdb/8ac56/image-20231118150807553.webp 240w,\n/static/b0791b8ddaf93654107ed47ef0a85bdb/d3be9/image-20231118150807553.webp 480w,\n/static/b0791b8ddaf93654107ed47ef0a85bdb/e32b8/image-20231118150807553.webp 862w\"\n              sizes=\"(max-width: 862px) 100vw, 862px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/b0791b8ddaf93654107ed47ef0a85bdb/8ff5a/image-20231118150807553.png 240w,\n/static/b0791b8ddaf93654107ed47ef0a85bdb/e85cb/image-20231118150807553.png 480w,\n/static/b0791b8ddaf93654107ed47ef0a85bdb/f0551/image-20231118150807553.png 862w\"\n            sizes=\"(max-width: 862px) 100vw, 862px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/b0791b8ddaf93654107ed47ef0a85bdb/f0551/image-20231118150807553.png\"\n            alt=\"image-20231118150807553\"\n            title=\"image-20231118150807553\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>Reference: <a href=\"https://learn.microsoft.com/en-us/windows/win32/debug/pe-format\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">PE Format - Win32 apps | Microsoft Learn</a></p>\n<p>In the end, I found that incorrect alignment of the <code class=\"language-text\">.text</code> section was the reason the PE binary could not be executed.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 597px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/b73e9b5004c56b33eb361ef77677cb41/17602/image-20231118155837570.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 88.75%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAACXBIWXMAAAsTAAALEwEAmpwYAAADQUlEQVQ4y3WUi27iRhSG/f4vUqlVpXTb3ahdKUkbEgJsgDU2Njb4BjYG3zAYMDf/PWcSo6iXkUae8Xi+85+bpdBxYVs2An+GaBkjnM+RxDH2+z1OpxPO57OYH9f1/p/veEp+OINlu9B1B5vNGnmeQxk6iKIUWZZhQsYc10MUJwjD8DoXiwWWy6V48pyTkDm9l6ZOF37gQ1EmSJIYMalrdRRMpwHG4zG9V+F5HiYTC/1enwyPoKoquq9ddDrfMBgMIMsDcc7fS4qiQ/4+gKrIGBkGdrsdquosnspAFjOJI7iOhV73ldQFsCcmrbtwbItCNSVDXQpVIMImWbYDY+IKa9OZj3pcLhd0+yqe2mTdW6A3MNHpaTCdEO2eimZHpvUcim6j9arAsOcY6C6kJFqQqykpcOF7DvJVSriK5hmN9hB/tD28aCl+b47x0+033Hd9fHnU8MNvTXxt2bht6PjxtoO71xkeeqTwLy3EnRriU2uMnx9V3DzreBxFaLsFZG2M7XolFGdZAmOkoyx3WOcZxXKIgpK4WecwDB373RblfgdJM4fof3/Ec1dHk1xxFyusDsAiL2GMLZFJHjFl2TTHVE4lVqsVTErAdkvw9ZrgOlVIgWK7hZQtXcydHjwqjSUFvCRLb0E8Yeq5VD6x2CZJAotK6FAe/gU0TVPAtgycBzN0nr/i8+cveGm94OH+HmmaiaS4joOi2F6Bo9FIFDwDjXcIAzVWWBRvQJ/SLvea+PP+AUEwv2b4dD6RIku4yiOKIugE3O32SLP0CsnzFYaahvVmQ8YLSMtlCLXfFIWqabpQUreUIxQWV4XsWvnu8keFXL9Xl/2Zh8bdr7i5+QXtVkt0Al9i6Gw6E+CqqigMqeiGw+Eg2pO7giEbUlbHc0vxl4pigyxZiJZLSQUf8DjSRW65siwFULhMbnIHMbx2k13WaM1gDoHESv5rHI/HK/CtbGJRNrznn0btJqvVqT6LOil8sU4EK+FZA13XFVmtqosAGgRhDxjILr8lJRfKr0mpgTXoIzDwfVTvitkly7YpphdhxKezI3nHim3Hpu9PtD/+P5CToSiKiI9NIFmW0Wg0hBr+fTWbL+KM142nJ7Hms78BBko3u8hD56gAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/b73e9b5004c56b33eb361ef77677cb41/8ac56/image-20231118155837570.webp 240w,\n/static/b73e9b5004c56b33eb361ef77677cb41/d3be9/image-20231118155837570.webp 480w,\n/static/b73e9b5004c56b33eb361ef77677cb41/9e35d/image-20231118155837570.webp 597w\"\n              sizes=\"(max-width: 597px) 100vw, 597px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/b73e9b5004c56b33eb361ef77677cb41/8ff5a/image-20231118155837570.png 240w,\n/static/b73e9b5004c56b33eb361ef77677cb41/e85cb/image-20231118155837570.png 480w,\n/static/b73e9b5004c56b33eb361ef77677cb41/17602/image-20231118155837570.png 597w\"\n            sizes=\"(max-width: 597px) 100vw, 597px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/b73e9b5004c56b33eb361ef77677cb41/17602/image-20231118155837570.png\"\n            alt=\"image-20231118155837570\"\n            title=\"image-20231118155837570\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>So I changed the <code class=\"language-text\">.text</code> section’s VA to <code class=\"language-text\">0x1000</code>, saved the file, and successfully obtained the correct flag.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 541px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/ea6ee3818254a07a1cd13899ed415fe6/9d576/image-20231118155912481.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 22.083333333333332%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAlElEQVQY04WOsQ6EIBBELRGxkgQUFSGilYUk/P+nzWU3OY+75oqXWdjZyTTbtuE8T+Y4ji8NISDGCPLs+87qvUdKiXfEMAyQUkIpxTTXdaGUgvu+mZzzMy/LwjjnsK4r5nnGOI7o+/6BQrqu+wRqrdlkrWWl4zfTNLHSP4XR2xjDATV1aEN1hRBo25b1H+SrG/02fAHBnmT2MCpUGQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/ea6ee3818254a07a1cd13899ed415fe6/8ac56/image-20231118155912481.webp 240w,\n/static/ea6ee3818254a07a1cd13899ed415fe6/d3be9/image-20231118155912481.webp 480w,\n/static/ea6ee3818254a07a1cd13899ed415fe6/fd5d3/image-20231118155912481.webp 541w\"\n              sizes=\"(max-width: 541px) 100vw, 541px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/ea6ee3818254a07a1cd13899ed415fe6/8ff5a/image-20231118155912481.png 240w,\n/static/ea6ee3818254a07a1cd13899ed415fe6/e85cb/image-20231118155912481.png 480w,\n/static/ea6ee3818254a07a1cd13899ed415fe6/9d576/image-20231118155912481.png 541w\"\n            sizes=\"(max-width: 541px) 100vw, 541px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/ea6ee3818254a07a1cd13899ed415fe6/9d576/image-20231118155912481.png\"\n            alt=\"image-20231118155912481\"\n            title=\"image-20231118155912481\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<h2 id=\"virtual-ramrev\" style=\"position:relative;\"><a href=\"#virtual-ramrev\" aria-label=\"virtual ramrev permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Virtual RAM(Rev)</h2>\n<blockquote>\n<p>I wonder what the old man is talking about</p>\n</blockquote>\n<p>The challenge provides a Game Boy ROM image as the binary.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/7c3918a404e15918018730a185e19e80/00d43/image-20231118161636073.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 4.583333333333334%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAABCAYAAADeko4lAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAU0lEQVQI12NwMnL4b6dl9d9Rzfa/rZLdfwc1x/82inb/A408/oeZ+/wPMfH676Xp8N9B1vS/q7LVfzcV6/920sb/7WVM/jvKmYFpEB8kZyao9R8AKzsgps7M9z8AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/7c3918a404e15918018730a185e19e80/8ac56/image-20231118161636073.webp 240w,\n/static/7c3918a404e15918018730a185e19e80/d3be9/image-20231118161636073.webp 480w,\n/static/7c3918a404e15918018730a185e19e80/e46b2/image-20231118161636073.webp 960w,\n/static/7c3918a404e15918018730a185e19e80/a5d4d/image-20231118161636073.webp 1000w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/7c3918a404e15918018730a185e19e80/8ff5a/image-20231118161636073.png 240w,\n/static/7c3918a404e15918018730a185e19e80/e85cb/image-20231118161636073.png 480w,\n/static/7c3918a404e15918018730a185e19e80/d9199/image-20231118161636073.png 960w,\n/static/7c3918a404e15918018730a185e19e80/00d43/image-20231118161636073.png 1000w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/7c3918a404e15918018730a185e19e80/d9199/image-20231118161636073.png\"\n            alt=\"image-20231118161636073\"\n            title=\"image-20231118161636073\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>This ROM image can be run, debugged, and cheated with using the BGB GameBoy Emulator.</p>\n<p>Reference: <a href=\"https://bgb.bircd.org/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">BGB GameBoy Emulator (current version: BGB 1.5.10)</a></p>\n<p>Reference: <a href=\"https://teamrocketist.github.io/2022/09/30/Reverse-WPI-CTF-2022-PokemonRematch/index.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">[Reverse] WPI CTF 2022 - PokemonRematch | TeamRocketIST - Portuguese CTF Team</a></p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/0c341f5cb688fece33d13281aade7ccd/51800/image-20231118220252864.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 96.25000000000001%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAACXBIWXMAAAsTAAALEwEAmpwYAAADeklEQVQ4y42UXUxTZxjH38hAWrBKS1tOz2nPOf2mQBVcSDaYCcHUZS6SMb9A/CiIRrPsZjdbsmUX7obsduAVF5Bd7HI3akxMlszExGw3uoEL0EJbGwwsUyhhKLR/n/dt+Wglxjf9n+c5z/u+v/M870eZQ3bAE/RBVmR4fX509V5E9/kBnLx4mTT4DrqM0wNXcSp6BZ/1RcHq6iSEm8KoDwYgyQpYdS2Y0QK23wZWRdZoLtZusepCzERzJImA4TB0TYPD6UKV7IHR4UZViXjMSH0m1Zfvl4v7DZIOq7cBzGa3I1AfguyQBLCyTsNeuyrspjbf9+70d7EcyjTNjYb3W+APBaA41aJJW0CbCrMvgCrFLfzSj3J/851pqo7w4WboXjcUl/pGFjsHl07mtsK6XZWBAxVFQVNjE5XsKCp5CyLtAi7EDA4dNZ7AVtYC6CRIE+2y1+OBompFpfIJRl7mznWSdRHnmfE+W6gB5YUsC0AnAsEg+G5LihPlNpcYsGVJpSVXUEY1Xr9Y0woaZ5TzHzXyTXHTcTl86CDcqhN+vw9mjaRuq8bl3T42m5LcAlZe6xLZmjQv3rNQMrVOsK+++R6//TGJX+89wK3f/8TtB49Jj4S9+3ACv9y5D4unEayyhg6uHWyfTRzgMrMCWzCEulAjnQA/zN4AXM2HwH78aRSJFeCvdAZPnv2PmRfAzHNgcuElpv7L4VFqGT1XvkBn1yl8fLIXx7rPku1BtcOH1s+PoP3sUUS/68fBSBs+OhMB+3l8DKJl1+mRKyiL2NQ/mJr8G4n4DJKJpFAqlUI8FsfKSgbN7RF8cv1TRAaOI/jhB9BbW6C1tICNjY0L3qv1dWRzOdBP+KmnaQI8RSKZxNxcAolEXrOzc/h3cRHB1na6vwfyS7BnH1g5+ZV0n8fH88B1guQ4jdrGxgay2Sze1r78+ltEuntwovcSus5dwgnS8TN92xnuBHJ/bW1NvHNwqXj74cYN9PdHcf3aNaH+aBQjIyMcOLYrkOttra2tDQaDARaLBdZaK8r2lGFwcBBsdHRUDFhaXqbFXkEmk8HS0jKt1SxisRjm5+exsLBQiC8Jra6uorOzE3b6p9LodumaDrPZjL7zF8A4dXh4GENDQ8Jyjdy8iYmJCUxPTwsoVzqdRpI2KB6PY5E2paOjAyaTSdwwDrZZrdD99XgNg7EdILJuLjQAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/0c341f5cb688fece33d13281aade7ccd/8ac56/image-20231118220252864.webp 240w,\n/static/0c341f5cb688fece33d13281aade7ccd/d3be9/image-20231118220252864.webp 480w,\n/static/0c341f5cb688fece33d13281aade7ccd/e46b2/image-20231118220252864.webp 960w,\n/static/0c341f5cb688fece33d13281aade7ccd/31d32/image-20231118220252864.webp 1196w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/0c341f5cb688fece33d13281aade7ccd/8ff5a/image-20231118220252864.png 240w,\n/static/0c341f5cb688fece33d13281aade7ccd/e85cb/image-20231118220252864.png 480w,\n/static/0c341f5cb688fece33d13281aade7ccd/d9199/image-20231118220252864.png 960w,\n/static/0c341f5cb688fece33d13281aade7ccd/51800/image-20231118220252864.png 1196w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/0c341f5cb688fece33d13281aade7ccd/d9199/image-20231118220252864.png\"\n            alt=\"image-20231118220252864\"\n            title=\"image-20231118220252864\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>When you talk to the old man on the game’s start screen, he tells you to check VRAM.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 952px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/9332f0e3fb55ed6bd11d7f3a379bee62/7e4a6/image-20231118220310677.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 27.500000000000004%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAABXUlEQVQY022MSUtCURiGLw2bFi1KC1NLyMohr0pIQli0SIj+QbQK/BltNYX6C91FReSME9ekjRINmmPaQBubtAxaFUT0du7RAqHFw/N933nPy3T0ySCe0KB3RIlOMneLh5uIWrTtcuqufjl6pArorRaIxlRQzZnI/1EozVNgBjRqGJdmMW4xYVCrhoTVQqLTYoidhFSva9tlBh1kRpbOCrMBK2vLUM9Pw2ZfBbswA6ttEUyiFEQ47UYk4wGf9+OgGES8EEAs60XobB98oXmLnnvgO9qlBI73yLsPkbSXZqMZH/XhRRhM9jGJXC2JRDGE8KkH+VoKuackUjdx8DlSTrj7LJCdR+jEje04h1jGj3w9hRoquP8q4uG7hCrJvOEWzAeqqKNMqJBAGc/EL7hs+YreBDcIr7imbhALNyH3i5B7J13Mxs4m7FtOrHOuPxz/mEJyDs7ZsqsNoUPo+gEKKz91N0t7awAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/9332f0e3fb55ed6bd11d7f3a379bee62/8ac56/image-20231118220310677.webp 240w,\n/static/9332f0e3fb55ed6bd11d7f3a379bee62/d3be9/image-20231118220310677.webp 480w,\n/static/9332f0e3fb55ed6bd11d7f3a379bee62/60b07/image-20231118220310677.webp 952w\"\n              sizes=\"(max-width: 952px) 100vw, 952px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/9332f0e3fb55ed6bd11d7f3a379bee62/8ff5a/image-20231118220310677.png 240w,\n/static/9332f0e3fb55ed6bd11d7f3a379bee62/e85cb/image-20231118220310677.png 480w,\n/static/9332f0e3fb55ed6bd11d7f3a379bee62/7e4a6/image-20231118220310677.png 952w\"\n            sizes=\"(max-width: 952px) 100vw, 952px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/9332f0e3fb55ed6bd11d7f3a379bee62/7e4a6/image-20231118220310677.png\"\n            alt=\"image-20231118220310677\"\n            title=\"image-20231118220310677\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>So I checked the VRAM information and found that the flag string was embedded in tiles outside the visible screen.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/11b0364474f91f08b8e195688743efa7/2e367/image-20231118220325629.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 74.58333333333333%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAAAsTAAALEwEAmpwYAAADB0lEQVQ4y3VTSU9TURTuToPMQgeGQtvXAdpXWmilEmSqNgpq1BgMxCHEgRgX/gARE13oSk2MG1y4MjEmEEGmOBAQUUwMInYQaCCFIgkGCOAC2Hzec19bUXTx5Z573z3f/b5zzpMNDr3Huw/DGBr+iE8jo/jq8+OL1wevP4Axrx9jbD85EcS4fwIB7zf4xvzw+ccxzs4mJqewsPADM7NhfJ+fx8rKCmSuAzUwOUtRsK8K9nI38ovLIJZUwOIqh7PKA3uZG2YW19TX4eSFBpxoOMtx/NwZ1DVexIOWR0jI1uNUQyN+rq1BlplvR3ymDq4jHhw+XwvnQTcKPZUwl5fCXX8MCqMFCVkCLjddxc2Ht9B0rxnX79/AtbvNuN1yB4+fPkFyjhGnL13B6ipTqClwIiXXxBJF2KoqUFl7FIKzGLm2ImSZbditzUOaLp+R6hGfoUOcSsuRkClgpyIXz9ra4fP5MPJ5FOFwGDKtrZgnpGnzobYWwuHZj+JqD1O6HzkFRUgXzJDrLVAwKA1ibK8yWpGqMaGr9yXmwrOcdG5uDrIc0cElEyGpSVYbOVJyjVx5qiYvBv49ck5xIqtdW0cnpqenEQgEMDU1JSmkl+jldJ0ZSpMVqjwrV0SQbwHt05kbuptlsfG8jq4epjCMYDCIUCgEmb5wr0TIyOQGC3R7HNA5HSxZhMIQAREKEcvsHhGSZXLRNzCIzc1NLC8vc8h0TGGS2sAtkC1uRyM1QrIsIU2IlISVh2xTTNPxun8AG+vrWFxawuLi4m+FcsEcs62I2YucMdD40MofY/Wm7yTkTf9bTri0lZCU0GXebQYipwRKjBJGY1KqyhOhYrWmpmwjFOyuP7pMCqKF5/v/QGkS+cBvJyx0cRKlwRppgMgLTsgW7VsaI63RMigjc9g38BdhSfUhxGfpsCtTy4tMK72cpNbzPSEhW5Bidi8uQ8PjRHa2Q6HGq75+bGxIhASZP+hHR08vWts72ZB2oZUNatuLLnR09/4T7WzuovHzzm6EZmbZP7zKR4YU/gK2TmxoUZJobQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/11b0364474f91f08b8e195688743efa7/8ac56/image-20231118220325629.webp 240w,\n/static/11b0364474f91f08b8e195688743efa7/d3be9/image-20231118220325629.webp 480w,\n/static/11b0364474f91f08b8e195688743efa7/e46b2/image-20231118220325629.webp 960w,\n/static/11b0364474f91f08b8e195688743efa7/fbb05/image-20231118220325629.webp 1066w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/11b0364474f91f08b8e195688743efa7/8ff5a/image-20231118220325629.png 240w,\n/static/11b0364474f91f08b8e195688743efa7/e85cb/image-20231118220325629.png 480w,\n/static/11b0364474f91f08b8e195688743efa7/d9199/image-20231118220325629.png 960w,\n/static/11b0364474f91f08b8e195688743efa7/2e367/image-20231118220325629.png 1066w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/11b0364474f91f08b8e195688743efa7/d9199/image-20231118220325629.png\"\n            alt=\"image-20231118220325629\"\n            title=\"image-20231118220325629\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>After cutting and pasting those together, I obtained the following string.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 810px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/514d8abbf489c3fad427953de638397b/d7542/image.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 9.583333333333332%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAACCAYAAABYBvyLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAkElEQVQI1w2N2QqCUAAF/az+oJAgQsRyzeW6ZrjVNZGIHkqif57u2xmG4WjuINjnLslc4l9T7CamXySBTImmEq9L6ZYbwSgwKg+/zdkJh/YrWek6Zhky/Ebqd8faNdDMImRjW1hlrOKc41kwfGbFEYcqQdwv1M8eMdV4bcapUydNRiQrtq6jdkHxaKhfPYFyf94HWKZyXzYEAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/514d8abbf489c3fad427953de638397b/8ac56/image.webp 240w,\n/static/514d8abbf489c3fad427953de638397b/d3be9/image.webp 480w,\n/static/514d8abbf489c3fad427953de638397b/385bc/image.webp 810w\"\n              sizes=\"(max-width: 810px) 100vw, 810px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/514d8abbf489c3fad427953de638397b/8ff5a/image.png 240w,\n/static/514d8abbf489c3fad427953de638397b/e85cb/image.png 480w,\n/static/514d8abbf489c3fad427953de638397b/d7542/image.png 810w\"\n            sizes=\"(max-width: 810px) 100vw, 810px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/514d8abbf489c3fad427953de638397b/d7542/image.png\"\n            alt=\"img\"\n            title=\"img\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>At first I could only read this as <code class=\"language-text\">INTIGRITI{H3r0_0F_tIM3}</code>, so I had a hard time getting it accepted. Then a teammate made the sharp observation that all of the vowels might be written as digits, which led us to identify the correct flag as <code class=\"language-text\">INTIGRITI{H3r0_0F_t1M3}</code>.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 227px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/ca46cc16b5c9353dffabf686c696a91e/9b5be/image-20231118220400153.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 39.647577092511014%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAAsTAAALEwEAmpwYAAABKklEQVQoz51QXU/CQBDsfzEGg0box12vFEpbCqUipEGi4cMEhBC0KQREY/TRxL89Xq9po/HJPkx2sjczu3sSYRb8YIC2fw3H68Ju+Qh6QwzCWwRXoYBZd0D0htAknHKP2Wih6XZguz50w0JV0SGrDJJpB9jujoj3L1gsN1itH/EUHfH2/ol494zZ/QO8bh/hzR22+1eEozF6/RGGownG0wXXR0JzWSVpYJJ8dkFQrhgg1OTTG6B6HSqpCciaIYQJ12hd8MSj8H5WCdfnG56UVHzEDr4OTSjMhUaYmJYI/kCmufFnrfB+xqXSuYb11MRhbuK0rPBmuvp/kW9I+Bmk1kGFtmDZnjg5eywCiRkuFqsN5ssIk9kSttPOP7hIsJQamfgHVav9CikS+A2dPhFpnnCgbgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/ca46cc16b5c9353dffabf686c696a91e/7d72c/image-20231118220400153.webp 227w\"\n              sizes=\"(max-width: 227px) 100vw, 227px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/ca46cc16b5c9353dffabf686c696a91e/9b5be/image-20231118220400153.png 227w\"\n            sizes=\"(max-width: 227px) 100vw, 227px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/ca46cc16b5c9353dffabf686c696a91e/9b5be/image-20231118220400153.png\"\n            alt=\"image-20231118220400153\"\n            title=\"image-20231118220400153\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<h2 id=\"crack-me-if-you-canrev\" style=\"position:relative;\"><a href=\"#crack-me-if-you-canrev\" aria-label=\"crack me if you canrev permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Crack Me If You Can(Rev)</h2>\n<blockquote>\n<p>Can you slay goliath?</p>\n</blockquote>\n<p>Looking at the EXE given as the challenge binary, I found that it was a .Net program.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 577px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/e06157b85f48fa1f1e569258f74c65e0/065e2/image-20231119151731960.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 74.16666666666667%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAAAsTAAALEwEAmpwYAAACuUlEQVQ4y3WUy05aURSGGToTEqNBMQph0KYJSaHGIW/gCzggJDAiPARjSIytCikJMalzB45ojEFlolyVmxU4XLyAgNzEO8nfvZbFemlP8mdn733Ot9da/9pHNj09DdLk5CQ+fPwE19J3/PT74Rfa3t5+p0Ag8EpbW1vY29uDw+HAyMgIZARTq9WYmJjAZ70BmayEu7s7XFzUcHl5iXqtjppQvV4XaxdibKDVav2Z13ikZ+3HGoaHh18DDQYDUskkzs7OIEkSstkcTk5OcH5+zms0FotF3iuXSiiXy7ze6/Xg8XigUCjeA8PhCApSAVJeQjwWF5AKut0uOp0Oj4VCURyU5YMITIfc3t7+D/gFkUgU+XyedXyc5TQpRVK73ebDMpkMR5o4THAWvetrLC8vPwEJptFooFKpMDMzg6OjI1GzGoPaIqqrqysGkSjKSqWC09NTrh+lS+/2+314vV7I5XLIKLLx8XF2SKfTIRQKCegvBlMkyWRKRCvxh6RGo8FmDeaU8v39PXw+3xNQr9fDaDRidnYWc3NzODw4QCqVRqlU5holEgmOiAxIp9MMoXTzuTybQXudTvcvcHV1ldMqCdeq1SoeHh7Qf3zEoxClQqe/FbXVxsYGFhcX4XK5sLCwALPZjLGxMchWVtyckiSKHY/FRJPuC6fDCO2HsC9EUaXTGWHQMZchmUhytCaTCUNDQwyhcimVSr4gMrKbYNR/0WiM4fQBpUV6aub6s2h+LVy12WwM02q1bCqZOzU1BdnXb0vcV1QLKji1R7PZfG4VMoDWB+LbI8AWiwWjo6MMG1xfjtDt9iCXy3FkBKKXXwJe6uWe1Wr9N3B9fZ3v4s3NDRd7UHRKi8yikeYD0Xv02O12rt07oNPpFLWL8p8kGAyydnd3+W9DTm5ubj6vk3Z2dti0+fl5ruFb4G9P1IhZQRMjjAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/e06157b85f48fa1f1e569258f74c65e0/8ac56/image-20231119151731960.webp 240w,\n/static/e06157b85f48fa1f1e569258f74c65e0/d3be9/image-20231119151731960.webp 480w,\n/static/e06157b85f48fa1f1e569258f74c65e0/d261b/image-20231119151731960.webp 577w\"\n              sizes=\"(max-width: 577px) 100vw, 577px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/e06157b85f48fa1f1e569258f74c65e0/8ff5a/image-20231119151731960.png 240w,\n/static/e06157b85f48fa1f1e569258f74c65e0/e85cb/image-20231119151731960.png 480w,\n/static/e06157b85f48fa1f1e569258f74c65e0/065e2/image-20231119151731960.png 577w\"\n            sizes=\"(max-width: 577px) 100vw, 577px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/e06157b85f48fa1f1e569258f74c65e0/065e2/image-20231119151731960.png\"\n            alt=\"image-20231119151731960\"\n            title=\"image-20231119151731960\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>When I ran it, a GUI asking for some mysterious input appeared.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 486px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/46d7cf6b311b0324bcb09492c8817481/4ee7f/image-20231119151941971.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 21.25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAqElEQVQY023LYQqCQBAFYO9/mQ7QBfohQoJrlqS7C7qrZJru6lLwmhSCzB8fM7w341VaQAoOyTOaObQq0A8dnLNwk53nNBmy7Guf7okXmpih3O/g1XWJprljHEcYY4iFtb+cc3O/zr+o67sB5qHgnXMOnwnEXCPK1MqSHcIUQSLA8mrjRlGuEFw0bq2GpxqFk5CEE7HJjxjCNEUi6Y7/9wn9Hq8CbV/gDbehKWcPOUFNAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/46d7cf6b311b0324bcb09492c8817481/8ac56/image-20231119151941971.webp 240w,\n/static/46d7cf6b311b0324bcb09492c8817481/d3be9/image-20231119151941971.webp 480w,\n/static/46d7cf6b311b0324bcb09492c8817481/aba12/image-20231119151941971.webp 486w\"\n              sizes=\"(max-width: 486px) 100vw, 486px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/46d7cf6b311b0324bcb09492c8817481/8ff5a/image-20231119151941971.png 240w,\n/static/46d7cf6b311b0324bcb09492c8817481/e85cb/image-20231119151941971.png 480w,\n/static/46d7cf6b311b0324bcb09492c8817481/4ee7f/image-20231119151941971.png 486w\"\n            sizes=\"(max-width: 486px) 100vw, 486px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/46d7cf6b311b0324bcb09492c8817481/4ee7f/image-20231119151941971.png\"\n            alt=\"image-20231119151941971\"\n            title=\"image-20231119151941971\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>When I decompiled it with ILSpy, I found that several fairly complicated-looking functions had been defined.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/4acfa90e0dbe16475238c6b0dc214282/ec3e2/image-20231119152052196.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 110.83333333333334%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAYAAADAQbwGAAAACXBIWXMAAAsTAAALEwEAmpwYAAADM0lEQVQ4y42V6XLbOBCE9f7vsg+yf5JUss5aFsVbEm+KB0ACBNnbgCxHcarWZtUUIIn8ONPTA+3yokLX92jaFpOcMCsFOSsIKWGWBVgXaH6epxmKv2mtsa3rH7EaA8PYRUmGS1bifClQVQ2KssYpq1AUJaL8ir++nfEUnZEVOdK8wKUsUV87VNerW0smYvdtP6AbRuzSJIF/DJBwDcMIQRCi4IP2GqTA1/ALgvwHBpGgFyE66eMqPDTjAa1bX9AMBwyTD6FCAtMEnuc5mO/7OHI/CuGAi5bo6gSiCjFWHrougNE+VQiwmdCF0SHvjN6CwBT75z3iKHZZBkGALMuwrhv1mjBcE7RlDFkfWPYRYx9CiQhaJowY0xhTP8LB2AisyoLAZ4yjIGR1otuwl2aGkg8PzQWm9tDWR2Yd85f3ERF2y3Snp4GiV/g70ryZHdw23C+lJL8L0bcZxjKCqF9YogWEDvAYd+hOzxKXc8rOlsxyfAXeoEpb64QsK8HYRoyA+p1oE0K35FdmLPUeDpifI9R1hZ5+XOg96yer4TQJBxRdApkfMVQvyLM9dQ0wDYHT7n22OyFGVE1DHwkaWruwWtpEFV9m1IlinlFnz7ik39GUz9BTCjOnvCf+rcNOw2VhNnzYZmSs47neddRqIjDljtYZjkiCb6zmJ0pmqSSB7LKWEfcxZnZ7Wwl8bML9+gWUN+CWurUt9xivHjUNXLMMja2kBznSTnzhurJkW94d8hj3Lq/qDMMS8/M/qPN/sUxsxpa/NiV9iMTpubMlPmb1uH8Dzidkpyfkp++o8gNkH2GlhkbEztwzXbDM8eeArinmgq7xUBc/MbRHlhzdYJ0POYT8jtMjX5vyf0A7KWqm6CKF4shNPCAMM8Z6eVdu6ibG2eYj4MRMxvaCpfU5MT7qxoIjLMr/w4MfZqhom02nLLVEkUbosyeUJ9rm/OOtxBvsNiXbpzTUkRO9oLGLyup4wMRjTE+/m/qTGRJorPAJx87HyMaM9KDmeaiVx4Hgueji4XD4uMu0BadCECirPUTv8z8moJkJ7w9uNSb4HPBtUjhSM4/40drEetB22jwEZ9rqZ3X8Dwubm1ObtufEAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/4acfa90e0dbe16475238c6b0dc214282/8ac56/image-20231119152052196.webp 240w,\n/static/4acfa90e0dbe16475238c6b0dc214282/d3be9/image-20231119152052196.webp 480w,\n/static/4acfa90e0dbe16475238c6b0dc214282/e46b2/image-20231119152052196.webp 960w,\n/static/4acfa90e0dbe16475238c6b0dc214282/c5bb7/image-20231119152052196.webp 997w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/4acfa90e0dbe16475238c6b0dc214282/8ff5a/image-20231119152052196.png 240w,\n/static/4acfa90e0dbe16475238c6b0dc214282/e85cb/image-20231119152052196.png 480w,\n/static/4acfa90e0dbe16475238c6b0dc214282/d9199/image-20231119152052196.png 960w,\n/static/4acfa90e0dbe16475238c6b0dc214282/ec3e2/image-20231119152052196.png 997w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/4acfa90e0dbe16475238c6b0dc214282/d9199/image-20231119152052196.png\"\n            alt=\"image-20231119152052196\"\n            title=\"image-20231119152052196\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>The <code class=\"language-text\">Main</code> function decrypts encrypted byte data and retrieves methods via <code class=\"language-text\">executingAssembly</code>, so analysis seemed difficult in that form.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 875px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/cddd0aff1a0823739e21eafecee035ad/71c8e/image-20231119152411152.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 56.25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsTAAALEwEAmpwYAAABkElEQVQoz4WSbXOaUBCF/f+/qp1OaxNtjRFReROkwYlyeYuCgvB0cUwanNh8OMNe5vLs2bP0jkcHL9DZKh0qh6p0aCqbSlQ3Ls2VwOvU1+qVpUuqbOLnCUU2o3hZcIw0inxxubR6J+8m6A1YNx55prNeP7BRY7bbEWozJskWpNmcJJkRhhoq1CnF/acOaXxiNWNu3mPbX1lZ31jMRYsv6Pp3DGMozR6J1ESAdgf4URw9TmvSaIpj3QmwT/Q84s/qjpXXJwh+k+eS68nneDQlV+cK6HVyvQADVKJjOkMs8we+P+BJHNn2PduNRhwZ7HaGXPYvup1fCz07TJSGafzEEOBSnKlggLfs47oDlstf0mREFE0I1SNFYbLfz+VpderXfHtN9URZOESyjCAYEiVT6oPJqbRkzFbO+YODvMtzg7p2Rcu3sd/XF2BAlZvsEo001sjSKfv2vDcEYpxB3d/nk5Gb2qfMLaJwyks4Josn4soWUDuGdd7sra1+uOXW8kEAu53NSbbYnv856nb/n7tX/QUtpj/7AvRi4QAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/cddd0aff1a0823739e21eafecee035ad/8ac56/image-20231119152411152.webp 240w,\n/static/cddd0aff1a0823739e21eafecee035ad/d3be9/image-20231119152411152.webp 480w,\n/static/cddd0aff1a0823739e21eafecee035ad/a1ca4/image-20231119152411152.webp 875w\"\n              sizes=\"(max-width: 875px) 100vw, 875px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/cddd0aff1a0823739e21eafecee035ad/8ff5a/image-20231119152411152.png 240w,\n/static/cddd0aff1a0823739e21eafecee035ad/e85cb/image-20231119152411152.png 480w,\n/static/cddd0aff1a0823739e21eafecee035ad/71c8e/image-20231119152411152.png 875w\"\n            sizes=\"(max-width: 875px) 100vw, 875px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/cddd0aff1a0823739e21eafecee035ad/71c8e/image-20231119152411152.png\"\n            alt=\"image-20231119152411152\"\n            title=\"image-20231119152411152\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>So I used ExtremeDumper to extract the decrypted binary from the running process.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/0eb561cbaa0df77e99fe4b6d0bbcd708/0fb99/image-20231119154338120.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 45.416666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAAsTAAALEwEAmpwYAAABq0lEQVQoz02Sy27qQAyGAyRISGXBhpL7bUgCSYYEkkJFK7roZVGp5/T9H+avbTVRF7+ceGyP/XmMSmukagutD2jbFvv9XlRVFcqyFLvb7UR8ztKUw2d1XaMgf57niONYZKR+gNXyDo7rIApDbDYb2I5N/y5cz4XneXAcB+v1PaIoQpIkCCnO930EQUD+NVarFRaLhchw3hS6zw4JBdwtl7AsC7PZFPP5HKZpYjKZkJ1hbpmYTqekCaxf/8zk2CHGFBmxztFcejxdn9F1nYySZRne3z/Q9z2NX+Ly0OL/1yua9oS2afD97wuHg8bj7Q2XxyuSOJJuWYaKE+zygljtiU9Dth6ZMT8uvt1u6btEmqbCqWk0jkeNSjc4nTo5ZwyMxLCJj+t60FVGcBU5Y0pMJJmDXGLpE2fP84Uny7btka0j+e7I1Fg7PurjA9IkpSIKt9sLbbGWWzkgDCPZ6vl8lm55s9w5X8hTKKXG7tgaMY18fb4JB0VFmvaImhKGMVicxE+JLT+RoijkMv4fts4FZeRM+Xh96eH5we9z8Mb2h6DhmbAd4A/+v92xfgAxvPttymqUuAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/0eb561cbaa0df77e99fe4b6d0bbcd708/8ac56/image-20231119154338120.webp 240w,\n/static/0eb561cbaa0df77e99fe4b6d0bbcd708/d3be9/image-20231119154338120.webp 480w,\n/static/0eb561cbaa0df77e99fe4b6d0bbcd708/e46b2/image-20231119154338120.webp 960w,\n/static/0eb561cbaa0df77e99fe4b6d0bbcd708/32b94/image-20231119154338120.webp 965w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/0eb561cbaa0df77e99fe4b6d0bbcd708/8ff5a/image-20231119154338120.png 240w,\n/static/0eb561cbaa0df77e99fe4b6d0bbcd708/e85cb/image-20231119154338120.png 480w,\n/static/0eb561cbaa0df77e99fe4b6d0bbcd708/d9199/image-20231119154338120.png 960w,\n/static/0eb561cbaa0df77e99fe4b6d0bbcd708/0fb99/image-20231119154338120.png 965w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/0eb561cbaa0df77e99fe4b6d0bbcd708/d9199/image-20231119154338120.png\"\n            alt=\"image-20231119154338120\"\n            title=\"image-20231119154338120\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>Analyzing the extracted binary with ILSpy then made it possible to inspect the code for the GUI shown when the program starts.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/3a3c4fef84584e805954c6c65c906935/c56af/image-20231119154629810.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 103.75000000000001%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAVCAYAAABG1c6oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAC4ElEQVQ4y4VUi26iUBTk/3+qm266u01tTa0VUd4gLxFRXgri7FzUrK2PNZlcA7mTmTlzkCzThmlasG0XDqFbLuSZgzC2EacWVrmLrPIOKGf/heQ6DgxdJwyoUw1pusC+sXhOkK1kbKsJ0GrYtyoAgzDvQrJtG9OpCt/34Tou4jhCXpiIEhX5WkaRjVGKMx9j1xrY7627kOaRjzDwscfh1zQ1wZe8vF6PkCSfKAoFzU7nW3HJ7M5bkKoiRxwFtJhit2vRtg0JTeSbCba1zmf60c6JzLxLLBXZGnHgYpEk2Gy2JKhRVQbyTEG6HPH5iBFM6eBwYX9Gdo1UKvIMsj5DUW6Olre0aMBzX+E4RDCAH/SxXJG4VO+SdYR1XWPqxAjCiHZbKmwIUaNfGI0fYdi9jjCM3rpTqK3r23lKTbNDNI843RiC/JDhgVBRHmDZb5gnMjMecEBDlFTZtncsC1VhEMF1XU4144W8I7SsJ9bpkecL1b9jyYmX1fSL5auE2XqN0A/YQ48KEg5j1RE67h9MtUfo+jM0872rT5bJx6nfydByZjC8GFaQwAmXSKhSZOg4vzFWftDyMxactuhkXrDklbBs3FQppasMy3yLVKCoOcmqU+hSoTx+gKrStvPMjJnhSkGSjvle+6LynFTa7087cvi17WFTDOMnZPmJlnvwvD6rNEFBdXmlsWIKs1aOCv8pFeiGIihPxKLYdc1dnvdp+5PDEB8Fh7DPcLJ42hz765TxjbAsLeTJhCv5gSgcIvb78AL+j4fIc5kbpXGbrA6bjYCKTa1i2+jXCYXCihYXSxnzmLktVMQLhX0csY8fJFU7snpL1AIaauba7IxLwpaERWGhoNVsNUbKMteFTOsyKtYmS4fMcnL2oTAvi32hkEMp2LtkPoDn9zCbvXD1Bl1lxITF6p1vy8VQvhM2OxtNpSDwXtnDHjfpDRvx5f5W4purdy1DEbwoc7ZWmJd2Vc010r8LiDzSO80mpwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/3a3c4fef84584e805954c6c65c906935/8ac56/image-20231119154629810.webp 240w,\n/static/3a3c4fef84584e805954c6c65c906935/d3be9/image-20231119154629810.webp 480w,\n/static/3a3c4fef84584e805954c6c65c906935/e46b2/image-20231119154629810.webp 960w,\n/static/3a3c4fef84584e805954c6c65c906935/5e57d/image-20231119154629810.webp 1231w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/3a3c4fef84584e805954c6c65c906935/8ff5a/image-20231119154629810.png 240w,\n/static/3a3c4fef84584e805954c6c65c906935/e85cb/image-20231119154629810.png 480w,\n/static/3a3c4fef84584e805954c6c65c906935/d9199/image-20231119154629810.png 960w,\n/static/3a3c4fef84584e805954c6c65c906935/c56af/image-20231119154629810.png 1231w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/3a3c4fef84584e805954c6c65c906935/d9199/image-20231119154629810.png\"\n            alt=\"image-20231119154629810\"\n            title=\"image-20231119154629810\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>Reading the code in this <code class=\"language-text\">Main</code> class, I found that it checks whether the output obtained by passing the input string and the predefined byte array <code class=\"language-text\">enc</code> to the <code class=\"language-text\">unkownMethod</code> function matches the string <code class=\"language-text\">WhatAreYouDoingToChallenge</code>.</p>\n<div class=\"gatsby-highlight\" data-language=\"c#\"><pre class=\"language-c#\"><code class=\"language-c#\">private void Button1_Click(object sender, EventArgs e)\n{\n    string @string = Encoding.UTF8.GetString(Resources.enc);\n    if (Operators.CompareString(unkownMethod(TextBox1.Text, @string), &quot;WhatAreYouDoingToChallenge&quot;, TextCompare: false) == 0)\n    {\n        Interaction.MsgBox(&quot;You Solve It&quot;, MsgBoxStyle.Information, &quot;Nice&quot;);\n    }\n}\n\npublic string unkownMethod(string textToScramble, string password)\n{\n    StringBuilder stringBuilder = new StringBuilder(textToScramble.Length);\n    int num = checked(textToScramble.Length - 1);\n    for (int i = 0; i &lt;= num; i = checked(i + 1))\n    {\n        int index = i % password.Length;\n        char c = textToScramble[i];\n        c = Strings.ChrW(c ^ password[index]);\n        stringBuilder.Append(c);\n    }\n    return stringBuilder.ToString();\n}</code></pre></div>\n<p>The <code class=\"language-text\">unkownMethod</code> function in turn calls another function named <code class=\"language-text\">checked</code>.</p>\n<p>The code for the <code class=\"language-text\">checked</code> function was not included in ILSpy’s decompilation result, but judging from the later processing, it just XORs the input characters with <code class=\"language-text\">enc</code>, so it seemed safe to ignore.</p>\n<p>I was able to obtain the flag with the following solver.</p>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\">ans <span class=\"token operator\">=</span> <span class=\"token string\">\"WhatAreYouDoingToChallenge\"</span>\n<span class=\"token keyword\">with</span> <span class=\"token builtin\">open</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"enc\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"rb\"</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">as</span> f<span class=\"token punctuation\">:</span>\n    enc <span class=\"token operator\">=</span> f<span class=\"token punctuation\">.</span>read<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token builtin\">len</span><span class=\"token punctuation\">(</span>ans<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token builtin\">chr</span><span class=\"token punctuation\">(</span><span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span>ans<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span><span class=\"token operator\">^</span>enc<span class=\"token punctuation\">[</span>i<span class=\"token operator\">%</span><span class=\"token builtin\">len</span><span class=\"token punctuation\">(</span>enc<span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>end<span class=\"token operator\">=</span><span class=\"token string\">\"\"</span><span class=\"token punctuation\">)</span>\n    \n<span class=\"token comment\"># intigriti{You_Are_Amazing}</span></code></pre></div>\n<h2 id=\"escapegame-hacking\" style=\"position:relative;\"><a href=\"#escapegame-hacking\" aria-label=\"escapegame hacking permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Escape(Game Hacking)</h2>\n<blockquote>\n<p>Your trapped inside a box. Can you escape it and do the reverse to get the flag?</p>\n</blockquote>\n<p>The file given as the challenge binary was a Unity-made game program.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 660px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/3e252e0f698c886e254254623299975f/1f083/image-20231119111623490.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 34.166666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAAsTAAALEwEAmpwYAAABJUlEQVQoz1VRW5KCMBDkICIPRQIRLOQVQF1ZtdZT7N/e/wi903FDrR9dmWSanunGy3ONKIrg+z7W6/UbgiBAnucoigJ5lmG1WiFJEux2u4WvlLLfkxuGITzTtzDGLA0ijmML1hRI09SefNtsNlbQ9Xl3tRX8+b5jnmdcr1f0XSeE+E2wqiqM04RhGHAoSxFX+LhcoLW2Ao5LcEvvPDVCNmjaFpnYiqLQEh1I5Hbb7VbqlwPWbiOCQovlum7s9K5rocQaLfwnKpWhLA8oi9JuxX5T1zJcwV9y1tCSNTP1vp5PPO4PzGJ5kCz3+/0ynQRaPp1OML1BfTxKfilunze0bWOzDIQ3jpMdwh/laRFggzYowEe3Pk9aftmNl5/GO8Eowr+7y/AXIGjMl3is12QAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/3e252e0f698c886e254254623299975f/8ac56/image-20231119111623490.webp 240w,\n/static/3e252e0f698c886e254254623299975f/d3be9/image-20231119111623490.webp 480w,\n/static/3e252e0f698c886e254254623299975f/cc661/image-20231119111623490.webp 660w\"\n              sizes=\"(max-width: 660px) 100vw, 660px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/3e252e0f698c886e254254623299975f/8ff5a/image-20231119111623490.png 240w,\n/static/3e252e0f698c886e254254623299975f/e85cb/image-20231119111623490.png 480w,\n/static/3e252e0f698c886e254254623299975f/1f083/image-20231119111623490.png 660w\"\n            sizes=\"(max-width: 660px) 100vw, 660px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/3e252e0f698c886e254254623299975f/1f083/image-20231119111623490.png\"\n            alt=\"image-20231119111623490\"\n            title=\"image-20231119111623490\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>Launching it shows a mysterious object surrounded by walls on all four sides.</p>\n<p>For now, it seemed that escaping from this walled area would allow me to get the flag.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 800px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/2cf73998ee28dbf4255d2481c387d767/5a190/image-20231119111733734.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 78.75000000000001%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAAAsTAAALEwEAmpwYAAADd0lEQVQ4y3WQ/0/UdRjA7y8oDzju4FCO9I4L7rsHJzhLq2XqSAnjgBRG06H9UAslQQ9RIKko8Ft+YQTmxJWbrKi0QHYgkQ6paM4pBHjM0OPKmkvK4sur9+fusKPRe3vted6fz57X87wf2cVLffR838/1wVH6h73cGLrzH24/zKX//cNjDNz08aPHx+DIL7O4PuRDtvNIK67jHew43EbRgS/ZXnuObTVfULT/XIAD53njYCvFhy+w84gbV10XZR98Q/mJHipOfkflqR+oPH2N6rMDNLSNINvxdiOlh5opO3ae8oYOKj7sZm9jNyWiya76i7jqu9ndeJm9J3upbOqj6mNR3DxAbcswx1tvcebSGN0D9/DcfcD41DSyovJDlOw7SknVMVzVDbhqT9PQcpmrnl/p7fdyZfBneobucuXmb/SO3KP31u98OzrONe+f+O5P8BeBMyWQctl2ISwWwuI3j7LrrTpK36mn4mATN4ZvM9eZFkyE3B9MT3N/YoLxyUn+mJoSOxSSPTUnKK2up7BsPwWF5Thffp2czds40/wZF9xf85W7i8/dnbS0u/m0vYNP2jvp6bvK6JiPv0Pkk9KEL2zYwopV67EteQqrYzn2lBVY7SnYFieT5FhKUsoyDGY7qcueZs3aTFanrSct3UlGdj4Zzo3k5m+i6t0a2jq78NzxIlNERqHVG1j65LOkZ+aRk/8K2XlbycotwClYJ741fXSWfe+9jz7RQlLyEuz2ZKyLHZhtyehEbXyCidQnniEnrwBZRlY+uZtfE7zqlzmDImfuFjI3FvDihk14fvJyqrkVrVaPwWgm0WAmwWAh0WjBaLaJF9hEbsVksSNbmeZk5fMSWTy3NptV63JYLZH+kp816Tnsqa5ja+FulEolsZqF6MVE+gRjICaaeDwx0CBBNJKFK6IJV6iJiIxBoYwhQjUfRVQskdEalOo4IkRusjpwpC4nOiaW+Rodao1eEB9EFySeGIEsLEJFWHgAebiSR8MkInlEPoMCuTwczUK92LWJOJ2ZWJ3lfxHCKGaQz8E80USpUrMo3sginUEITcRqLWi05jkJCP3TScVSVAViiFChWoAmXkj8U5iDSNJQceAeIhQiSRIUzkjniRUoouOE0CokVr9ogXa2ODT6hQ9lEf9OKQ8KpZ0q1Y+h0duCRUKqtfqfHcA8K/8HsJzCEkWoeHEAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/2cf73998ee28dbf4255d2481c387d767/8ac56/image-20231119111733734.webp 240w,\n/static/2cf73998ee28dbf4255d2481c387d767/d3be9/image-20231119111733734.webp 480w,\n/static/2cf73998ee28dbf4255d2481c387d767/d00b9/image-20231119111733734.webp 800w\"\n              sizes=\"(max-width: 800px) 100vw, 800px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/2cf73998ee28dbf4255d2481c387d767/8ff5a/image-20231119111733734.png 240w,\n/static/2cf73998ee28dbf4255d2481c387d767/e85cb/image-20231119111733734.png 480w,\n/static/2cf73998ee28dbf4255d2481c387d767/5a190/image-20231119111733734.png 800w\"\n            sizes=\"(max-width: 800px) 100vw, 800px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/2cf73998ee28dbf4255d2481c387d767/5a190/image-20231119111733734.png\"\n            alt=\"image-20231119111733734\"\n            title=\"image-20231119111733734\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>At first, I thought I just needed to use CheatEngine to locate and tamper with the memory region that stores the coordinates while moving, but after repeated trial and error I unfortunately could not find the target memory region.</p>\n<p>Next, as another approach, I considered modifying the game’s objects.</p>\n<p>Reference: <a href=\"https://tripoloski1337.github.io/ctf/2019/09/09/reverse-engineering-unity-game.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Reverse engineering unity game | tripoloski blog</a></p>\n<p>Under Unity’s default settings, the compiled .Net program is placed at <code class=\"language-text\">&lt;Project>\\Managed\\Assembly-CSharp.dll</code>, so I analyzed that with ILSpy.</p>\n<p>Looking through the modules, I found a class named <code class=\"language-text\">MyCharacterController</code>.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 489px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/8bd81913b07a0eff9b1c4723c0dd0526/03e1f/image-20231119131415199.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 200.83333333333334%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAYAAAD+MdrbAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEHklEQVRIx51WyY7jVgz0/1/zCQECJDnlmFsW5BIkh55xy7L2p92ytVibd9WQ1Hjg9Bg9UgQ8qw2rS0WyWOTifD4jTRLsshS73Q77usbjNQwD5lyL2+2G0+mEri7Q9x3SNEVVVWjbFjcCG96cb72EAK84EmBbREiiELpuwDItYfvs+hbjxfV6BZ++rVEVOyjHwGq1RlkUOBwOaOoGNaWh6zrcbhMYjoAX8LPnrkQZ6nC9ALZpwvMUlOchiiI0TQNOzyzAY1sgDzQYpoPV6yscx8VaXyMMQsnnjJBHwEtfoYzWsB0F27LguR6KspxXlHsOr9cb9vsKceDBdV24xI7DnCshARwoN3V3xF9aBIuY6auVAIZhRKFrWGkrkdYd9D22AsjJ7o9HaD6xcxw4tiOARVEKS9YlPzcdcLjhfLogUjGShE+KbJPhcrm+G96zFAgg660tN0jjBAmd7XaLnIRdkBbrfU253cvh7qnpzqzP58tzhpfLRUKyXCXF8Oiw9liDokWq9Jme4ec4j/zyI6WHi/gUkNXftQ3+MTcIwpjazqQc2nAsm4qjkxYdMo+xv99G+DRkLkhHobw4GZQfiv5Mw4RSvoTLbPbVfmy9CUYhgE1Tw4gKCk8JGFd6Tf3c0ItmmwMDtl2P/cZBHPqkQxs+sevaDnfRP8plgn3dpHoeuUwYjICcxziOKY8WAj+QcIepvTwCdgh9ZuYJIIdskica6/UXgQvQA8t3AbkokW8Rw0BkwiCKZBOQy3BRZvWyMGxaWMRKKSW2pZNlsd4egWaFzDmyqRCB78P3FYWuhOXhM7upYA+yaVGEGjzbhEGyMdeG3Hmu8G8zqzxIDg2yfbYujeyKtWiLjenSIbOHFA+hIlVSFG45LgyDB/SdGXJKWJdTxoCYAzvIi+HT/DBEgzxHDMOgGb3Bbju6zm6XTxtSwzAWpUxssq9IKm0TyziKsc0yVPSy2a3HYVWRJq3HgjaJHfsiC36KSz/t5TJ8Rajcz2GPoHznvr489PMk2XQEWEWvFHJIXjiarEtzhQEDsjReqGbrsAyWwlAn21p+XEoRjsfTf9xm8vbVUlGqxJCicIcwMy4KK+D/dQoJu4k/EkOPcqhjTZ2S0M74lt10c2A/VI4MKW47BuUxOm5ct68q/Wxn/MoclLKpAEoWJEWdwtbFHcS/vwf2Vk6LQUKm1kqWCKgoy6UGh2ZLnGxwnbEN30EXV0o879XbRCENXMSeSUM/o11xj1NDg77MxXXyvECR59KKnI6StjI+GXUTq+ELw3sOt4GO3z6E+OXvED/9buDXlwx/Wj2ctMGho42BNlneGPjweOX/uf/9qNMFf/R9jzxc4ed/C3z3R4UfPgz4UQO+/wAYxcyQ2ZIOBGjQopSGClngoMkTdAWFUuf0yLyifAIp6hNnbmG3wwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/8bd81913b07a0eff9b1c4723c0dd0526/8ac56/image-20231119131415199.webp 240w,\n/static/8bd81913b07a0eff9b1c4723c0dd0526/d3be9/image-20231119131415199.webp 480w,\n/static/8bd81913b07a0eff9b1c4723c0dd0526/6a0ac/image-20231119131415199.webp 489w\"\n              sizes=\"(max-width: 489px) 100vw, 489px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/8bd81913b07a0eff9b1c4723c0dd0526/8ff5a/image-20231119131415199.png 240w,\n/static/8bd81913b07a0eff9b1c4723c0dd0526/e85cb/image-20231119131415199.png 480w,\n/static/8bd81913b07a0eff9b1c4723c0dd0526/03e1f/image-20231119131415199.png 489w\"\n            sizes=\"(max-width: 489px) 100vw, 489px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/8bd81913b07a0eff9b1c4723c0dd0526/03e1f/image-20231119131415199.png\"\n            alt=\"image-20231119131415199\"\n            title=\"image-20231119131415199\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>By patching this module, it seemed likely that I could obtain the flag by cheating in one of several ways: moving the object’s starting position outside the wall, deleting the wall objects, removing wall collision so I could pass through them, or making the character jump over the walls.</p>\n<p>To tamper with the code, I reopened the program in dnSpy instead of ILSpy. (ILSpy might also be able to patch it, but I could not find the menu, so I used dnSpy.)</p>\n<p>Looking at the character object’s <code class=\"language-text\">UpdateVelocity</code> method here, I found that the jump height is controlled there.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/bbabd42f3c54c772461d88358c921df6/23d36/image-20231119145012962.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 37.916666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAAsTAAALEwEAmpwYAAABPElEQVQoz22R3ZKCMAyFeRBp0xb6S0EdF1wd9m7f/5HOphV21PHiTEKZfDlJmuk6wMeA4CPHBG0Mx4hgPbLjfz7A2IBeJ3SdZ1koZdC2LYQQEFvcv5vTeoVzvhb6NKDlR+sY7gK/B2htICWBpIYizUUSQm7aoc/AZT1zsUUID4eKASmPcNYicqO+t6ACasV/cQVskF37e/N9P2PMAYnHdjwq6R7HNCO4Au+rM60UTMkZLKUCCVVd15wl2XXbHiq4+ZkHDMsFw3FCSBkHKRD9iR1mEO9KUVdHVVtOVOJDpcFLZHiz3kdMtxnHy7nusOzG+8RHGWFNZGdddadVcVicyc0dveS0xeZ6W3FavpBzhgsJggg5MtzG2plIsrvHqOJtb5/ULPMv8jTxiHwAvrRiR74foYyrHd8Lng/zSX8NqOJgiRaNmAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/bbabd42f3c54c772461d88358c921df6/8ac56/image-20231119145012962.webp 240w,\n/static/bbabd42f3c54c772461d88358c921df6/d3be9/image-20231119145012962.webp 480w,\n/static/bbabd42f3c54c772461d88358c921df6/e46b2/image-20231119145012962.webp 960w,\n/static/bbabd42f3c54c772461d88358c921df6/f992d/image-20231119145012962.webp 1440w,\n/static/bbabd42f3c54c772461d88358c921df6/882b9/image-20231119145012962.webp 1920w,\n/static/bbabd42f3c54c772461d88358c921df6/78247/image-20231119145012962.webp 2354w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/bbabd42f3c54c772461d88358c921df6/8ff5a/image-20231119145012962.png 240w,\n/static/bbabd42f3c54c772461d88358c921df6/e85cb/image-20231119145012962.png 480w,\n/static/bbabd42f3c54c772461d88358c921df6/d9199/image-20231119145012962.png 960w,\n/static/bbabd42f3c54c772461d88358c921df6/07a9c/image-20231119145012962.png 1440w,\n/static/bbabd42f3c54c772461d88358c921df6/29114/image-20231119145012962.png 1920w,\n/static/bbabd42f3c54c772461d88358c921df6/23d36/image-20231119145012962.png 2354w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/bbabd42f3c54c772461d88358c921df6/d9199/image-20231119145012962.png\"\n            alt=\"image-20231119145012962\"\n            title=\"image-20231119145012962\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>So I added the following line to force an extremely high jump and then compiled the code.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 665px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/a995da37d503b236cf5dd1ad8b10a58e/5f4af/image-20231119150144740.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 12.5%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAYAAACTWi8uAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAn0lEQVQI10XM64oCMQxA4XkNYVodZ5r0kml1ZVFYWN//qY6RBffHR5pQzhROC0sZmNy55qf7pes3qxprNkIIzPP88d6jC+H/HT+3wNTGjdYvfF0e3PoPzeO1XSmlYdaoJZNzptRKdarKJoqkTErKKvInJcTnZLbTuxu7RzLHc+QggWWLtOVA0zO274wxXPc/hZPHZDPSWoiSnHDcPKjCC8nnVsjwMvc5AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/a995da37d503b236cf5dd1ad8b10a58e/8ac56/image-20231119150144740.webp 240w,\n/static/a995da37d503b236cf5dd1ad8b10a58e/d3be9/image-20231119150144740.webp 480w,\n/static/a995da37d503b236cf5dd1ad8b10a58e/ced6d/image-20231119150144740.webp 665w\"\n              sizes=\"(max-width: 665px) 100vw, 665px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/a995da37d503b236cf5dd1ad8b10a58e/8ff5a/image-20231119150144740.png 240w,\n/static/a995da37d503b236cf5dd1ad8b10a58e/e85cb/image-20231119150144740.png 480w,\n/static/a995da37d503b236cf5dd1ad8b10a58e/5f4af/image-20231119150144740.png 665w\"\n            sizes=\"(max-width: 665px) 100vw, 665px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/a995da37d503b236cf5dd1ad8b10a58e/5f4af/image-20231119150144740.png\"\n            alt=\"image-20231119150144740\"\n            title=\"image-20231119150144740\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/2e76c48a06e2d324ee8a51f1ac4dec02/663b1/image-20231119150320357.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 56.25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsTAAALEwEAmpwYAAABu0lEQVQoz41T2Y7bMBDLdyQ+dI1uH3GCxaL//18sJXu3+9ACfSAkCxKHnKFvZX3BxwwfEmJZUeoLJR0IaUWOB1LeENPOszf3T+6f/TzGDeIjrPOwEmCsINYNN5cKHo8HBmJSGmv9wIskhYTaBiht4XTqqxiN5DNEBNOkMKoZ4zRiHAdy3Luom+SFhxOmcYSyDjV9Yo+/EKjAmQRjBNaETmq1h+a3M5Hkua9KGZJPGIahO6XCygpjJ5y1hk8LSd+IslNJJYGFVo6EEUYJlTqutKlpUwvmaT4J6TDmSkIqnOeZlRS0NqzC6rSV5YkkK4KrEEcyQ1LjLwTe1Xw3Xe90F7Tux6Xwstx6uJQDO/uaCdssN5takUTDOUcCi7nZJFFT9oU2h7JsrYfrN6G2lkP5RI1vSKAtfhuiqzDmez/RUccPwrOH5VTYp8yDEBds5Q0npcfA+zYUyx7PGPjoa6LDcN7/icf9ThGccqRMJ54D8MxYQS3MXNyZw9orOuasWXVO/gq53rY7ueUwFapad6SUGVaGuwU8/kFiFP6FSCyVPwDfBh9OhS0mLZCBh2fq/bn+J1prAl3V5wfqduA3kdc6PjelpmwAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/2e76c48a06e2d324ee8a51f1ac4dec02/8ac56/image-20231119150320357.webp 240w,\n/static/2e76c48a06e2d324ee8a51f1ac4dec02/d3be9/image-20231119150320357.webp 480w,\n/static/2e76c48a06e2d324ee8a51f1ac4dec02/e46b2/image-20231119150320357.webp 960w,\n/static/2e76c48a06e2d324ee8a51f1ac4dec02/69e3e/image-20231119150320357.webp 1313w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/2e76c48a06e2d324ee8a51f1ac4dec02/8ff5a/image-20231119150320357.png 240w,\n/static/2e76c48a06e2d324ee8a51f1ac4dec02/e85cb/image-20231119150320357.png 480w,\n/static/2e76c48a06e2d324ee8a51f1ac4dec02/d9199/image-20231119150320357.png 960w,\n/static/2e76c48a06e2d324ee8a51f1ac4dec02/663b1/image-20231119150320357.png 1313w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/2e76c48a06e2d324ee8a51f1ac4dec02/d9199/image-20231119150320357.png\"\n            alt=\"image-20231119150320357\"\n            title=\"image-20231119150320357\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>Finally, I saved the file from Save All and launched the game.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 443px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/d3022073d46f1fe171cf98dcb5144b87/a120c/image-20231119150344304.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 89.58333333333334%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAACXBIWXMAAAsTAAALEwEAmpwYAAAC0ElEQVQ4y2VU6XqiQBDkEbKbRAQE5D7kPkXdJG6Sff83qu1uRE3yo74ZrurqrhqUpOjw+nLGOB6umKYTrZPs87xClpWCZZ/nl2tCmpbX5wzFsANUZYmuG7HfH4Wk6wbZf7x/oqxanM8fOJ1eUNcdzm9/UdYD6ukdRdni3+cZdXdAS9/XdQPFdlNUeY+qqlBXDa01hn7AdusINhsTtr0VbEwLlmXDNG1kRYOSCPuup6IdfcdooazcEkE+oakrNE2L3S6Tjw1jA03ToeuGrOu1JveLvIDjuAiDiNrNEMU7JMkNym91A5uUdFSJq43jHhYpYRImXcDEi1pePc+H7wc/oDyoNjaWJ1Vd1xOYRHhPxrCIaHshmwkDBEH4A4rjsymZOMhVVyuV2pvV8YeGMRNomoat46EoSrhcnN5lAlb1hTBMc/RtQ/OjoZaVzKgoCiHhNhlMHkUJejKLR+J53MmF8LvCR9WEs3UlKm3bIYmTq7v3LfPsWJk8o2uPRuPzHAWBdOdREeXhSZOZdVS9ZZfTHZ6fV1DV9VXd4vjiNpOGaYowyxAkKSJClucUpQzKr2ddsjVNB8kfO11RQFmtbdvX6Hx120JIuU32AyIaV0r7fuwxHIZZobRAktlhnkMUxQLXdcV97mAhXVafnoU0S0bg+5cReFAsN6LEl4iThI5SReQGVqoKlVpbS5val0yKQlr3nYvzkXBycBpdHAmvBxfK09oUFRzscc8nZj5+HI+SVr6f7XY/FAZBQF1wN7SGN9AMNRj0EpM6l2Bz+yG1znuHsscO38+RwbHhcM8nJLxCedRdqhbRrycXZayI1XERhn4xZXNRxy7rnMs4Rrojp8PoLtyk0IvzuT2aI1dlpeyuqplY6zes1nMXHH6PDNmfBgxTfz3Dy6mR/2GazJXsLYeXrsMMQ2KiS2y0sS3rQMjpF5XXPaKswfHtj5B2Q4sgvB3B/2IjB1TAttmRAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/d3022073d46f1fe171cf98dcb5144b87/8ac56/image-20231119150344304.webp 240w,\n/static/d3022073d46f1fe171cf98dcb5144b87/23445/image-20231119150344304.webp 443w\"\n              sizes=\"(max-width: 443px) 100vw, 443px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/d3022073d46f1fe171cf98dcb5144b87/8ff5a/image-20231119150344304.png 240w,\n/static/d3022073d46f1fe171cf98dcb5144b87/a120c/image-20231119150344304.png 443w\"\n            sizes=\"(max-width: 443px) 100vw, 443px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/d3022073d46f1fe171cf98dcb5144b87/a120c/image-20231119150344304.png\"\n            alt=\"image-20231119150344304\"\n            title=\"image-20231119150344304\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>This made an ordinary jump turn into a super-high jump, letting me clear the wall.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 795px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/d854c60d8e1a511175f6586b2b01d7af/65c7b/image-20231119150122233.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 79.58333333333334%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAAAsTAAALEwEAmpwYAAABwElEQVQ4y61TTU/CQBDtP9IoClKqoFirBFqQD2uhVEBZPg5ejSdNNDHxZ6kHvCpSSPTi/3jO1rYWRJTEw0tnZ2bfvLfdFR7u7/DY62EweMFoNMRoOB+Gtu3Atgfo958hdBtVdOsmOvUKoTwfaoYb870mug0TQtPU0TQPcOKg9DdU3d5K0c9xDs4lMEvHf0JgNI2jyRM8pm+zyuHFB+Nw607NJQn2fiP0NvmNhE7dcDBJzoKxT+hNcpNBVcyisyI1KUXBvprGiWWA1cpfPdMUepNYQKFXbNcOkVdVVNg5Ts+ukdhUkNdyqJdLaE0cx5hCX5nf9Lnm6iJiEk/2O17f3rG4EkdYlCFu7CCnaWgd6bMJWaDQIXX7WQ0LIQkXlze4ur7F0moC0XUFoWgSWSLkDmYrdIvczpFRJCUy1iQZC8sSlsOcbAeRGOXWZVT1wu8KvWKbGvVCDhFpGyviFqTEHmJxhciSZDmJxNbu2B+ebXlMZQGZtAp5LwcxnnLUrZJdNZ1xhv7+UyauDrfUseiczDK0TBZRsh9a24ZRzP+NcPJOBS8wJ7AOC0Ss4rgypecnQuY/L+8Ffa25Yk48bbAXfwBwabl1lZaPhgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/d854c60d8e1a511175f6586b2b01d7af/8ac56/image-20231119150122233.webp 240w,\n/static/d854c60d8e1a511175f6586b2b01d7af/d3be9/image-20231119150122233.webp 480w,\n/static/d854c60d8e1a511175f6586b2b01d7af/399bf/image-20231119150122233.webp 795w\"\n              sizes=\"(max-width: 795px) 100vw, 795px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/d854c60d8e1a511175f6586b2b01d7af/8ff5a/image-20231119150122233.png 240w,\n/static/d854c60d8e1a511175f6586b2b01d7af/e85cb/image-20231119150122233.png 480w,\n/static/d854c60d8e1a511175f6586b2b01d7af/65c7b/image-20231119150122233.png 795w\"\n            sizes=\"(max-width: 795px) 100vw, 795px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/d854c60d8e1a511175f6586b2b01d7af/65c7b/image-20231119150122233.png\"\n            alt=\"image-20231119150122233\"\n            title=\"image-20231119150122233\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>After getting over the wall, I was able to obtain the flag on the map.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 809px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/af869de67b555309819a0abf5b3b29b5/e80ac/image-20231119145857562.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 79.16666666666667%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAAAsTAAALEwEAmpwYAAADnUlEQVQ4y22SaU/cVRTG/1/BxDc12oSKMPsGTG1ZZmf2GYcpDFBQEQtIK2UpAwyylNnawgiUpQOUBoym2rQaTdXE2KhvTJRFBLqg0jjMN/CFL8ryeO4FsUmd5Jd7z/+e8zznnjvCRzdv4aeFZfy8tIKVB5v4dSONlUcprDxM4ZeHf2L5wWMs39/E0vofWFz7HQtrv2FhdQOLq4/w49I6Vu9vIJ1OY2trC6lUCkJT6Ar6EvPoGZxFJPk5YnPfI3LjHsKz93Dx+rfon/kG/dNfozf5FXqufYnuibvEFwgO38bVj3/AX38/wdM/of5CBMHoFNoGJnFhYAItvcNo6RlGa+8IWvtG0dZ/Fa1E28UxOh/ntIcn0Nw7isTMHWxv72Bvbw+7u7vEHoR3glF0xqfREU0idOk6OmJTZJDkMaM9PIlg5Nrhd2bO9p1xiuM3sLj+mHe2Q4JMWGhsj/LCyOg8RmfvHHAb70/fwhit8bEPeTyYvIkY7SfmPkNi6hMMEeMf3MXcp99hhwS3SewJiQpN3UMIxck5PM45T3FjMIZznZdwtiOG86HLaH5vEE1dl/m+pWfogAS6r8yie3Aea5tp3uUum2HOSROkmnxkZMlx9JgYL4uUUOUVoMjkgNVdCqPVC4PFBWOxCxZHCe3dyNdZUKC3QHtSR+jhD1Qj1BfByOQMhFdIQKbSIvfVQhQZbTBZPVRgpkInXL4KFDt86BpIoJkeyuryQ2eyQXuikBsYzA4e62k1FnvgfK0cQkn5m3ijrplTVlUHAyWqc09AodZCpsyBTKHBuWCYXn8EcoolchWU6jwSslP+GVTVvovKmkacrjnLEXyBGpRV1/OrqUhISgJyVe4hEpkabzW0oqUrSiZ53EAqV0MkkUOp0fIxsEaYRikZCGwm7LoSuYY6yqXr5/FVqsjhiKQqumIRFJrjOPJiBjKzZZSrJlENxHQmkij4HD2nqhF4vQGCRKaCVMm6+VdoX0wiz+EmjGyJEhmZYi743PNH8MJLx7iYWLZPlljOa/RmFwQRJbMuWFE2ubHDZ1FQjpJElMjMkuBoRtbhN1bLmmJnTEs4nm9Avt5KL2tFgcFG2FFgdKDQ5KS/jhM6ctWZ3dBbPDRnDyx2L8w0N4bF6UexqxQ2dxlc3jJ65QoIbn8VDbMBp07X7VNZD39l3T4VZ1DCeZvjK2fU/j8VtZRTC8Fs98Hpq4TdW36IzRN4Bqv7P/i3g9X+NN4A/gFn+Me5CZ/VwgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/af869de67b555309819a0abf5b3b29b5/8ac56/image-20231119145857562.webp 240w,\n/static/af869de67b555309819a0abf5b3b29b5/d3be9/image-20231119145857562.webp 480w,\n/static/af869de67b555309819a0abf5b3b29b5/f996b/image-20231119145857562.webp 809w\"\n              sizes=\"(max-width: 809px) 100vw, 809px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/af869de67b555309819a0abf5b3b29b5/8ff5a/image-20231119145857562.png 240w,\n/static/af869de67b555309819a0abf5b3b29b5/e85cb/image-20231119145857562.png 480w,\n/static/af869de67b555309819a0abf5b3b29b5/e80ac/image-20231119145857562.png 809w\"\n            sizes=\"(max-width: 809px) 100vw, 809px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/af869de67b555309819a0abf5b3b29b5/e80ac/image-20231119145857562.png\"\n            alt=\"image-20231119145857562\"\n            title=\"image-20231119145857562\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<h2 id=\"over-the-wire-1warmup\" style=\"position:relative;\"><a href=\"#over-the-wire-1warmup\" aria-label=\"over the wire 1warmup permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Over the Wire 1(Warmup)</h2>\n<blockquote>\n<p>I’m not sure how secure this protocol is but as long as we update the password, I’m sure everything will be fine </p>\n</blockquote>\n<p>When I opened the provided pcap in Wireshark, I found that files were being transferred over FTP.</p>\n<p>So I first saved the file as binary data.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/06505cc0459f66b32d584750ceff8667/6c99d/image-20231117231323002.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 84.58333333333331%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsTAAALEwEAmpwYAAABiklEQVQ4y62TW0/bQBCF/f9/CySBRImJQxOHlhZogVd4AgVf1t71ru/k5sN4g0IilSfb8qc5e9GRZmfGeH55gcpDhKmAzIWOLBbgCUe2ypCvcxSb/1NuC6I8wuia5zib9XF+NcT4doLBzxEGv0yMbyyMri9g3V7Cfpxj9vCFTUzvbQzp3PxD936P9xjdjomTUxO93gSj4Zyw0R9M8ePyBhPrGvPZX8ztY67sf7Cnd+j2LE2nO0anc0HRgiEiBeZzsDcHzPEQEGzhQLIQiZBIIkJEO3iEmAvNbk+Spj3xCWlDxQn46wL86RkpCzSJ51NkyIIQWciRUtyf+UyTBgFyzvd3sjDU2pBKYb2t0NZnKBVjud4AVUV/cyjlT0NAbzQ1NmJ6w9WhYdOUfXro5WrdoiFVrFXD1lOu2+bQsHGVa8O6ylVbbVMbbhpmWh03toJPc+t4DJFUiNMMCREnGa1jrbOi/JaiXKJ4J8p3rXeGngfXcRHQfHKaTyGEJqR1HaWU3+K6Lt4Wi50H6Q9fYhYvxAXp9gAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/06505cc0459f66b32d584750ceff8667/8ac56/image-20231117231323002.webp 240w,\n/static/06505cc0459f66b32d584750ceff8667/d3be9/image-20231117231323002.webp 480w,\n/static/06505cc0459f66b32d584750ceff8667/e46b2/image-20231117231323002.webp 960w,\n/static/06505cc0459f66b32d584750ceff8667/f992d/image-20231117231323002.webp 1440w,\n/static/06505cc0459f66b32d584750ceff8667/43fc7/image-20231117231323002.webp 1447w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/06505cc0459f66b32d584750ceff8667/8ff5a/image-20231117231323002.png 240w,\n/static/06505cc0459f66b32d584750ceff8667/e85cb/image-20231117231323002.png 480w,\n/static/06505cc0459f66b32d584750ceff8667/d9199/image-20231117231323002.png 960w,\n/static/06505cc0459f66b32d584750ceff8667/07a9c/image-20231117231323002.png 1440w,\n/static/06505cc0459f66b32d584750ceff8667/6c99d/image-20231117231323002.png 1447w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/06505cc0459f66b32d584750ceff8667/d9199/image-20231117231323002.png\"\n            alt=\"image-20231117231323002\"\n            title=\"image-20231117231323002\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>The file transferred over FTP (<code class=\"language-text\">flag.zip</code>) was a password-protected ZIP file, so next I looked for the password needed to extract it.</p>\n<p>The password used during the FTP transfer was <code class=\"language-text\">5up3r_53cur3_p455w0rd_2022</code>, so I tried extracting it with that password, but it failed.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token number\">220</span> pyftpdlib <span class=\"token number\">1.5</span>.9 ready.\n<span class=\"token environment constant\">USER</span> <span class=\"token function\">cat</span>\n<span class=\"token number\">331</span> Username ok, send password.\nPASS 5up3r_53cur3_p455w0rd_2022\n<span class=\"token number\">230</span> Login successful.\nSYST\n<span class=\"token number\">215</span> UNIX Type: L8\nPORT <span class=\"token number\">192,168</span>,16,131,179,47\n<span class=\"token number\">200</span> Active data connection established.\nLIST\n<span class=\"token number\">125</span> Data connection already open. Transfer starting.\n<span class=\"token number\">226</span> Transfer complete.\nTYPE I\n<span class=\"token number\">200</span> Type <span class=\"token builtin class-name\">set</span> to: Binary.\nPORT <span class=\"token number\">192,168</span>,16,131,203,181\n<span class=\"token number\">200</span> Active data connection established.\nRETR flag.zip\n<span class=\"token number\">125</span> Data connection already open. Transfer starting.\n<span class=\"token number\">226</span> Transfer complete.\nPORT <span class=\"token number\">192,168</span>,16,131,132,11\n<span class=\"token number\">200</span> Active data connection established.\nRETR reminder.txt\n<span class=\"token number\">125</span> Data connection already open. Transfer starting.\n<span class=\"token number\">226</span> Transfer complete.\nPORT <span class=\"token number\">192,168</span>,16,131,162,139\n<span class=\"token number\">200</span> Active data connection established.\nRETR README.md\n<span class=\"token number\">125</span> Data connection already open. Transfer starting.\n<span class=\"token number\">226</span> Transfer complete.\nQUIT\n<span class=\"token number\">221</span> Goodbye.</code></pre></div>\n<p>Reading the packets further, I found that a file containing the following message had also been received over FTP.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 708px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/e8b702d1b551c747d3baccab4b317f86/3cb0f/image-20231119162229252.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 43.75%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAAsTAAALEwEAmpwYAAACBklEQVQoz1WOS08aURzFZyGaaoUmILSJS/sIG6mNFgTKDDAPmAHBJlqE2qps+zGMyqPuKjhoAREoYNS+TG3jI6QxafqdjvfeWtIufjn/87iT4cZiY3j0/CFG1VGYJTNsIRsskgUW2YIRZQTWsJVhls2wUB+ywqbaetzV7rGMbimcFBYRjUcghoPgJR5KVIZfFuAR3HjimoAckaDNavAFnzHvE30QZJ5t/YrA8qfeKUw4H7Oe03fq2CqUCRXo+j6hhmJxD7u7TTQbxyiV6igUqqxr7B+iUm5hr9ohtFGttFnWrB+xLVWuffAZzdZHlGsdNNuf0Op8Qa1xhIPDE5yfXzGtfzhm3dnZFb6eXOD7j584Pe3iG6Hb/Y3Ly189OEGZQ0BUIcsaNG2WEIcSikIlGo/NQ1VjpIswFcmO50X4/QoEQYbASwgGQgjcQHPu/gM7XFOTMJmMGLo9hGHjMIzkNhr/96Y7JgwM9MNg6IOh39Cj78ZTHRy8BS4Rj2FrbQ3LyRSWFhYICbyaf4GlZBLLKZol8TqRYF16cRErqZdkmySawgp5Q5X6NLmdTie4uZkZbGcyeLe6Cj2bZff2xgZjZ3MTpVweeibb60r5POkyKK6vQ8/lUCA/8z7/Fm/SadjtdnCO8XH4vF54XC54pqfhcbv/KMFL77/QjG7+6entJhndORwO9sFrX0hzjBBsUhkAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/e8b702d1b551c747d3baccab4b317f86/8ac56/image-20231119162229252.webp 240w,\n/static/e8b702d1b551c747d3baccab4b317f86/d3be9/image-20231119162229252.webp 480w,\n/static/e8b702d1b551c747d3baccab4b317f86/3f436/image-20231119162229252.webp 708w\"\n              sizes=\"(max-width: 708px) 100vw, 708px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/e8b702d1b551c747d3baccab4b317f86/8ff5a/image-20231119162229252.png 240w,\n/static/e8b702d1b551c747d3baccab4b317f86/e85cb/image-20231119162229252.png 480w,\n/static/e8b702d1b551c747d3baccab4b317f86/3cb0f/image-20231119162229252.png 708w\"\n            sizes=\"(max-width: 708px) 100vw, 708px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/e8b702d1b551c747d3baccab4b317f86/3cb0f/image-20231119162229252.png\"\n            alt=\"image-20231119162229252\"\n            title=\"image-20231119162229252\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>Using this hint, I changed the password to <code class=\"language-text\">5up3r_53cur3_p455w0rd_2023</code>, which allowed me to extract the ZIP file and obtain the flag.</p>\n<h2 id=\"over-the-wire-2warmup\" style=\"position:relative;\"><a href=\"#over-the-wire-2warmup\" aria-label=\"over the wire 2warmup permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Over the Wire 2(Warmup)</h2>\n<p>When I examined the provided pcap file, I found that images were being exchanged over SMTP.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 705px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/e7494b4d5ee69c0663c0a494f7fbce78/d2cbc/image-20231117232037966.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 170.83333333333334%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAiCAYAAABfqvm9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAFeElEQVRIx41VZ3PqSBDk//+U+3ChrvySExiTczRBoCyEBEIimWDo610e2HX2Ox9Vw+zM7vb2hF3Ffvv7LxTsPO57tyh6BVRmJWTdDGpRBdWwIu2UnULazaIaVVEJy8h7OeT9HMqcE3ZunEHBz3N9GbHv31JQtRnabQedrgtND9FqWRiqASxrien0QNuWPtNcIJwBnY4L214hCiHtkbOGN97CoY59ucohVzBRKFmIP3RRKjtScnkTtZoHXd+jSi3WVGtj2BakrWk7OBxb5hGODfqPaLVniH37VkCtPkalNkI2r6HR9FGtu9LudEKeepS+csXhhinGLtBsTQj0QlaQthB3BPR6c8R+/z2OVFrBY7qPu3iLzLSTneqhRNa9bohsbojkY49aRZ+bcnkVT08BBsoSSn9OWUDpRahUHcT+/COBdGaINEGu75pIcfyYHhBAQbFkE2CJTFbDQ1IA6gRZS/upHcqx0hegK65boFi0Efv6Nc8QfFQaImyNkx5ZuWRgM08zhvIMRfHRpa/POVEA4Z/4e4QBMJseZWG88Yb5DhG7usqi2fTQHkxgewHGE4L4MzjjKeyRD9NmIdwJJkEIbzKF444RLVdYbbZYPj9TNhe9po9VzqJOwC4ZtcsaelUVWtuAbQTwgy0m0w3G3pqLX3A4Ai8HYM+/3UeyP5wYNgjYZK+lE0Mo7RF2ywWO22fgsD8JiCR/Z/3r34Vhp22iX1YQGhYiXUegcKxqWNoO9gxFwh2Pn4pkWGefdZ8s6B0bu8USm9kMK3+C52mALe3/+5OA19dl1ATDhoZBRYGj+hjpE7jGFBM3wtiaIRgF2M0jbOdz6jm2UYS172M94aFBgE0YMjMvp5B/fC+i2vAwaA8xyuZgJVNwC0W45QrG1Rr8RhOzvkKmC7ywmvv1GvvVSoLLA+jf0T4eDq85FHfU0MfY8MQ122LtugiZw6DXQ6SqzKN92fBpyAKw1vAx7GjwymVMajVMm00yq2NGwKDbRTQkqONIdv9VnBPDL2TIx0Ed2JizunPTxIKMRI6ep1MZ1lsG/2b0vm2+5FGuujAMn5sjCfLRRhHyR4zejiXg1dUtuj0Tak/FrMucsQAhdchwhR08dbAwDKw971RZz5fjM/N3gIlEHIOBgmFPYc76iDQNKxZlNRpRj2T4vyrIhyEnk0k+RW0+RUMsrFPuRPJFj61EHtln0seW+eyWSMBsNssHYAKDgF6pIqssxK/XJWMh4WAgWR8Px8/bpswGFj/f9TBjeywMVpo5O4V8Cl008mG3k439stngZbs9iRhTxNyFYalUlgPXtGFnsrDTaZhMg/mQhJPJwErRfkjwBiXlnH5/L7WdSsk1ZiIhb9X5NboAOkMd2t09jPg9tNtb6DfXHMeh391B+3ENnT6DYNr1DeVajo37uPS7pRLO9XllqFtweJfHRd7jfAGjXE6KWyhIpkKfx9Kfz1NTshlMn9rvQx5phgzBfnxkOGk4IvSHB7nJ+RmiCNtKPhI0fUmBxXR4LOA7hvZAhXpzK0F0hi5C0e9u5Vi7uZGhC5Fp4JzwqTL8HxgxqneAF4ZkIk4WoYmxABGMpNBvsAgWDz2tyUqfaLFzQ70C6iary3DYlyKXI2qRK0fq7CmHMm85aUstbB48abVePwFvQ9Zu72CLFoknqB9OeWJORUVNhnrWImTRLgbXGdzjFkuvV+8CSIbddA7dfBXdQhUKb43RbMNotGG2OrCfejA51ust6LWm9EupN2F3FcxXG0Sr51dAnW9hlQ9slRvK1To/XFzIW3IWk4/EhPfa4x1XeZMGfMmV4VDOebzrM37YgmBKwPLPHHJizGdpuZhjzo9QRAm56K1E/BgJ/5xPl5ynffH/9P0DjPfB0XC1iSoAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/e7494b4d5ee69c0663c0a494f7fbce78/8ac56/image-20231117232037966.webp 240w,\n/static/e7494b4d5ee69c0663c0a494f7fbce78/d3be9/image-20231117232037966.webp 480w,\n/static/e7494b4d5ee69c0663c0a494f7fbce78/af945/image-20231117232037966.webp 705w\"\n              sizes=\"(max-width: 705px) 100vw, 705px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/e7494b4d5ee69c0663c0a494f7fbce78/8ff5a/image-20231117232037966.png 240w,\n/static/e7494b4d5ee69c0663c0a494f7fbce78/e85cb/image-20231117232037966.png 480w,\n/static/e7494b4d5ee69c0663c0a494f7fbce78/d2cbc/image-20231117232037966.png 705w\"\n            sizes=\"(max-width: 705px) 100vw, 705px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/e7494b4d5ee69c0663c0a494f7fbce78/d2cbc/image-20231117232037966.png\"\n            alt=\"image-20231117232037966\"\n            title=\"image-20231117232037966\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>The first image was the following, but after checking it thoroughly I could not find anything suspicious.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/78032e0c9294978058023d2b47a14ae4/61100/image-20231117232149565.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 52.083333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsTAAALEwEAmpwYAAACSUlEQVQoz4XPW0jTYRjH8T8URBfqjV3Map7bdG5tHudp2bSDhUpaZqZkaI0yEEUNKSHdzGORhJheGEKKkGVhR6MrL3ZjU7K8kcwDHrJoNg9T0X37Zzd2oT3w43l54fnwPMLo9y/8WJhhdn6GMetXJuZGmLCOMDwzxNS3SUZHxxgcHGRgYABLfz8Wi4Whoc/0i+++vj7MZjMfxL+x8XFMRhPCL7uVpdV5bCs2puenmV2cZHZhSuxTzNms1NXWIZXuJ0ChQKXwR6PREBoaRnBICEqlkuioSDFRaEOD8ZPLENiqHLC0ZMdYdgtBEDgcE0P5jWJyMlJJS0/neHw8ebmXaHvUxumkE+gj1AQc8EBwOBx/58W+Oevr69jtdipNxg1QF6Xj46dhHjbdJ/tiJpkZ5ykvLeBudQUBvu7IPSX4+Ui3Bv9kYXGRSmMZu3cIuEkktLe2Yu59T8O9Kgrzr1FhvMmVrGQU3m6oZO6o5F7/gpvhjQ2Xl6m+bcJ5105cnF0oKsjjbXcHXS+f0tLcQHFJPqXXcwlXeROskqP09dweXFtdpb6uFlcnJzwkezkWe4SeV894LYLP25q4euEMhZfTiNGqUfh6ofCUbg2uiSArKzyoqWHfHlc0MhmBfv50dffw02aj990bmuvv8PhJJykpKSh9fAhTKf4Diie3Nzai9PIg4ZCOc4mJGHIMVJmqKckvwpBtoKPzBVmpZ9EFqtEFqbc/+Q/Y2dJC5EElp+JiSRaTpNdzMkJLQqQWfZCGaHGro+FhxGlDiRXzG8Q6PbJckHNeAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/78032e0c9294978058023d2b47a14ae4/8ac56/image-20231117232149565.webp 240w,\n/static/78032e0c9294978058023d2b47a14ae4/d3be9/image-20231117232149565.webp 480w,\n/static/78032e0c9294978058023d2b47a14ae4/e46b2/image-20231117232149565.webp 960w,\n/static/78032e0c9294978058023d2b47a14ae4/f992d/image-20231117232149565.webp 1440w,\n/static/78032e0c9294978058023d2b47a14ae4/882b9/image-20231117232149565.webp 1920w,\n/static/78032e0c9294978058023d2b47a14ae4/60dfe/image-20231117232149565.webp 1949w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/78032e0c9294978058023d2b47a14ae4/8ff5a/image-20231117232149565.png 240w,\n/static/78032e0c9294978058023d2b47a14ae4/e85cb/image-20231117232149565.png 480w,\n/static/78032e0c9294978058023d2b47a14ae4/d9199/image-20231117232149565.png 960w,\n/static/78032e0c9294978058023d2b47a14ae4/07a9c/image-20231117232149565.png 1440w,\n/static/78032e0c9294978058023d2b47a14ae4/29114/image-20231117232149565.png 1920w,\n/static/78032e0c9294978058023d2b47a14ae4/61100/image-20231117232149565.png 1949w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/78032e0c9294978058023d2b47a14ae4/d9199/image-20231117232149565.png\"\n            alt=\"image-20231117232149565\"\n            title=\"image-20231117232149565\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>So I followed the packets further and found that another email was also sending an image.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 630px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/e196245ffe22ea6c453090fb0f675d7a/f058b/image-20231117232800928.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 114.58333333333334%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAXCAYAAAALHW+jAAAACXBIWXMAAAsTAAALEwEAmpwYAAADF0lEQVQ4y5VViXKiUBD0//9ot1KrSTw3idEY7wPllFNRVECwd+YRjVbKrLGq6wHD9PS814O5vrqCYdpY+D5cz4NDsG0btmPDdV04BNtxYVo2dGOOYLNDkh4Q7xPESfoFuYlkYjQwMOxp6LU1DAd0L3mQ5AWGExcz1Ycf7ASWwRarTYj1NrqKXL+jolkaQWpJ8DUTW2+JFACJICWEhC5+8Mt1unP8LcmQxh72UYw0ChEHAfbbLZIwpFcOOBxuR27UnWFW72E9k7AcjeB0e3B7PfgTCTvau1uJ+CcIB50Z5J6OiFTtFkvCAtFqJVQe0vTmVo+kuWF7imlbgTxxoEoO9JkrYMieuF9ZHuL1ShQRWFJRcsKOTn/rOAJc/KRQ7fZhVsrQHouwXl5gt1pwz9peKyoRrk9g0pBIQ+pEEBP2m80noaXPsVFkLCcTBJqGxWAA660F+72N5XgsEn7Usilr8Ad9QeQTgdfPrhlupyPWrWUhjeNT4reHonT6sJ+fYL02YDea1OYY/nSGQFURkrokihBTS4ckuSC86kNvsUJKnotof9h3KSUyyVHRRVsZ4/fGtg0TG1XBgto9tpbsdoJ8Tytv+P7j/ry1q4QOfRi2dBg7On4+uYg+EtxqtPSFRULPFRbh2NGX3xPa5CddQ0hEBxpeVsN7xt7iNRu/r6d59VC0wRhO/QUme7Bex/z5GQ550W6+EZqwGg1SucgSSOF/T9mYzDLbDEfCdxvTFOA5vtWDFz7UJ1M4b00y8jucdlsompNS8/WV7jticrLYO6xmAybF+ZlFOW6nK3J4ck4K5VYXav4P1GIRGuPxUazK/QO0Ugl6uZyBxlMpFChWolgB0u9ftN5D/pPHWjfOZrk3gHx3B4WIjFotS2QySuRrJlUpxgWVhwfxDsfEc14Jwdy8nBSNKjGhXq4QSiKRSfneqFWhV6tZMiuu1sRzLiAKEQL6r/lsud2Fzm2WuK2KSDKqlUwtrXIhL2JamWNFoch8eqKi96JlLr6hgfhUKAizVo5Vea+YXP3YhvNiKn3meE+ZiPdazucvFP4DvVjEJwQULioAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/e196245ffe22ea6c453090fb0f675d7a/8ac56/image-20231117232800928.webp 240w,\n/static/e196245ffe22ea6c453090fb0f675d7a/d3be9/image-20231117232800928.webp 480w,\n/static/e196245ffe22ea6c453090fb0f675d7a/8aab1/image-20231117232800928.webp 630w\"\n              sizes=\"(max-width: 630px) 100vw, 630px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/e196245ffe22ea6c453090fb0f675d7a/8ff5a/image-20231117232800928.png 240w,\n/static/e196245ffe22ea6c453090fb0f675d7a/e85cb/image-20231117232800928.png 480w,\n/static/e196245ffe22ea6c453090fb0f675d7a/f058b/image-20231117232800928.png 630w\"\n            sizes=\"(max-width: 630px) 100vw, 630px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/e196245ffe22ea6c453090fb0f675d7a/f058b/image-20231117232800928.png\"\n            alt=\"image-20231117232800928\"\n            title=\"image-20231117232800928\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>So I investigated this image next.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/61c4274b357cac28863553c4f1721b40/62a6a/image-20231117232750719.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 98.75%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAC/0lEQVQ4y5VUS09TURC+v6Lv3jbhJdJCX7SFrowb0NaGsJFYTBSCRReIRmOMiSGauMA/oETjH1AXpLxEWEEjcUUILEh4tKVNCwWktCWKfJ455Za2aQre5MudM2fOnJlvzoyQTO7g6OiII5vNlkU6nQZ9n798RZunA16vF263Gx6PB+3t7ejq6sLq6ir29/chhEIhECKRCEc0Gs1D0oXCYWRTKWQzGS5vbW1xvfQn25OTE36pQIrNzU2sra1heXkZS0tLHCQTVlZWsLi4iPD6OncoZVOKFLvw4OAAAjmLx+OYnp6Gy+VCa2sr7HY7TCYTzGZzHlarNb/vcDjgdDq5Help3dLSwnXCxsYGEokEAmNjUCqV0Gq10Gg0UKlUUKvVedD6IhAijJNkMomJiQnuTKfTQa/Xn0GnL16fA2GdcbO9vY3x8fG8Q4IoimXlUpTucQ5jsRgCgQBP9SKHKu0LUVZ6Ksro6Cg0BRGWGlP06lNe6WKJWykrsiMIYcYhpVwxQnaouqYGJrMVxsZGNDQ0wGAwwGg0oobpiyKkx3l4eIjg/HyRQ1HHjMScTPomowEPB/oxOHAPw8NvMDLyDp8+foDP54NCoeAFyaXMXvmf42P8WFgojlDMOdUzWa3RwW4Q8fZFH/y+Nrx6egf3uj0Yev4Yfr8fMpnszGFmb4+3zM9gsCTCnFO9XgeZQoUbV+14/9KH214Xuq9Z4HZV4Vbnddzv74dcXhBhkkWYZu8wODUJbZmUyaGSFeOKy4mhwR74Or141HcXvTc78PrZEzzo7YFMLj9zmN7Z4RHOlXLI+TslmyrI/lXVtaivv4y6uksM9agtKQjZCXE2aTK7u5iZmirhMOdEOkB/qS21Wg3PhtYSNeKpvZBgVf7LpsTczEwZDsX/f9i/WJdQhN8mJ/mNUk9WclAJwl4sit9s0n5nKdO0UVMXFHQCnzQF8nkQkqxTUqww87OzMDc1wcnmm51gs8HG0Gy1wMnmnb25mcm5PZqBFosFNpqFzMbBbMiebP4BMhYxbCNmOAEAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/61c4274b357cac28863553c4f1721b40/8ac56/image-20231117232750719.webp 240w,\n/static/61c4274b357cac28863553c4f1721b40/d3be9/image-20231117232750719.webp 480w,\n/static/61c4274b357cac28863553c4f1721b40/e46b2/image-20231117232750719.webp 960w,\n/static/61c4274b357cac28863553c4f1721b40/e6b69/image-20231117232750719.webp 1122w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/61c4274b357cac28863553c4f1721b40/8ff5a/image-20231117232750719.png 240w,\n/static/61c4274b357cac28863553c4f1721b40/e85cb/image-20231117232750719.png 480w,\n/static/61c4274b357cac28863553c4f1721b40/d9199/image-20231117232750719.png 960w,\n/static/61c4274b357cac28863553c4f1721b40/62a6a/image-20231117232750719.png 1122w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/61c4274b357cac28863553c4f1721b40/d9199/image-20231117232750719.png\"\n            alt=\"image-20231117232750719\"\n            title=\"image-20231117232750719\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>Analyzing the file with zsteg gave me the flag.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 910px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/694c399f183b9b8f41052bf3ed406dcf/c6bbc/image-20231117232841225.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 42.083333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAAsTAAALEwEAmpwYAAABc0lEQVQoz32SW0/CQBCF+2IMimAAkftFyk3pZdvCtrQFJEABgzFiNCaNb8b//wuOU4qkGsPDye5Odr49M7MCr2ngogGWu4OcaENPy3iUZvBEjmVDx1IcYHFjwM500E+2YKbasNJtGIkmLNoHZ3YuQok1oJ6JEOyCCrfIYF1JUHfBBpySjmlexqYoY5XvYZoUMUqQ4iJskkMyKDkAsP16ALoVHW5Vx5DALN6i15owryWMy3288Q3eh0/gqR456oQPRqRE9AMVRjUDo1ofdolBT1JSAMzJmIs2Plc+/PEW45IBMyNBOq0fEpVY6Ez969Ap6wjEqeQgqJFLnpXgtV18PXzAH22x7k7g5Bn6l7eHxCgkKsEpaQTUYOWV3YWgZH5Ffaub2BprvJob3FcGcAsaAbv/Qn4DyyEw6KF2EfaQZwlYHeBFXeCZeZhQyUG8d1I76i4cStXYlWzllHBq+x565NDXPPjqDHMakJNjmDeG9HWOu/wGHjrru1pIpSwAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/694c399f183b9b8f41052bf3ed406dcf/8ac56/image-20231117232841225.webp 240w,\n/static/694c399f183b9b8f41052bf3ed406dcf/d3be9/image-20231117232841225.webp 480w,\n/static/694c399f183b9b8f41052bf3ed406dcf/92674/image-20231117232841225.webp 910w\"\n              sizes=\"(max-width: 910px) 100vw, 910px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/694c399f183b9b8f41052bf3ed406dcf/8ff5a/image-20231117232841225.png 240w,\n/static/694c399f183b9b8f41052bf3ed406dcf/e85cb/image-20231117232841225.png 480w,\n/static/694c399f183b9b8f41052bf3ed406dcf/c6bbc/image-20231117232841225.png 910w\"\n            sizes=\"(max-width: 910px) 100vw, 910px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/694c399f183b9b8f41052bf3ed406dcf/c6bbc/image-20231117232841225.png\"\n            alt=\"image-20231117232841225\"\n            title=\"image-20231117232841225\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<h2 id=\"summary\" style=\"position:relative;\"><a href=\"#summary\" aria-label=\"summary permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Summary</h2>\n<p>It was fun to be able to solve a lot of challenges again after a while.</p>\n<p>It was also great to learn new things, such as dealing with packed .Net binaries and analyzing game programs.</p>","fields":{"slug":"/ctf-1337up-2023-en","tagSlugs":["/tag/ctf-en/","/tag/rev-en/","/tag/forensic-en/","/tag/english/"]},"frontmatter":{"date":"2023-11-19","description":"Writeup for 1337UP CTF 2023.","tags":["CTF (en)","Rev (en)","Forensic (en)","English"],"title":"1337UP CTF 2023 Writeup","socialImage":{"publicURL":"/static/88926f090bd6d95964f2349adddce4df/ctf-1337up-2023.png"}}}},"pageContext":{"slug":"/ctf-1337up-2023-en"}},"staticQueryHashes":["251939775","401334301","825871152"]}