내 코드가 실행하는 프로세스의 레지스트리 액세스를 연결하는 간단한 방법이 있습니까?특정 프로세스에 대한 레지스트리 액세스를 연결하는 간단한 방법
답변
SetWindowsHookEx 전혀 도움이되지 않습니다 ... 나는 약 SetWindowsHookEx
과 친구를 알고 있지만 ... 나는 아직도 Unix
에 LD_PRELOAD
만큼 간단한 방법이 있다는 희망을 너무 복잡이 그 - 그것은 서로 다른 기능을 제공합니다.
https://web.archive.org/web/20080212040635/http://www.codeproject.com/KB/system/RegMon.aspx이 도움이되는지 확인하십시오. SysInternals의 RegMon은 매우 복잡한 방식으로 커널 모드 드라이버를 사용합니다.
업데이트 : 저희 회사는 귀찮은 레지스트리 작업을 추적 할 수있는 CallbackRegistry 제품을 제공합니다. 그리고 BTW는 요청시 무료 비영리 라이센스를 제공합니다 (사례별로 승인 될 수 있음). http://www.dreamincode.net/code/snippet407.htm
그것은 당신이있어 일단 이러한 유형의 물건을 꽤 쉽게 : 나는 여기에 DLL 주입 조각 당신을 제공 할 것입니다, 그러나 http://en.wikipedia.org/wiki/DLL_injection
:
여기에 DLL 주입의 이론에 최대 읽기 외부 응용 프로그램의 메모리에, 주입시, 프로세스의 일부가 될 수도 있습니다.
당신이 찾고있는 것이라고 생각하는 detouring이라는 것이 있습니다. 단순히 함수를 후크하는 것으로, 그 프로세스가 그것을 호출 할 때 대신 자신의 함수를 실행합니다. 당신이
(http://msdn.microsoft.com CreateRegKeyEx을 통해 자신의 함수를 작성하고자한다면 그래서
(함수의 끝에서 함수를 호출,이 충돌하지 않도록하려면) /en-us/library/ms724844%28v=vs.85%29.aspx)
그것은 다음과 같이 보일 수 있습니다
LONG WINAPI myRegCreateKeyEx(HKEY hKey, LPCTSTR lpSubKey, DWORD Reserved, LPTSTR lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition)
{
//check for suspicious keys being made via the parameters
RegCreateKeyEx(hKey, lpSubKey, Reserved, lpClass, dwOptions, samDesired, lpSecurityAttributes, phkResult, lpdwDisposition);
}
당신은 여기에 아주 잘 작성 우회 라이브러리라는 DetourXS를 얻을 수 있습니다 : http://www.gamedeception.net/threads/10649-DetourXS
는 여기 사용하여 우회를 설정하는 방법에 대한 자신의 예제 코드입니다 :
#include <detourxs.h>
typedef DWORD (WINAPI* tGetTickCount)(void);
tGetTickCount oGetTickCount;
DWORD WINAPI hGetTickCount(void)
{
printf("GetTickCount hooked!");
return oGetTickCount();
}
// To create the detour
oGetTickCount = (tGetTickCount) DetourCreate("kernel32.dll", "GetTickCount", hGetTickCount, DETOUR_TYPE_JMP);
// ...Or an address
oGetTickCount = (tGetTickCount) DetourCreate(0x00000000, hGetTickCount, DETOUR_TYPE_JMP);
// ...You can also specify the detour len
oGetTickCount = (tGetTickCount) DetourCreate(0x00000000, hGetTickCount, DETOUR_TYPE_JMP, 5);
// To remove the detour
DetourRemove(oGetTickCount);
을 그리고 당신은 말할 수없는 경우에, 그 조각은 (GetTickCount를 후킹한다)와 함수가 호출 될 때마다, 그는 GetTickCount를 구부려 쓴다 " ! " - 그런 다음 GetTickCount 함수를 실행합니다.
정보가 흩어져서 죄송합니다. 도움이되기를 바랍니다. :) - 저는 이것이 낡은 질문이라는 것을 알고 있습니다. -
대부분의 winapi 호출은 모듈 식 호출을위한 심볼 테이블 항목을 생성합니다. 따라서이 코드를 연결하기가 매우 쉽습니다. IAT 주소를 덮어 쓰면됩니다. MSDetours와 같은 것을 사용하면 몇 줄의 코드에서 안전하게 수행 할 수 있습니다. MSDetours는 또한 사용자 지정 dll을 대상 프로세스에 삽입하여 연결을 할 수있는 도구를 제공합니다.
- 1. 프로세스에 연결하는 방법
- 2. WoW64 및 x64 프로세스에 대한 공유 레지스트리 키를 만드는 방법
- 3. 내 .NET 응용 프로그램에 대한 레지스트리 (쓰기) 액세스를 허용하는 방법?
- 4. 커널 모드 레지스트리 액세스를 포함하여 레지스트리 모니터링?
- 5. RSOP를 통해 사용자의 레지스트리 액세스를 결정하는 방법
- 6. WinCe 5.0에서 실행중인 프로세스에 VS2005를 연결하는 방법
- 7. MULE 생명주기 - 시작 프로세스에 연결하는 방법
- 8. 권한 상승없이 특정 레지스트리 키에 대한 쓰기 액세스를 허용 할 수 있습니까?
- 9. process.Totalprocessortime을 사용하여 특정 프로세스에 대한 프로세스 시간을 얻는 방법
- 10. 레지스트리 액세스를 모니터링하는 방법은 무엇입니까? [C#]
- 11. Tomcat이 특정 파일에 대한 액세스를 거부합니다.
- 12. 특정 파일에 대한 디스크 액세스를 어떻게 모니터합니까?
- 13. 테이블의 특정 열에 대한 액세스를 제어 하시겠습니까?
- 14. InstallShield 레지스트리 키를 지역화하는 가장 간단한 방법
- 15. 내 프로그램에 의해로드 된 dll의 레지스트리 액세스를 리디렉션하는 방법
- 16. ADFS 2.0 - 특정 발급자에 대한 내 RP 액세스를 차단하는 방법
- 17. PHP에서 instanciated COM 개체에서 서버 쪽 레지스트리 액세스를 얻는 방법?
- 18. 폴더 또는 파일에 대한 액세스를 거부하는 방법
- 19. 서블릿 컨테이너 : 폴더에 대한 액세스를 금지하는 방법
- 20. 디버거를 파이썬 서브 프로세스에 연결하는 방법은 무엇입니까?
- 21. 미디어 스트림에 대한 무단 액세스를 방지하는 방법
- 22. fbml에서 FB의 벽에있는 특정 게시물에 연결하는 방법
- 23. 모든 시스템 프로세스에 대한 GetGuiResources를 얻는 방법?
- 24. 타사 HTML 페이지에 대한 액세스를 제어하는 방법
- 25. WebService에 대한 ASHTTPRequest 연결하는 방법
- 26. 프로세스에 연결하고 특정 지침을 읽으려면 어떻게해야합니까?
- 27. SharePoint의 특정 목록에 이벤트 처리기를 연결하는 방법?
- 28. Xcode에서 특정 프레임 워크 버전에 연결하는 방법?
- 29. j2me 응용 프로그램에서 특정 서버와 연결하는 방법
- 30. 새 프로세스 인스턴스를 기존 프로세스에 연결하는 방법은 무엇입니까?