<?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>Elf on Security Notes</title>
    <link>https://blog.omiilgo.com/tags/elf/</link>
    <description>Recent content in Elf on Security Notes</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Tue, 15 Sep 2026 09:00:00 +0800</lastBuildDate>
    <atom:link href="https://blog.omiilgo.com/tags/elf/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>ELF Symbols and Relocations, a Full `readelf` Session</title>
      <link>https://blog.omiilgo.com/posts/elf-symbol-and-relocation-basics/</link>
      <pubDate>Tue, 15 Sep 2026 09:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/elf-symbol-and-relocation-basics/</guid>
      <description>Toy PIE: readelf -s / -r / -d / -S in one sitting. .dynsym UND vs .symtab, JUMP_SLOT vs RELATIVE, how a stripped copy still names puts. gdb bind check.</description>
    </item>
    <item>
      <title>Walking .init_array on a Toy Packed ELF</title>
      <link>https://blog.omiilgo.com/posts/packed-elf-init-array-dump/</link>
      <pubDate>Mon, 18 Jul 2022 09:30:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/packed-elf-init-array-dump/</guid>
      <description>Lab stub that mprotects RWX, XOR-decodes a 32-byte .text blob, restores r-x, then returns into real code. readelf of .init_array and PT_GNU_STACK, gdb break on mprotect, dump of the r-x region.</description>
    </item>
    <item>
      <title>Binary Auditing Checklist, Filled on a Toy ELF</title>
      <link>https://blog.omiilgo.com/posts/binary-auditing-checklist/</link>
      <pubDate>Sat, 21 Aug 2021 16:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/binary-auditing-checklist/</guid>
      <description>First-pass checklist actually filled: checksec + readelf + objdump on a 60-line toy with gets/sprintf/printf(user). One-pager of mitigations, sinks, and the ASan crash.</description>
    </item>
    <item>
      <title>Reading RELRO, GOT, and PLT on a PIE Lab Binary</title>
      <link>https://blog.omiilgo.com/posts/relro-got-plt-reading-notes/</link>
      <pubDate>Mon, 15 Jun 2020 09:00:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/relro-got-plt-reading-notes/</guid>
      <description>Partial vs Full RELRO measured on one toy: readelf FLAGS/GNU_RELRO, objdump of puts@plt, gdb GOT slot before and after bind, /proc maps of .got.plt. Companion to the lazy-binding lab.</description>
    </item>
    <item>
      <title>ELF GOT/PLT Lazy Binding, Read From a PIE Lab Binary</title>
      <link>https://blog.omiilgo.com/posts/elf-got-plt-lazy-binding-lab/</link>
      <pubDate>Wed, 22 Apr 2020 11:20:00 +0800</pubDate>
      <guid>https://blog.omiilgo.com/posts/elf-got-plt-lazy-binding-lab/</guid>
      <description>Lab walkthrough of lazy PLT binding on a PIE: readelf, objdump, GOT slot before/after the first call, Partial vs Full RELRO.</description>
    </item>
  </channel>
</rss>
