kinux.comgosu.net
하이브리드 후킹 | kinux story
http://kinux.comgosu.net/2008/03/07/하이브리드-후킹
다른 워드프레스 컴고수닷넷 사이트 사이트. 에 보면 하이브리드 후킹에. 간단히 말해서 DLL Injection 없이 커널모드 에서 유저모드의 IAT(Import Address Table)을 바로 후킹하는 것입니다. 이 후킹 방식의 주요 포인트는 PsSetLoadImageNotifyRoutine(). 함수를 이용하여 바이너리 이미지가 메모리로 로드되는 시점을 알 수 있다는 것과 KUSER SHARED DATA. 영역이라 불리는 커널모드와 유저모드에서 동일한 물리 메모리 주소를 가리키는 영역을 이용한다는 것입니다. NOTE : PsSetLoadImageNotifyRoutine 으로 등록한 콜백함수가 호출되는 시점이 이미지들이 로딩되는 프로세스와 같은 Process Context 인 점이 중요 합니다. NOTE : 커널모드에서의 KUSER SHARED DATA : 0xFFDF0000 4K. 유저모드에서의 KUSER SHARED DATA : 0x7FFE0000 4K. Ldquo; 하이브리드 후킹.
kinux.comgosu.net
Undocument Native API 중 BOOLEAN 형의 함수 인자 | kinux story
http://kinux.comgosu.net/2008/03/12/undocument-native-api-중-boolean-형의-함수-인자
다른 워드프레스 컴고수닷넷 사이트 사이트. Undocument Native API 중 BOOLEAN 형의 함수 인자. 형은 TRUE, FALSE를 구별하는 변수의 타입으로 사용되지만 서로 약간의 차이점이 존재합니다. 그것은 아래와 같이 선언됨에 따라서 BOOLEAN 으로 선언한 변수의 크기는 1바이트이며, BOOL 은 4바이트(32bit 시스템에서) 인 점입니다. Typedef unsigned char BOOLEAN. 일반적으로 프로그래밍을 할 경우에, 이 둘을 별로 구별하지 않고 사용하게 되는데요. 하지만 후킹(함수 포인터 변경 방식)을 하는 경우 원본 함수를 호출하려 할때 정확하지 않은 함수 인자를(즉, 사이즈가 다른) 사용하면 때때로 에러( ERROR INVALID PARAMETER. 로 리턴 되는 경우가 있어 주의가 필요합니다. 특히, Windows 의 Undocument API. 를 후킹하고자 할 때는 함수 프로토타입을 알수가 없어서 정확한 함수 인자를 알기가 어렵습니다. 80563520 ...