Hook
์ค๊ฐ์์ ์ค๊ณ ๊ฐ๋ (์ ๋ณด๋ค์ ๊ฐ๋ก์ฑ๊ฑฐ๋) ๋ณ์กฐํด์ ์๋ชป๋ ์ ๋ณด๋ฅผ ์ฃผ๋ ํ์
Hooking --> [Message Hook]
hello world!
๋ง์ฐ์ค์ ํด๋ฆญ / ํค๋ณด๋ ๋๋ฆ --> ์ด๋ฌํ ๋์ ๊ณผ์ ๋ค์ ์ด๋ฒคํธ
1. ํค๋ณด๋์์ ํค ์
๋ ฅ ์ OS Message Queue ์์ด๊ฒ ๋๋ค.
2. OS Message Queue์ ์์ผ ๋ ์ด๋ ํ ์์ฉํ๋ก๊ทธ๋จ์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋์ง ํจ๊ป ์ ์ฅ๋๋ค.
3. Application Message Queue์์ ์์ ์ ์์ฉํ๋ก๊ทธ๋จ์ ๋ํ ์
๋ ฅ์ด ๋ฐ์ํ๋ฉด, OS Message Queue์์ ๊ณ์ ๋ชจ๋ํฐ๋ง์ ํ๋ค ๋ง์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์จ๋ค.
ํํน์ OS Message Queue์์ Application Message Queue๋ก ๊ฐ ๋ ํํน์ ํ ์ ์๋ค.
ํ๋ก๊ทธ๋จ์ ์คํํ๋ค --> ํด๋น ํ๋ก์ธ์ค๊ฐ ์คํ๋๋ค.
ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ๋๊ฑด OS
HookMain.exe // KeyHook.dll
KeyHook.dll ์ด๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ SetWindowsHookEx()๊ฐ ์๊ณ
์ด ํจ์๊ฐ KeyboardProc๋ผ๋ ํํน ๊ธฐ๋ฅ์ ํ๋ค.
์ด KeyHook.dll์ ๋ถ๋ฌ์ค๋ ๊ธฐ๋ฅ์ ํ๋ ํ๋ก๊ทธ๋จ์ด HookMain.exe
cd c:\novires\HookMain
InjectDLL.exe ๋ฉ๋ชจ์ฅPID c:\novirus\InjectDLL\myhack.dll