티스토리 뷰

Programing

유저레벨 API후킹 탐지

akon47 2012. 8. 27. 15:06
반응형



유저레벨에서 API함수를 후킹을 하는 방법에는 크게 두가지가 많이 쓰이는 방법이다.

iat를 수정하는 iat후킹과, 해당 함수의 코드자체를 바꾸는 코드패치 후킹이 있다.


이번에 코드패치 형식의 api후킹 탐지를 하기 위해서 다음과 같은 방법을 사용했다.




1. 검사할  프로세스로 DLL을 인젝션한다. (해당 프로세스의 메모리 공간에 엑세스 하기 위해)


2. 인젝션된 DLL은 검사를 원하는 함수의 주소값을 얻어내고, 메모리에 매핑된 해당 함수의 바이너리 코드를 얻는다.


3. 내가 만든 프로그램은 파이프통신을 이용하여 인젝션된 DLL과 통신하며, 후킹되지 않은 정상의 바이너리 코드를 전송한다.


4. DLL은 전송된 코드와 비교하여, 코드값이 일치하지 않는다면 후킹이 이루어진것으로 간주한다.


현재는 일치하는지 아닌지만 검사하는 코드를 작성햇고, 더 발전시켜서 후킹된 api를 복구하는 기능까지 만들어야겟다.

반응형

'Programing' 카테고리의 다른 글

DLL로딩시 DllMain 실행 안시키는 방법.  (2) 2012.08.27
DLL  (0) 2011.08.07
사이트차단 프로그램 해제 방법.  (5) 2010.08.31
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
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
글 보관함