Hooking
[C++] 최고의 API Hooking Library MS Detours.
[C++] 최고의 API Hooking Library MS Detours.
2019.12.07사티아 나델라로가 새로운 Microsoft의 CEO가 되고나서부터 Microsoft에서는 오픈소스에 큰 관심을 갖고있습니다. 그 중 대표적으로 github를 인수했으며, github의 private project가 완전 유료였으나 이 또한 소규모 프로젝트에서는 무료로 사용할 수 있도록 변경이 되었죠. 그리고 수많은 오픈소스 프로젝트들이 공개되고 있습니다. 그리고 최근! Detours는 MIT License로 변경되면서 완전 무료 오픈소스로 변경되었습니다. https://www.microsoft.com/en-us/research/project/detours/ Detours - Microsoft Research Detours is a software package for re-routing Win32 API..
[C/C++] 윈도우 후킹을 하기 전에 알아야 할 DLL Main에서 하면 안되는 5가지 작업
[C/C++] 윈도우 후킹을 하기 전에 알아야 할 DLL Main에서 하면 안되는 5가지 작업
2019.07.16WIndows Message Hooking 하기에 앞서 DLL Main에서 하면 안 되는 작업 최근 주력 업무 및 시스템 분석을 하게 되면서 DLL Main 에서 몇 가지 동작들에 의해서 문제가 발생한 적이 많이 있어서 정확하게 정리를 했습니다. 후킹을 하기위해 DLL을 로드했을 때 보장되어있는 상황은 Kernel32.dll 이 로드되어있다는 보장 외에는 보장된 상황이 없습니다. 그렇다면 어떠한 상황들에서 어떠한 문제가 생길까요?? 가장 큰 문제는 해당 DLL에 데드락(Dead Lock)이 걸리게 되어 더 이상 흐림이 진행되지 못하여 프로그램이 실행되지 못하는 상황이 발생할 수 있습니다. 주의사항 LoadLibrary, LoadLibraryEx 등을 호출하게되면 데드락 또는 크래시를 유발할 수 있습니다...
[C/C++] 윈도우 메시지 가로채기 기법 (windows message hooking)
[C/C++] 윈도우 메시지 가로채기 기법 (windows message hooking)
2019.07.14윈도우 개발 기법 중 하나가 후킹이라는 기법이 있습니다. 생각보다 간단하게 제어를 할 수 있다는 장점이 있습니다. 거기다가 해당 기법은 MSDN에서 제공되는 공식적인 기술이기 때문에 MSDN 문서도 존재합니다. https://docs.microsoft.com/en-us/windows/win32/winmsg/hooks Hooks - Windows applications Hooks In this article --> A hook is a point in the system message-handling mechanism where an application can install a subroutine to monitor the message traffic in the system and process cer..
[C/C++] DLL injection. 다른 Process에 내 DLL Load 하기
[C/C++] DLL injection. 다른 Process에 내 DLL Load 하기
2016.01.03DLL Injection기본적으로 내가 만든 Process에 DLL을 Load하는 방법은 간단합니다. 그냥 일반적으로 사용하면 되죠 하지만 다른 Process에 내가 원하는 기능을 동작하게 하고싶은 경우엔 어떻게 해야할까요?? 특별한 방법을 사용하여 내가만든 DLL을 다른 Process에서 Load 하여 DllMain에서 필요한 기능을 실행해버리는겁니다. 정상적으로 DLL을 Load했으니 해당 Process의 메모리에 대한 접근 권한을 갖기때문에 여러가지 동작이 가능합니다. 그 특별한 방법이 어떤건지 code로 보겠습니다. DLL Injection code #include #include #include bool process_name_to_pid( __out DWORD& pid, __in const s..