

<feed xmlns="http://www.w3.org/2005/Atom">
  <id>https://www.debugxp.com/</id>
  <title>Z0F</title>
  <subtitle>Technical research and education focusing on C/C++, Windows, reverse engineering, binary exploitation, and development. Reverse engineering course. Z0F 0xZ0F.</subtitle>
  <updated>2026-07-25T15:05:02-04:00</updated>
  <author>
    <name>0xZ0F</name>
    <uri>https://www.debugxp.com/</uri>
  </author>
  <link rel="self" type="application/atom+xml" href="https://www.debugxp.com/feed.xml"/>
  <link rel="alternate" type="text/html" hreflang="en"
    href="https://www.debugxp.com/"/>
  <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator>
  <rights> © 2026 0xZ0F </rights>
  <icon>/assets/img/favicons/favicon.ico</icon>
  <logo>/assets/img/favicons/favicon-96x96.png</logo>


  
  <entry>
    <title>New Website</title>
    <link href="https://www.debugxp.com/posts/NewWebsite/" rel="alternate" type="text/html" title="New Website" />
    <published>2026-07-25T08:00:00-04:00</published>
  
    <updated>2026-07-25T08:00:00-04:00</updated>
  
    <id>https://www.debugxp.com/posts/NewWebsite/</id>
    <content src="https://www.debugxp.com/posts/NewWebsite/" />
    <author>
      <name>0xZ0F</name>
    </author>

  
    
    <category term="Blog" />
    
  

  
    <summary>
      





      I’ve created a new website which is better suited for my blog posts and courses.

Check it out here: https://debugoff.com

    </summary>
  

  </entry>

  
  <entry>
    <title>WinAFL EXE Fuzzing</title>
    <link href="https://www.debugxp.com/posts/WinAFL_EXE_Fuzzing/" rel="alternate" type="text/html" title="WinAFL EXE Fuzzing" />
    <published>2025-03-01T07:00:00-05:00</published>
  
    <updated>2025-03-01T07:00:00-05:00</updated>
  
    <id>https://www.debugxp.com/posts/WinAFL_EXE_Fuzzing/</id>
    <content src="https://www.debugxp.com/posts/WinAFL_EXE_Fuzzing/" />
    <author>
      <name>0xZ0F</name>
    </author>

  
    
    <category term="Blog" />
    
    <category term="Research" />
    
  

  
    <summary>
      





      
  The relevant code for this post can be found here: https://github.com/0xZ0F/WinAFLEXEHarness


There are a handful of great guides on performing fuzzing using WinAFL (and various other fuzzers). The article written by Angelystor has been particularly helpful, as well as this one by 2ourc3 and this one by Antonio Morales. The major issue I was running into, however, is that existing guides fo...
    </summary>
  

  </entry>

  
  <entry>
    <title>Extending PE Sections</title>
    <link href="https://www.debugxp.com/posts/ExtendingPESections/" rel="alternate" type="text/html" title="Extending PE Sections" />
    <published>2024-05-07T09:00:00-04:00</published>
  
    <updated>2024-05-07T09:00:00-04:00</updated>
  
    <id>https://www.debugxp.com/posts/ExtendingPESections/</id>
    <content src="https://www.debugxp.com/posts/ExtendingPESections/" />
    <author>
      <name>0xZ0F</name>
    </author>

  
    
    <category term="Blog" />
    
    <category term="Research" />
    
  

  
    <summary>
      





      
  A basic understanding of the PE header is assumed.



  Source code referenced can be found under my “PESENT” project on GitHub.


I was recently looking into post-build configuration for binaries and I was curious about the modification of PE sections. I already knew how to enlarge the last section of the PE, but I wanted more. I didn’t like having to search my own binary for data that I pu...
    </summary>
  

  </entry>

  
  <entry>
    <title>RE Course - 8.04 - GetElement()</title>
    <link href="https://www.debugxp.com/posts/RECourse_CH08_04_GetElement/" rel="alternate" type="text/html" title="RE Course - 8.04 - GetElement()" />
    <published>2024-05-06T20:08:04-04:00</published>
  
    <updated>2024-05-06T20:08:04-04:00</updated>
  
    <id>https://www.debugxp.com/posts/RECourse_CH08_04_GetElement/</id>
    <content src="https://www.debugxp.com/posts/RECourse_CH08_04_GetElement/" />
    <author>
      <name>0xZ0F</name>
    </author>

  
    
    <category term="Course" />
    
    <category term="RE" />
    
  

  
    <summary>
      





      Now let’s look at a function that has to do with looking data up in the table. Remember, it doesn’t matter which functions we reverse first. I’m choosing based on what I think will be a good order to go in.

Multiple functions might get something from the table: RtlEnumerateGenericTable, RtlGetElementGenericTable, RtlLookupElementGenericTable, and some others. Based on the names, I think RtlGet...
    </summary>
  

  </entry>

  
  <entry>
    <title>RE Course - 8.03 - IsGenericTableEmpty()</title>
    <link href="https://www.debugxp.com/posts/RECourse_CH08_03_IsGenericTableEmpty/" rel="alternate" type="text/html" title="RE Course - 8.03 - IsGenericTableEmpty()" />
    <published>2024-05-06T20:08:03-04:00</published>
  
    <updated>2024-05-06T20:08:03-04:00</updated>
  
    <id>https://www.debugxp.com/posts/RECourse_CH08_03_IsGenericTableEmpty/</id>
    <content src="https://www.debugxp.com/posts/RECourse_CH08_03_IsGenericTableEmpty/" />
    <author>
      <name>0xZ0F</name>
    </author>

  
    
    <category term="Course" />
    
    <category term="RE" />
    
  

  
    <summary>
      





      Next up let’s take a look at RtlIsGenericTableEmpty. This is yet another potentially easy function to reverse that may give us valuable information.

Once again, let’s try to predict how it could work. The table may contain a member that is set or changed when it’s not empty. Another possibility is that it uses the member we found previously that has to do with the number of table elements, wha...
    </summary>
  

  </entry>

</feed>


