title: is it harder to perform a stack Buffer Overflow in x86-64 than x86 system?
body: <p>I know the that the main difference between x86-64 and x86 is the memory size where x86 can only handle 32-bit instructions and x86-64 64-bit, the question becomes is it actually harder to perform a stack-based buffer overflow attack in a x86_64 system than a x86. For example, using the following program:</p>
  <pre class="lang-c prettyprint-override"><code>#include &lt;stdio.h&gt;
  #include &lt;string.h&gt;
  
  int main(int argc, char* argv[])
  {
     char buffer[64];
     strcpy(buffer, argv[1]);
     return 0;
  }
  </code></pre>
  <p>what makes it actually harder to perform a buffer overflow than just adjusting the argument size for x86 and x86-64-bit architecture? .</p>