OS X에서 UCONTEXT를 통해 EIP 및 EBP에 액세스하십시오
문제
Linux 및 FreeBSD에서 실행되도록 설계된 OSX에 도구를 포트하려고합니다. 프로그램에는 EIP 및 EBP에 대한 액세스가 필요한 경우가 있습니다. 이것은 ucontext를 통해 이루어집니다.
그래서 __apple__에 대한 사례를 추가하여 UContext 구조물에 적절한 액세스 권한을 부여했습니다.
9887 #if defined(__FreeBSD__)
9888 *paddr = uc->uc_mcontext.mc_eip;
9889 #elif defined(__dietlibc__)
9890 *paddr = uc->uc_mcontext.eip;
9891 #elif defined(__APPLE__)
9892 *paddr = uc->uc_mcontext.ss.eip;
9893 #else
9894 *paddr = uc->uc_mcontext.gregs[REG_EIP];
9895 #endif
그러나 uc-> uc_mcontext.ss.eip는 컴파일하지 않습니다. UCONTEXT에서 EIP에 액세스하는 방법을 잘 모르겠습니다.
제휴하지 않습니다 StackOverflow