Переход к сегменту данных

Я тестирую пишущий мною ассемблер, который генерирует инструкции X86. Я хотел бы сделать что-то подобное, чтобы проверить, работают ли инструкции или нет.

#include<stdio.h>

unsigned char code[2] = {0xc9, 0xc3};

int main() {
  void (*foo)();
  foo = &code;
  foo();
  return 0;
}

Однако похоже, что OS X предотвращает это из-за DEP. Есть ли способ (а) отключить DEP для этой программы или (б) ввести байты в другом формате, чтобы я мог перейти к ним.

5
задан michael dillard 18 November 2011 в 07:13
поделиться