티스토리 뷰

반응형

http://www.reversecore.com/ 에서 공부한 내용으로 만들어본것.

 

CreateFile, WriteFile을 후킹하여서 해당 DLL이 인젝션된 프로세스에서 CreateFile이나 WriteFile함수가 호출되면 중간에 인수(lpFileName과 lpBuffer)를 가로체는 프로그램을 만들어 보았다.

 

또, 인젝션된 프로세스에서 CreateProcess같은 함수를 이용하여, 자식 프로세스를 생성하여도 자동으로 그 프로세스에도 DLL을 인젝션 하도록 ZwResumeThread() 함수를 후킹했다. (CreateProcess는 내부적으로 ZwResumeThread를 호출한다.)

 

 

메모장을 실행시킨후에 내가 만든 DLL을 메모장에 인젝션 시키면 다음과 같은 콘솔창이 뜬다.

 

그후에 메모장에 아무거나 입력후에 다른이름으로 저장을 하면 다음과 같은내용이 콘솔창에 기록된다.

 

 

 

다른이름으로 저장을 누르는 순간 \pipe\~어쩌구~로 엄청나게 많이 CreateFileW가 호출되는걸 알 수 있는데,

SVN을 설치햇엇는데 걔랑 관련이 있는거 같앗다..

 

또 내가 다른이름으로 저장하니, 테스트저장 ㅋㅋ.txt 라는 파일이 두번 CreateFileW에서 쓰인다.

아마도 첫번째에서 파일을 생성한다음 핸들을 닫고, 메모장의 내용을 기록할때 다시한번 오픈한다음 기록하는것 같다.

 

이 방법을 잘 이용해서 윈도우에서 저장되는 모든 파일을 서버로 전송되게 하는 방법을 생각하고 있다.

반응형

'Programing > C++' 카테고리의 다른 글

메모장 암호화 플러그인  (3) 2012.06.05
파일전송 프로그램.  (0) 2011.11.13
제곱승 구하는 프로그램.  (0) 2011.10.22
공지사항
최근에 올라온 글
최근에 달린 댓글
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
글 보관함