[HookMain.exe]
1) Main 함수 찾기
- Visual C++ stub 코드 존재 (CALL HookMain.01161779 Step over / 들어가서 Ctrl+F9으로 탈출)
- HookMain.011610B0 으로 가서 Ctrl+F8 (tracing) 시작
- Main 함수에 bp 걸고 분석 시작
- 또 다른 쉬운 방법은 Search for All referenced text strings (메인함수에서 사용되는 문자열 알기 때문)
2) Main 함수 분석
- CALL EBX 명령어를 따라 들어가면 (Ctrl+F7, Step in)
- 73DD1020으로 Jump(Ctrl+G)하면 KeyboardProc() 코드 존재
[KeyHook.dll]
1. 실행중인 notepad.exe attach 하거나 Ollydbg에서 open 후 F9
2. Options - Debugging - Break on new modules(DLL) check
3. HookMain.exe 실행 후 notepad 에 keyboard input
4. Executable modules 창에서 KeyHook.dll 로딩된 위치 파악 가능
- EP에서 쭉 타고들어가다보면 DllMain 함수가 보이는데, 그 바로 아래에 KeyboardProc() 함수가 보인다
'security > 리버싱핵심원리' 카테고리의 다른 글
Registry를 이용한 DLL Injection (0) | 2023.03.18 |
---|---|
CreateRemoteThread()를 이용한 DLL Injection (0) | 2023.03.18 |
SetWindowsHookEx()을 이용한 Windows 메시지 후킹 - (2) (0) | 2023.03.15 |
SetWindowsHookEx()을 이용한 Windows 메시지 후킹 (0) | 2023.03.15 |
인라인 패치 - unpackme#1 (0) | 2023.03.14 |