tinyinst 0.1.1

Rust bindings for googleprojectzero/TinyInst
Documentation
#include <stdio.h>

void pass1(char *buf, int buf_size)
{
  char target[0x10];
  if (buf[0] == 'b')
  {
    if (buf[1] == 'a')
    {
      if (buf[2] == 'd')
      {
        if (buf[3] == '1')
        {
          if (buf[4] == '2')
          {
            printf("Triggering buffer overflow\n");
            memcpy(target, buf, 0x1000000);
            printf("Should never get to this point\n");
          }
        }
      }
    }
  }
}
int main(int argc, char *argv[])
{
  FILE *fp;
  char buf[0x1000];
  if (argc == 2)
  {
    fp = fopen(argv[1], "r");
    if (fp == NULL)
    {
      printf("File not found\n");
      printf("Received filename %s\n", argv[1]);
      return 1;
    }
    fscanf(fp, "%s", buf);

    pass1(buf, sizeof(buf));
  }
  else
  {
    printf("Program requires input file\n");
  }
}