[정보보안 / 보안기술] 예제소스로 알아보는 윈도우즈 후킹 소스 코드 및 설명
*진*
다운로드
장바구니
소개글
이 프로그램은 C와 API로 만들어졌으며, 정보보안 및 후킹 , 키로그에 대해 설명합니다.이 프로그램은 저작자의 동의없이 변경/수정/배포가 가능하며, 만약 가능하다면 일부 소스를 바꿔서 자신만의 프로그램으로 만들어서 배포하여도 상관없으나 원본 저작자 표시를 반드시 해주시기 바랍니다.
포함된 프로그램
- Hooking Dll (풀소스)
- Hooking Client(풀소스)
- Hooking Server(풀소스)
- preview1,2
- 소스코드 분석 한글 파일(2007버전 호환)
목차
1. 들어가기전에2. 클라이언트 소스분석
3. 서버 소스분석
4. 혹 DLL 소스분석
본문내용
우리가 사용하는 윈도우즈 운영체제는 위 표와 같은 형식으로 되어있습니다. 위 표에서 보시는 바와 같이 사용자 프로그램 A와 사용자 프로그램 B는 서로 다른 영역의 계층을 사용하기 때문에 데이터 공유가 불가능합니다. 이 설명이 의미하는 바는 우리가 프로그램을 만들더라도 그 프로그램이 활성화 되어있지 않다면 절때 어떤 키가 눌렸는지를 알 수가 없다는 의미입니다. 따라서 우리는 공용 커널 계층(즉, 모든 윈도우즈 프로그램이 공용으로 사용하는 계층)을 사용하기 위해서 DLL을 사용하여 전역 훅 DLL을 만들고 사용자 프로그램에 설치하여 사용자의 입력을 받을 것입니다. 이 입력을 네트워크를 통해 서버로 보내게 되면 서버는 그 키의 입력을 받아서 EditControl에 보여줄 것입니다.<중 략>
SetFocus(GetDlgItem(hDlg,IDC_EDIT1));
return 1;
case WM_COMMAND:
//프로그램이종료되면Hook DLL을해제한다.
switch(LOWORD(wParam)){
case IDOK:
UninstallHook_Ry();
WriteFile(hFile,str,sizeof(str),&dwWritten,NULL);
shutdown(hServSock,SD_SEND);
EndDialog(hDlg,IDOK);
return TRUE
case IDCANCEL:
UninstallHook_Ry();
WriteFile(hFile,str,sizeof(str),&dwWritten,NULL);
shutdown(hServSock,SD_SEND);
EndDialog(hDlg,IDCANCEL);
return TRUE
}
}
return FALSE
참고 자료
없음압축파일 내 파일목록
Keylog3S/
Keylog3S/Debug/
Keylog3S/Debug/BuildLog.htm
Keylog3S/Debug/KeyLog.res
Keylog3S/Debug/Keylog3Client.obj
Keylog3S/Debug/Keylog3S.exe
Keylog3S/Debug/Keylog3S.exe.embed.manifest
Keylog3S/Debug/Keylog3S.exe.embed.manifest.res
Keylog3S/Debug/Keylog3S.exe.intermediate.manifest
Keylog3S/Debug/Keylog3S.ilk
Keylog3S/Debug/Keylog3S.pdb
Keylog3S/Debug/mt.dep
Keylog3S/Debug/MyHookDLL2.dll
Keylog3S/Debug/vc60.idb
Keylog3S/Debug/vc60.pdb
Keylog3S/Debug/vc80.idb
Keylog3S/Debug/vc80.pdb
Keylog3S/KeyLog.aps
Keylog3S/KeyLog.rc
Keylog3S/Keylog3Client.cpp
Keylog3S/Keylog3S.dsp
Keylog3S/Keylog3S.dsw
Keylog3S/Keylog3S.ncb
Keylog3S/Keylog3S.opt
Keylog3S/Keylog3S.plg
Keylog3S/Keylog3S.vcproj
Keylog3S/Keylog3S.vcproj.2120-PC.2120.user
Keylog3S/MyHookDLL2.lib
Keylog3S/Release/
Keylog3S/Release.zip
Keylog3S/Release/KeyLog.res
Keylog3S/Release/Keylog3S.exe
Keylog3S/Release/Keylog3S.obj
Keylog3S/Release/MyHookDLL2.dll
Keylog3S/Release/vc60.idb
Keylog3S/resource.h
KeylogClnt/
KeylogClnt/Debug/
KeylogClnt/Debug/BuildLog.htm
KeylogClnt/Debug/KeylogClnt.exe
KeylogClnt/Debug/KeylogClnt.exe.embed.manifest
KeylogClnt/Debug/KeylogClnt.exe.embed.manifest.res
KeylogClnt/Debug/KeylogClnt.exe.intermediate.manifest
KeylogClnt/Debug/KeylogClnt.ilk
KeylogClnt/Debug/KeylogClnt.pdb
KeylogClnt/Debug/KeylogClnt.res
KeylogClnt/Debug/KeylogServer.obj
KeylogClnt/Debug/KeylogServer.res
KeylogClnt/Debug/mt.dep
KeylogClnt/Debug/vc60.idb
KeylogClnt/Debug/vc60.pdb
KeylogClnt/Debug/vc80.idb
KeylogClnt/Debug/vc80.pdb
KeylogClnt/KeylogClnt.aps
KeylogClnt/KeylogClnt.dsp
KeylogClnt/KeylogClnt.dsw
KeylogClnt/KeylogClnt.ncb
KeylogClnt/KeylogClnt.opt
KeylogClnt/KeylogClnt.plg
KeylogClnt/KeylogClnt.sln
KeylogClnt/KeylogClnt.suo
KeylogClnt/KeylogClnt.v11.suo
KeylogClnt/KeylogClnt.vcproj
KeylogClnt/KeylogClnt.vcproj.2120-PC.2120.user
KeylogClnt/KeylogServer.cpp
KeylogClnt/KeylogServer.rc
KeylogClnt/Release/
KeylogClnt/Release/KeylogClnt.exe
KeylogClnt/Release/KeylogClnt.obj
KeylogClnt/Release/KeylogClnt.res
KeylogClnt/Release/vc60.idb
KeylogClnt/resource.h
MyHookDLL2/
MyHookDLL2/Debug/
MyHookDLL2/Debug/BuildLog.htm
MyHookDLL2/Debug/mt.dep
MyHookDLL2/Debug/MyHookDLL2.dll
MyHookDLL2/Debug/MyHookDLL2.dll.embed.manifest
MyHookDLL2/Debug/MyHookDLL2.dll.embed.manifest.res
MyHookDLL2/Debug/MyHookDLL2.dll.intermediate.manifest
MyHookDLL2/Debug/MyHookDLL2.exp
MyHookDLL2/Debug/MyHookDLL2.ilk
MyHookDLL2/Debug/MyHookDLL2.lib
MyHookDLL2/Debug/MyHookDLL2.obj
MyHookDLL2/Debug/MyHookDLL2.pdb
MyHookDLL2/Debug/vc60.idb
MyHookDLL2/Debug/vc60.pdb
MyHookDLL2/Debug/vc80.idb
MyHookDLL2/Debug/vc80.pdb
MyHookDLL2/MyHookDLL2.cpp
MyHookDLL2/MyHookDLL2.dsp
MyHookDLL2/MyHookDLL2.dsw
MyHookDLL2/MyHookDLL2.ncb
MyHookDLL2/MyHookDLL2.opt
MyHookDLL2/MyHookDLL2.plg
MyHookDLL2/MyHookDLL2.vcproj
MyHookDLL2/MyHookDLL2.vcproj.2120-PC.2120.user
Preview1.jpg
Preview2.jpg
설명.hwp
Keylog3S/Debug/
Keylog3S/Debug/BuildLog.htm
Keylog3S/Debug/KeyLog.res
Keylog3S/Debug/Keylog3Client.obj
Keylog3S/Debug/Keylog3S.exe
Keylog3S/Debug/Keylog3S.exe.embed.manifest
Keylog3S/Debug/Keylog3S.exe.embed.manifest.res
Keylog3S/Debug/Keylog3S.exe.intermediate.manifest
Keylog3S/Debug/Keylog3S.ilk
Keylog3S/Debug/Keylog3S.pdb
Keylog3S/Debug/mt.dep
Keylog3S/Debug/MyHookDLL2.dll
Keylog3S/Debug/vc60.idb
Keylog3S/Debug/vc60.pdb
Keylog3S/Debug/vc80.idb
Keylog3S/Debug/vc80.pdb
Keylog3S/KeyLog.aps
Keylog3S/KeyLog.rc
Keylog3S/Keylog3Client.cpp
Keylog3S/Keylog3S.dsp
Keylog3S/Keylog3S.dsw
Keylog3S/Keylog3S.ncb
Keylog3S/Keylog3S.opt
Keylog3S/Keylog3S.plg
Keylog3S/Keylog3S.vcproj
Keylog3S/Keylog3S.vcproj.2120-PC.2120.user
Keylog3S/MyHookDLL2.lib
Keylog3S/Release/
Keylog3S/Release.zip
Keylog3S/Release/KeyLog.res
Keylog3S/Release/Keylog3S.exe
Keylog3S/Release/Keylog3S.obj
Keylog3S/Release/MyHookDLL2.dll
Keylog3S/Release/vc60.idb
Keylog3S/resource.h
KeylogClnt/
KeylogClnt/Debug/
KeylogClnt/Debug/BuildLog.htm
KeylogClnt/Debug/KeylogClnt.exe
KeylogClnt/Debug/KeylogClnt.exe.embed.manifest
KeylogClnt/Debug/KeylogClnt.exe.embed.manifest.res
KeylogClnt/Debug/KeylogClnt.exe.intermediate.manifest
KeylogClnt/Debug/KeylogClnt.ilk
KeylogClnt/Debug/KeylogClnt.pdb
KeylogClnt/Debug/KeylogClnt.res
KeylogClnt/Debug/KeylogServer.obj
KeylogClnt/Debug/KeylogServer.res
KeylogClnt/Debug/mt.dep
KeylogClnt/Debug/vc60.idb
KeylogClnt/Debug/vc60.pdb
KeylogClnt/Debug/vc80.idb
KeylogClnt/Debug/vc80.pdb
KeylogClnt/KeylogClnt.aps
KeylogClnt/KeylogClnt.dsp
KeylogClnt/KeylogClnt.dsw
KeylogClnt/KeylogClnt.ncb
KeylogClnt/KeylogClnt.opt
KeylogClnt/KeylogClnt.plg
KeylogClnt/KeylogClnt.sln
KeylogClnt/KeylogClnt.suo
KeylogClnt/KeylogClnt.v11.suo
KeylogClnt/KeylogClnt.vcproj
KeylogClnt/KeylogClnt.vcproj.2120-PC.2120.user
KeylogClnt/KeylogServer.cpp
KeylogClnt/KeylogServer.rc
KeylogClnt/Release/
KeylogClnt/Release/KeylogClnt.exe
KeylogClnt/Release/KeylogClnt.obj
KeylogClnt/Release/KeylogClnt.res
KeylogClnt/Release/vc60.idb
KeylogClnt/resource.h
MyHookDLL2/
MyHookDLL2/Debug/
MyHookDLL2/Debug/BuildLog.htm
MyHookDLL2/Debug/mt.dep
MyHookDLL2/Debug/MyHookDLL2.dll
MyHookDLL2/Debug/MyHookDLL2.dll.embed.manifest
MyHookDLL2/Debug/MyHookDLL2.dll.embed.manifest.res
MyHookDLL2/Debug/MyHookDLL2.dll.intermediate.manifest
MyHookDLL2/Debug/MyHookDLL2.exp
MyHookDLL2/Debug/MyHookDLL2.ilk
MyHookDLL2/Debug/MyHookDLL2.lib
MyHookDLL2/Debug/MyHookDLL2.obj
MyHookDLL2/Debug/MyHookDLL2.pdb
MyHookDLL2/Debug/vc60.idb
MyHookDLL2/Debug/vc60.pdb
MyHookDLL2/Debug/vc80.idb
MyHookDLL2/Debug/vc80.pdb
MyHookDLL2/MyHookDLL2.cpp
MyHookDLL2/MyHookDLL2.dsp
MyHookDLL2/MyHookDLL2.dsw
MyHookDLL2/MyHookDLL2.ncb
MyHookDLL2/MyHookDLL2.opt
MyHookDLL2/MyHookDLL2.plg
MyHookDLL2/MyHookDLL2.vcproj
MyHookDLL2/MyHookDLL2.vcproj.2120-PC.2120.user
Preview1.jpg
Preview2.jpg
설명.hwp