<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: 𝕡𝕨𝕟.𝕋∅𝕔𝕙!</title>
    <description>The latest articles on DEV Community by 𝕡𝕨𝕟.𝕋∅𝕔𝕙! (@0day_ninja).</description>
    <link>https://dev.to/0day_ninja</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3934063%2F772ce632-de2c-4467-95f0-7a517b1b7db4.jpg</url>
      <title>DEV Community: 𝕡𝕨𝕟.𝕋∅𝕔𝕙!</title>
      <link>https://dev.to/0day_ninja</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/0day_ninja"/>
    <language>en</language>
    <item>
      <title>En Route to Becoming a Vulnerability Researcher Day 1: Writing my first C programs and learning why printf is a weapon</title>
      <dc:creator>𝕡𝕨𝕟.𝕋∅𝕔𝕙!</dc:creator>
      <pubDate>Sat, 16 May 2026 01:26:36 +0000</pubDate>
      <link>https://dev.to/0day_ninja/en-route-to-becoming-a-vulnerability-researcher-day-1-writing-my-first-c-programs-and-learning-why-5dbc</link>
      <guid>https://dev.to/0day_ninja/en-route-to-becoming-a-vulnerability-researcher-day-1-writing-my-first-c-programs-and-learning-why-5dbc</guid>
      <description>&lt;p&gt;**&lt;/p&gt;

&lt;p&gt;What I Did Today&lt;/p&gt;

&lt;p&gt;Today was day one of my C learning journey using the K&amp;amp;R book, the same book written by the people who created the language.&lt;/p&gt;

&lt;p&gt;I set up my working directory in WSL2 Ubuntu and wrote my first three C programs from scratch, typed out manually, compiled, and run in the terminal.&lt;/p&gt;

&lt;p&gt;Program 1: Hello World&lt;/p&gt;

&lt;p&gt;The classic first program. Learned that &lt;code&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/code&gt; pulls in the standard library, that &lt;code&gt;main()&lt;/code&gt; is where execution begins, and that even this innocent six line program triggers over 30 kernel operations when you run it under strace. printf at its most basic level becomes a write() system call talking directly to the kernel.&lt;/p&gt;

&lt;p&gt;Program 2: Arithmetic&lt;/p&gt;

&lt;p&gt;Learned integer vs float division. The biggest takeaway: 10 / 3 in C prints 3, not 3.333333. C throws away the decimal completely when dividing integers. This is called integer truncation and it has caused real vulnerabilities when developers make wrong assumptions about division results.&lt;/p&gt;

&lt;p&gt;Also learned format specifiers. %d for integers, %f for floats, %s for strings, %x for hex. Using the wrong one does not just print wrong output. In the right conditions it leaks memory off the stack. That is where format string vulnerabilities come from.&lt;/p&gt;

&lt;p&gt;Program 3: Memory addresses&lt;/p&gt;

&lt;p&gt;Started exploring how C exposes raw memory. The &amp;amp; operator gives you the actual memory address of a variable. %p prints it. This is the foundation of pointer work which is coming next.&lt;/p&gt;

&lt;p&gt;Tools used today:gcc, nano, WSL2 Ubuntu&lt;/p&gt;

&lt;p&gt;Errors hit and fixed: Missing #include, broken quotes, wrong format specifiers, comma instead of dot in filename, compiling before creating the file.**&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>devjournal</category>
      <category>programming</category>
      <category>security</category>
    </item>
  </channel>
</rss>
