LINUX.ORG.RU

История изменений

Исправление SZT, (текущая версия) :

Вот кстати такой код:

#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <inttypes.h>
#include <fcntl.h>

#define ELF_MAGIC_LE		0x464C457F	/* "\x7FELF" in little endian */

int main( int argc, char *argv[])
{
  int devnull = open("/dev/random", O_WRONLY);
  size_t i;

  for (i = 0x0; i+1 < 0xfffff000ULL; i+= 0x1000)
  {
    if (write(devnull, (void *)i, 4) == 4)
    {
      if( *(uint32_t *)i == ELF_MAGIC_LE )
      {
        printf ("elf header at 0x%zx\n", i);
      }
    }
  }
  return 0;
}
сигфолта почему-то не вызывает. И работает надежнее

Исходная версия SZT, :

Вот кстати такой код:

#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <inttypes.h>
#include <fcntl.h>

#define ELF_MAGIC_LE		0x464C457F	/* "\x7FELF" in little endian */

int main( int argc, char *argv[])
{
  int devnull = open("/dev/random", O_WRONLY);
  size_t i;

  for (i = 0x0; i+1 < 0xfffff000ULL; i+= 0x1000)
  {
    if (write(devnull, (void *)i, 4) == 4)
    {
      if( *(uint32_t *)i == ELF_MAGIC_LE )
      {
        printf ("elf header at 0x%zx\n", i);
      }
    }
  }
  return 0;
}
сигфолта почему-то не вызывает.