<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>CTF Writeups on kuripuri's Blog</title><link>https://edhlii.github.io/ctf/</link><description>Recent content in CTF Writeups on kuripuri's Blog</description><generator>Hugo -- 0.149.0</generator><language>en-us</language><lastBuildDate>Thu, 02 Apr 2026 10:15:41 +0700</lastBuildDate><atom:link href="https://edhlii.github.io/ctf/index.xml" rel="self" type="application/rss+xml"/><item><title>EHAX CTF 2026 Writeup</title><link>https://edhlii.github.io/ctf/ehax_ctf_2026/</link><pubDate>Thu, 02 Apr 2026 10:15:41 +0700</pubDate><guid>https://edhlii.github.io/ctf/ehax_ctf_2026/</guid><description>&lt;h1 id="ehax-ctf-2026-writeup"&gt;EHAX CTF 2026 Writeup&lt;/h1&gt;
&lt;p&gt;Giải này mình vô muộn, làm trong một buổi sáng nên đc mỗi một bài.&lt;/p&gt;
&lt;h2 id="i-guess-bro"&gt;I guess bro&lt;/h2&gt;
&lt;p&gt;Bỏ vô DiE xem trước.&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" loading="lazy" src="https://hackmd.io/_uploads/SJnKvQWtbl.png"&gt;&lt;/p&gt;
&lt;p&gt;Challenge này chạy không được. Lý do vì nó được compile bằng kiến trúc &lt;a href="https://vi.wikipedia.org/wiki/RISC"&gt;RISC&lt;/a&gt;. Kiến trúc này sử dụng tập lệnh khác với kiến trúc máy tính phổ thông hiện đại CISC. Thật ra muốn chạy thì có thể cài máy ảo, nhưng trước tiên mình thử phân tích tĩnh xem có gì hay đã.&lt;/p&gt;</description></item><item><title>Tamu CTF 2026 Writeup</title><link>https://edhlii.github.io/ctf/tamu_ctf_2026/</link><pubDate>Thu, 02 Apr 2026 10:15:41 +0700</pubDate><guid>https://edhlii.github.io/ctf/tamu_ctf_2026/</guid><description>&lt;h1 id="tamu-ctf-2026-writeup"&gt;Tamu CTF 2026 Writeup&lt;/h1&gt;
&lt;h2 id="nucleus"&gt;nucleus&lt;/h2&gt;
&lt;p&gt;&lt;img alt="image" loading="lazy" src="https://hackmd.io/_uploads/B15eCHiqZe.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nucleus21.exe&lt;/code&gt; khi chạy sinh ra file &lt;code&gt;nucleus22.exe&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Mở IDA lên phân tích.&lt;/p&gt;
&lt;p&gt;Luồng hoạt động chương trình khá đơn giản:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Copy nội dung của chương trình hiện tại.&lt;/li&gt;
&lt;li&gt;XOR toàn bộ với một ký tự do user nhập.&lt;/li&gt;
&lt;li&gt;Lưu vào &lt;code&gt;.rsrc&lt;/code&gt; và đẻ ra file mới mang theo xác của file cũ.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Nhiệm vụ bây giờ là tìm về thế hệ đầu tiên xem các ký tự đã được dùng làm key để XOR là gì.&lt;/p&gt;</description></item><item><title>BKSec Training 2026 Writeup</title><link>https://edhlii.github.io/ctf/bksec_training_2026/</link><pubDate>Thu, 26 Feb 2026 10:15:41 +0700</pubDate><guid>https://edhlii.github.io/ctf/bksec_training_2026/</guid><description>&lt;p&gt;Write up này tự nhiên có hứng viết bằng tiếng Anh. Nên sai chính tả mn thông cảm nha.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#reverse-engineer"&gt;Reverse Engineer&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#babyrust0"&gt;BabyRust0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#pyxe"&gt;pyxe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#babylua"&gt;babylua&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#childrust"&gt;ChildRust&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#pwn"&gt;Pwn&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#introduction-to-pwntools"&gt;Introduction to pwntools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#bof_1"&gt;bof_1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#bof_2"&gt;bof_2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#bof_3"&gt;bof_3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#int_1"&gt;int_1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#bof_4"&gt;bof_4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#shell_1"&gt;shell_1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#index_1"&gt;index_1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#ret2libc"&gt;ret2libc&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#stage-1-leak-libc-address"&gt;Stage 1: Leak libc address.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#stage-2-spawn-shell"&gt;Stage 2: Spawn shell&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#fmt_1"&gt;fmt_1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#fmt_2"&gt;fmt_2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="reverse-engineer"&gt;Reverse Engineer&lt;/h1&gt;
&lt;h2 id="babyrust0"&gt;BabyRust0&lt;/h2&gt;
&lt;p&gt;Open with IDA Pro. We check the &lt;code&gt;main::main()&lt;/code&gt; function.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;void&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;__fastcall&lt;/span&gt; __noreturn main&lt;span style="color:#f92672"&gt;::&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;main&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a1,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a2,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a3,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a4,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a5,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a6,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a7,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a8,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a9,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a10,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a11,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a12,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a13,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a14,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a15,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a16,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a17,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a18,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a19,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a20,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;char&lt;/span&gt; a21,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a22,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a23,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a24,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a25,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a26,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a27,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a28,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a29,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a30,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a31,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a32,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a33,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a34,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a35,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a36,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;struct&lt;/span&gt; _Unwind_Exception &lt;span style="color:#f92672"&gt;*&lt;/span&gt;a37,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; a38)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;__int64&lt;/span&gt; v38; &lt;span style="color:#75715e"&gt;// rax
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;__int64&lt;/span&gt; v39; &lt;span style="color:#75715e"&gt;// rax
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;__int64&lt;/span&gt; v40; &lt;span style="color:#75715e"&gt;// rdx
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;__int64&lt;/span&gt; v41; &lt;span style="color:#75715e"&gt;// rax
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;__int64&lt;/span&gt; v42; &lt;span style="color:#75715e"&gt;// rdx
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt; _BYTE &lt;span style="color:#f92672"&gt;*&lt;/span&gt;v43; &lt;span style="color:#75715e"&gt;// rax
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;unsigned&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;__int64&lt;/span&gt; v44; &lt;span style="color:#75715e"&gt;// rdx
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt; _BYTE v45[&lt;span style="color:#ae81ff"&gt;48&lt;/span&gt;]; &lt;span style="color:#75715e"&gt;// [rsp+48h] [rbp-C0h] BYREF
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt; _BYTE v46[&lt;span style="color:#ae81ff"&gt;24&lt;/span&gt;]; &lt;span style="color:#75715e"&gt;// [rsp+78h] [rbp-90h] BYREF
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;__int64&lt;/span&gt; v47; &lt;span style="color:#75715e"&gt;// [rsp+90h] [rbp-78h]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt; _BYTE v48[&lt;span style="color:#ae81ff"&gt;48&lt;/span&gt;]; &lt;span style="color:#75715e"&gt;// [rsp+98h] [rbp-70h] BYREF
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt; _BYTE v49[&lt;span style="color:#ae81ff"&gt;64&lt;/span&gt;]; &lt;span style="color:#75715e"&gt;// [rsp+C8h] [rbp-40h] BYREF
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;while&lt;/span&gt; ( &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; )
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; core&lt;span style="color:#f92672"&gt;::&lt;/span&gt;fmt&lt;span style="color:#f92672"&gt;::&lt;/span&gt;rt&lt;span style="color:#f92672"&gt;::&amp;lt;&lt;/span&gt;impl core&lt;span style="color:#f92672"&gt;::&lt;/span&gt;fmt&lt;span style="color:#f92672"&gt;::&lt;/span&gt;Arguments&lt;span style="color:#f92672"&gt;&amp;gt;::&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;new_const&lt;/span&gt;(v45, &lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt;off_5555555AEB70);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; std&lt;span style="color:#f92672"&gt;::&lt;/span&gt;io&lt;span style="color:#f92672"&gt;::&lt;/span&gt;stdio&lt;span style="color:#f92672"&gt;::&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;_print&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; alloc&lt;span style="color:#f92672"&gt;::&lt;/span&gt;string&lt;span style="color:#f92672"&gt;::&lt;/span&gt;String&lt;span style="color:#f92672"&gt;::&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;new&lt;/span&gt;(v46);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; std&lt;span style="color:#f92672"&gt;::&lt;/span&gt;io&lt;span style="color:#f92672"&gt;::&lt;/span&gt;stdio&lt;span style="color:#f92672"&gt;::&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;stdin&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; v47 &lt;span style="color:#f92672"&gt;=&lt;/span&gt; v38;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; std&lt;span style="color:#f92672"&gt;::&lt;/span&gt;io&lt;span style="color:#f92672"&gt;::&lt;/span&gt;stdio&lt;span style="color:#f92672"&gt;::&lt;/span&gt;Stdin&lt;span style="color:#f92672"&gt;::&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;read_line&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; core&lt;span style="color:#f92672"&gt;::&lt;/span&gt;result&lt;span style="color:#f92672"&gt;::&lt;/span&gt;Result&lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;T,E&lt;span style="color:#f92672"&gt;&amp;gt;::&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;expect&lt;/span&gt;(v39, v40, aFailedToReadLi, &lt;span style="color:#ae81ff"&gt;19LL&lt;/span&gt;, &lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt;off_5555555AEB80);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; v41 &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;alloc&lt;span style="color:#f92672"&gt;::&lt;/span&gt;string&lt;span style="color:#f92672"&gt;::&lt;/span&gt;String as core&lt;span style="color:#f92672"&gt;::&lt;/span&gt;ops&lt;span style="color:#f92672"&gt;::&lt;/span&gt;deref&lt;span style="color:#f92672"&gt;::&lt;/span&gt;Deref&lt;span style="color:#f92672"&gt;&amp;gt;::&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;deref&lt;/span&gt;(v46);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; v43 &lt;span style="color:#f92672"&gt;=&lt;/span&gt; (_BYTE &lt;span style="color:#f92672"&gt;*&lt;/span&gt;)core&lt;span style="color:#f92672"&gt;::&lt;/span&gt;str&lt;span style="color:#f92672"&gt;::&amp;lt;&lt;/span&gt;impl str&lt;span style="color:#f92672"&gt;&amp;gt;::&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;trim&lt;/span&gt;(v41, v42);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; ( main&lt;span style="color:#f92672"&gt;::&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;check&lt;/span&gt;(v43, v44) )
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;break&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; core&lt;span style="color:#f92672"&gt;::&lt;/span&gt;fmt&lt;span style="color:#f92672"&gt;::&lt;/span&gt;rt&lt;span style="color:#f92672"&gt;::&amp;lt;&lt;/span&gt;impl core&lt;span style="color:#f92672"&gt;::&lt;/span&gt;fmt&lt;span style="color:#f92672"&gt;::&lt;/span&gt;Arguments&lt;span style="color:#f92672"&gt;&amp;gt;::&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;new_const&lt;/span&gt;(v49, &lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt;off_5555555AEB98);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; std&lt;span style="color:#f92672"&gt;::&lt;/span&gt;io&lt;span style="color:#f92672"&gt;::&lt;/span&gt;stdio&lt;span style="color:#f92672"&gt;::&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;_print&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; core&lt;span style="color:#f92672"&gt;::&lt;/span&gt;ptr&lt;span style="color:#f92672"&gt;::&lt;/span&gt;drop_in_place&lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt;alloc&lt;span style="color:#f92672"&gt;::&lt;/span&gt;string&lt;span style="color:#f92672"&gt;::&lt;/span&gt;String&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;(v46);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; core&lt;span style="color:#f92672"&gt;::&lt;/span&gt;fmt&lt;span style="color:#f92672"&gt;::&lt;/span&gt;rt&lt;span style="color:#f92672"&gt;::&amp;lt;&lt;/span&gt;impl core&lt;span style="color:#f92672"&gt;::&lt;/span&gt;fmt&lt;span style="color:#f92672"&gt;::&lt;/span&gt;Arguments&lt;span style="color:#f92672"&gt;&amp;gt;::&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;new_const&lt;/span&gt;(v48, &lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt;off_5555555AEBA8);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; std&lt;span style="color:#f92672"&gt;::&lt;/span&gt;io&lt;span style="color:#f92672"&gt;::&lt;/span&gt;stdio&lt;span style="color:#f92672"&gt;::&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;_print&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; std&lt;span style="color:#f92672"&gt;::&lt;/span&gt;process&lt;span style="color:#f92672"&gt;::&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;exit&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Notice the &lt;code&gt;main::check()&lt;/code&gt; function. It pass &lt;code&gt;v43, v44&lt;/code&gt; as argument. That is the function to check the password correct or not.&lt;/p&gt;</description></item><item><title>Writeup Vòng loại Đội tuyển SVATTT PTIT 2026</title><link>https://edhlii.github.io/ctf/svattt_ptit_quals_2025/</link><pubDate>Thu, 26 Feb 2026 10:15:41 +0700</pubDate><guid>https://edhlii.github.io/ctf/svattt_ptit_quals_2025/</guid><description>&lt;p&gt;&lt;strong&gt;LƯU Ý:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Đây không phải write-up 100% tự làm. Tôi đang làm lại những bài mình còn bị mắc. Trong quá trình đó tôi có đọc write-up của những người khác và nhiều nguồn khác nữa. Đây giống như một bản note tôi viết để chính mình đọc và học hỏi từ các challenge cũ.&lt;/p&gt;
&lt;h1 id="atula"&gt;ATULA&lt;/h1&gt;
&lt;p&gt;Challenge cung cấp một file hơn 600MB. File không chạy được, có lẽ đã bị hỏng.&lt;/p&gt;</description></item></channel></rss>