0
C++을 사용하고 있으며 메모리 영역에서 실행 권한을 얻고 싶습니다. 내가 할 수있는 방법이 있니? 지금 막 실행하려고하면 액세스 위반 오류가 발생합니다.메모리 영역에 대한 "실행"권한 얻기
C++을 사용하고 있으며 메모리 영역에서 실행 권한을 얻고 싶습니다. 내가 할 수있는 방법이 있니? 지금 막 실행하려고하면 액세스 위반 오류가 발생합니다.메모리 영역에 대한 "실행"권한 얻기
Windows의 경우 기능이 VirtualProtect 인 경우 실행 권한을 얻으려면 PAGE_EXECUTE_READWRITE을 전달해야합니다.
기본적으로 Windows는 메모리를 허용하지 않습니다. Data Execute Prevention (DEP)이라고합니다.
플랫폼? 운영 체제? 어떻게 데이터를 실행하려고합니까? – msw
Windows 7 홈 프리미엄 64 비트. 동적 어셈블리를 수행 할 수있는 깔끔한 방법을 생각했습니다. typedef void (* funcptr)(); /* 1을 ebx로 이동하고 */ 을 반환합니다. char funcbody [8] = { '\ xbb', '\ x01', '\ x00', '\ x00', '\ x00', '\ xc3'} ; void * tmp = funcbody; funcptr f = (funcptr) tmp; f(); 하지만 메모리 액세스 위반이 발생합니다. – Langley