2009-05-01 2 views
2

다른 콘솔 응용 프로그램을 호출하고 일부 매개 변수 (콘솔 응용 프로그램은 비디오/오디오 덮개 응용 프로그램)를 전달하는 응용 프로그램이 있습니다 ... 프로그래밍 방식으로 "스파이"또는 후킹/모니터링 이외의 전달 된 매개 변수를 잡는 방법이 있습니다 shellexecute/CreateThread 등?win32pipe/console에서 "스파이"하는 방법은 무엇입니까?

답변

2

네, 프로세스 익스플로러가 작성할 수 있으며, 동일한 기술을 사용할 수 있습니다. 그러나 AFAIK 플랫폼 SDK의 winternl.h 파일에 대한 델파이 번역이 없으므로 훨씬 더 지루하고 어렵습니다. 또한이 버전은 매우 버전에 따라 다르며 다음 Windows 버전과 충돌 할 가능성이 있습니다. 이것이 64 비트 프로세스 (32 비트 프로세스에서)에서 작동하는지 여부는 명확하지 않습니다.

정말로 원하는 경우 this blog posting by Matt Pietrek 및 CodeProject 문서 "Read Environment Strings of Remote process"에서 필요한 정보를 찾을 수 있습니다.

폐쇄 소스 상용 프로그램에 사용하지 않으려는 경우 ReactOS 프로젝트의 (GPL 라이선스가 부여 된) annotated version of the winternl.h 파일을 살펴 보는 것이 도움이 될 것입니다.

4

원본을 호출하고 모든 매개 변수를 전달하는 실행 파일을 만듭니다. 그런 다음 원본을 다른 곳으로 옮기고 exe로 바꾸십시오. 그런 다음 프로그램은 모든 매개 변수를 포함하여 모든 호출을 해당 호출에 기록 할 수 있습니다.

+0

글쎄, 그건 정말 좋은 속임수입니다;) 나는 그것을 시도합니다. 하지만 저는 sysinternals에서 proceess explorer를 시도했습니다. 호출 된 응용 프로그램에 전달 된 매개 변수를 포함하는 프로세스 환경 정보를 확인할 수있는 프로세스 속성의 탭이 있습니다. 대상 응용 프로그램이 시작된 후 프로세스 탐색기를 시작 했으므로 프로세스 탐색기가 이러한 정보를 어딘가에서 읽습니다 (메모리를 처리합니까?). 일부 API를 연결하지 않고이 작업을 수행하는 방법을 알고 싶습니다. 덕분에 다시 . – avar

0

1992 년부터 Win32 FAQ입니다. PEB 만 읽으십시오.
Win32 experts group에서 확인하십시오.

관련 문제