이번에 API후킹 탐지를 하면서 치명적인 버그가 발견됫다. 그것은 바로 DLL이 내부에서 또다른 DLL을 다시 로드하는 부분에서 일어낫다. API후킹 탐지를 위해서, 상대 프로세스에 로딩되어있는 DLL을 나도 똑같이 LoadLibrary()이용하여 로드하게 되는데 이때 해당 DLL이 내부에서 또다른 DLL을 로드할시 "해당 모듈을 찾을 수 없음" 이라는 에러가 발생했다. 이것은 내가 로드한 DLL이 DllMain에서 또 다른 라이브러리를 불러왓기 때문이다. 나는 해당 DLL의 Export함수주소만 알면 되기 때문에 DLL내부에서 또다른 DLL을 로드하는것은 원하지 않는 결과였다.따라서 찾아본결과 LoadLibraryEx()라는 확장함수가 존재하였다. SyntaxC++HMODULE WINAPI LoadLi..
유저레벨에서 API함수를 후킹을 하는 방법에는 크게 두가지가 많이 쓰이는 방법이다.iat를 수정하는 iat후킹과, 해당 함수의 코드자체를 바꾸는 코드패치 후킹이 있다. 이번에 코드패치 형식의 api후킹 탐지를 하기 위해서 다음과 같은 방법을 사용했다. 1. 검사할 프로세스로 DLL을 인젝션한다. (해당 프로세스의 메모리 공간에 엑세스 하기 위해) 2. 인젝션된 DLL은 검사를 원하는 함수의 주소값을 얻어내고, 메모리에 매핑된 해당 함수의 바이너리 코드를 얻는다. 3. 내가 만든 프로그램은 파이프통신을 이용하여 인젝션된 DLL과 통신하며, 후킹되지 않은 정상의 바이너리 코드를 전송한다. 4. DLL은 전송된 코드와 비교하여, 코드값이 일치하지 않는다면 후킹이 이루어진것으로 간주한다. 현재는 일치하는지 아닌..
윈도우7에 기본적으로 들어있는 "화상키보드"는 키보드가 없는상황에서 매우 유용한 프로그램이다.이 화상키보드를 띄어놓고 마우스로 키보드 자판모양을 클릭하면 입력이 된다. 그런데 이 응용프로그램의 특이한점은 화상키보드를 마우스로 클릭해도 이전에 작업중이던 위치의 포커스를 잃지 않는다는것이다. 보통의 응용프로그램은 자신을 클릭하게되면 이전의 프로그램은 포커스를 잃고 KillFocus메시지를 받고, 클릭을 받은 프로그램은 포커스를 가지게 된다. 이 화상키보드의 숨겨진 비밀은 적용되어있는 윈도우스타일에 있다.이 화상키보드에는 확장스타일인 WS_EX_NOACTIVATE가 적용되어있다. 저 스타일을 주게되면 해당 윈도우는 포커스를 가지지 않게 된다. 또한 해당 윈도우를 이동시킬때 잔상(?)도 표시되지 않는다. 윈도우..
실행예제로 99에 8000승을 구해봄. 빠르게 구해짐. 그 이상의 수도 가능함. ㄱㄱ
- Total
- Today
- Yesterday
- KAI
- c#
- Operation System
- Programming - C
- TCP/IP
- 가상드라이브
- 스터디_발표자료
- Programming - C / C++
- 하이퍼큐브
- 데몬
- ffmpeg
- WL-54G
- GAME
- 소니
- WPF
- 녹화
- 구글
- 인코더
- 프로그래밍
- V3
- 유마일
- Programing
- 백신
- API 프로그래밍
- PSP
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |