他人の空似自作物置場

heap_spraying.zip/target.cpp

#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>

#include <vector>

int main(const int argc, const char * const * const argv) {
   unsigned int size;
   std::vector<char> name;
   FILE *const fp = std::fopen("data.bin", "rb");
   std::fread(&size, sizeof(size), 1, fp);
   if (size == 0) {
      return 0;
   }
   name.resize(size);
   std::fread(&name[0], 1, size, fp);
   std::fclose(fp);
   __asm {
      mov esp, 0x03EE0000;
      ret;
   };
   std::printf("name: %s\n", &name[0]);
   return 0;
}