title: Beginning Executable Hacking/Decompiling/Debugging
body: <p>I am comfortable in C#/Java, and I know C and C++ fairly well. However, I want to dig deeper and learn more bare-metal stuff. For example, a simple console program in C++:</p>
  
  <pre><code>int main()
  {
      char *ptr = "helloworld";
      return 1;
  }
  </code></pre>
  
  <p>I opened it in Visual Studio using the debugger (after deleting the pdb file) to step through the code in assembly. I am also using HxD hex editor to look at the binary.</p>
  
  <p>Obviously I am far from understanding what's going on. I want to learn how to trace code as it's executing for a binary I don't have the source to (if possible), or just learn as much about this subject as I can. I understand step-through debugging with source as I use it every day at work, but without it I am helpless.</p>
  
  <p>Is there a 'ground up' tutorial for this type of thing?
  What tools/walkthroughs can you recommend?</p>
  
  <p>Thank you.</p>