좋아, 제 응용 프로그램이 메모리에 방출 (x86) 명령어를 실행하고 페이지를 실행 가능하게한다고 말합니다. JITted 메소드의 메소드 스텁을 내 보낸 명령어 스트림을 가리 키도록 변경하는 방법이 있습니까?.net JIT 컴파일러를 속여 다른 방법을 실행하는 방법이 있습니까?
예컨대 :
내가 임의의 무언가를 메모리에 x86 명령어 스트림을 생성 한 것으로 가정 해 보겠습니다. 이제 'int Target()'메서드가 있다고 가정 해 보겠습니다. 나는 아직 그것을 부르지 않았으므로 편집되지 않았다.
- 가 대상의 그루터기에 포인터를 가져
- 가 내 방출 명령 스트림을 가리 확인 : 어떤 방식이있다.
나는 이 같은 하이재킹을 방지하기 위해 실질적으로 닷넷의 모든 단일 보안 기능이 설계되어 있음을 알고 있습니다. 그러나 호스팅 API를 통해 가능할 수 있습니까?
어딘가에 'IL rewriting'이 있었다고 회상했습니다. – leppie
예. 나는 막 말하려고했다. 일리노이처럼 보입니다. – TraumaPony