inject_and_interpose 코드를 사용하여 삽입 및 삽입 할 수 있도록 실제로 실행되기 전에 새로 시작한 프로세스 (일반적인 닫힌 소스 사용자 응용 프로그램)의 PID를 가져와야합니다.새 프로세스가 실행되기 전에 PID를 가져 오는 방법은 무엇입니까?
명확하게 말하면, "빨리 알아 차려야합니다"보다 더 잘 수행해야합니다. 폴링을하거나 비동기식 알림을 수신 할 수 없습니다. 이는 해당 프로세스가 이미 몇 밀리 초 동안 실행되었음을 의미합니다. 나는 행동을 취한다.
단일 명령문이 실행되기 전에 주사 및 끼우기를 할 수있는 기회가 필요합니다.
특정 이름의 프로세스가 존재할 때 동기식으로 통지되는 백그라운드 프로세스를 작성하는 데 익숙합니다. 또한 대상 응용 프로그램을 실행하는 실행 프로그램을 작성하는 데 익숙합니다.
모든 솔루션은 최소 10.5 (Leopard)에서 10.8 (Mountain Lion) 미만의 64 비트 코드를 지원해야합니다.
이것은 고통스럽게 단순한 것으로 판명되었으므로 나는 먼저 가서 OS X에 익숙하다는 것을 인정합니다 :) 감사합니다!
윈도우에서는 'CreateProcess'를 호출 할 때'CREATE_SUSPENDED' 플래그를 설정하여 일시 중단 된 상태에서 프로세스를 시작하면됩니다. 그런 다음 당신이 원할 때 까다로운 일을 다 끝내면 ResumeThread를 호출합니다. 어쩌면 이것이 올바른 방향으로 나아가는 데 도움이 될 것입니다. –
프로세스 실행을 통제하지 않는 한 새로 선언 된 프로세스를 동 기적으로 가로 챌 수있는 방법이 없다는 것을 확신합니다. –
@JonathonReinhart, 나는이 Windows를하는 데 관여했지만 아직 OS X에서는 운이 없다. 그래서 "올바른 방향을 찾고있다"는 내가 여기에서 시도하고있다.) 고마워! – bland328