0
NSCreateObjectFileImageFromMemory 함수로 메모리에서 번들로드가 가능합니다. 누구든지이 분야에서 성공적인 경험을 갖고 있습니까? 누구든지이 함수에 대한 샘플을 가지고 있습니까? 변수 (오류가 NSObjectFileImageFailure입니다) null의메모리에서 번들로드 및 실행
text srcPath = "/Applications/TextEdit.app/Contents/MacOS/TextEdit";
data_t data;
data.loadFromFile(srcPath);
void *addr;
kern_return_t err;
NSObjectFileImage img = nil;
NSObjectFileImageReturnCode dyld_err;
err = vm_allocate(mach_task_self(), (vm_address_t *)&addr,
data.length(), true);
if(err == 0)
{
//err = vm_write(mach_task_self(), (vm_address_t)addr,
//(vm_address_t)(char*)data, data.length());
memcpy(addr, (char*)data, data.length());
if(err == 0)
dyld_err =
NSCreateObjectFileImageFromMemory(addr, data.length(), &img);
// error is NSObjectFileImageFailure
}
IMG :로 내 코드입니다. 왜?
고마워요.
감사합니다. Xcode (번들 확장자 있음)로 간단한 번들을 만들었지 만 성공하지 못했습니다. –
좋아요, 문제가 발견되었습니다. 1. MH_BUNDLE 파일을로드 할 수 있고 2. 로더와 번들 둘 다 동일한 아키텍처 (32 비트 또는 64 비트)를 가져야합니다. –