"[windbg] windbg ์ฌ์ฉํ๊ธฐ, ๋คํ ๋ถ์ํ๊ธฐ"
1. ๋คํ๋ฅผ ์ฝ์ ์ฌ๋ณผ๊ณผ ์ฌ๋ณผ์ ๋ง๋ ์์ค์ฝ๋ ๊ฒฝ๋ก๋ฅผ ์ฐ๊ฒฐ์ํจ๋ค.
2. ๋คํ๋ฅผ windbg์ ๋๋๊ทธ ๋๋กญ ๋๋ open์ผ๋ก ํ์ผ์ ์ด๋ฉด ์ด๋ฐ ํ๋ฉด์ ๋ณผ์ ์๋ค.
- Loading Dump File : ๋คํ ํ์ผ์ ์์น, ๋คํ ์ข ๋ฅ
- Executable search path is : ๋คํ๊ฐ ๋ฐ์ํ OS
- Debug sesstion time : ๋คํ ๋ฐ์ ์์ ์๊ฐ
- Process Uptime: ๋ถํ ์ดํ ๋์ํ ์๊ฐ
3. !analyze -v ๋ช ๋ น์ด ์คํ
!analyze-v ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ๋์ฑ ์์ธํ๊ฒ ๋คํ ๋ด์ฉ์ด ๋์จ๋ค.
FAULTING_IP: ์ด๋ค ๋ถ๋ถ์์ ๋ฌธ์ ๊ฐ ์ผ์ด๋ฌ๋์ง ํ์ํ๋ค. callstack์ ๋ง์ง๋ง ๋ถ๋ถ์ด๋ค.
KERNRLBASE.ddl์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ผ๋ฉฐ [ esp+54h ]์ ์ฃผ์๊ฐ ๊ฐ๋ฆฌํค๋ 4๋ฐ์ดํธ(Dword)์ธ ์ด๋ค ๊ฐ์ ecx์ ๋ณต์ฌํ๋ค๊ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์. ์ด๋ผ๊ณ ํด์์ด ๋๋ค. ํ์ง๋ง Kernelbase๋ windows์์ฒด ์์คํ ๊ตฌ์ฑ ์์๋ฅผ ์๋ชป ์ฌ์ฉํ๊ฑฐ๋ ํ ๋ ์์ฃผ ๋ฐ์ํ๋ฏ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์๋ชป์ด๊ฒ ์๋์ง ๋ณด๋๊ฒ ์ค์ํ๋ค.
STACK_TEXT: ๋ฌธ์ ๊ฐ ์ผ์ด๋ ์์ ์ผ๋ก ๊ฐ๋ callstack์ ๋ณด์ฌ์ค๋ค,
๋ํ ์ฌ๊ธฐ์ ์ถ๊ฐ๋ก ์ ์ ์๋ ์ ๋ณด๊ฐ ์๋ค.
- ๋ ธ๋์ ๋ฐ์ค - ์คํ ํ๋ ์ ์์
- ํํฌ์ ๋ฐ์ค - ๋ฆฌํด ์ฃผ์
- ํ๋์ ๋ฐ์ค - ์ธ์๊ฐ: ๋ญ์ง ๋ชจ๋ฅด๊ฒ ์
์ด๋ฐ ํ ์ฃผ์๋ฅผ ์ฌ์ฉํ๋ ์์๋ก ๋ง์ฝ ์ค๋ฅ๊ฐ ๋ฐ์ํ ํจ์์ ์์น๊ฐ ๋ค์ํ๋ค๋ฉด, [ kvn L=๋ฆฌํด์ฃผ์ ] ๋ช ๋ น์ด๋ฅผ ํตํด ์ด๋ค ๊ณณ์ผ๋ก ๋ฆฌํดํ๋์ง ํ์ธํ ์ ์๋ค.
4. .ecxr
๋คํ๋ฅผ ๋์ฑ ์์ธํ ๋ณด์.
.ecxr ๋ช ๋ น์ด: ํ์ฌ ์์ธ์ ์ฐ๊ฒฐ๋ ์ปจํ ์คํธ ๋ ์ฝ๋๋ฅผ ํ์ํ๋ค.
- ํฌ๋์ ๋คํ(๋ฏธ๋ ๋คํ๋ง ํด๋น๋จ)
- ์ปจํ ์คํธ ๋ ์ฝ๋๋ ๋ณดํต CPU๋ ์ง์คํฐ ์ (Register Set)์ ์๋ฏธํ๋ค.
5. ~*kbn, kvn L=์ฃผ์
~*kbn : ๋ชจ๋ Threads์ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋ค.
kvn L=์ฃผ์ : ์ํ๋ ์ฃผ์์ ์ฝ์คํ์ ๋ณผ์ ์๋ค.
๋์ฑ ์์ธํ ๋ณด๊ณ ์ถ์ผ๋ฉด -4์ฉ ์์ง์ด๋ฉด์ ์ฝ์คํ์ ๋ณด์.
์ฝ์คํ์์ ๋นจ๊ฐ์ ๋ฐ์ค - ์์ ์ฃผ์, ํ๋์ ๋ฐ์ค - ๋ฆฌํด ์ฃผ์์ด๋ค.
6. u [์ฃผ์] , r
u [์ฃผ์] : ์ํ๋ [์ฃผ์] ์ด์ ๋ธ๋ฌ ๋ณผ์ ์๋ค
r : ํ์ฌ ๋ ์ง์คํฐ ์ ๋ณด๋ฅผ ํ์ํด์ค๋ค.
7. view๋ฅผ ํ์ฉํ์.
,ecxr ๋ช ๋ น์ด๋ฅผ ์คํ ํ [call stack] view์ [Loal] view๋ฅผ ์คํํ๋ค.
call stack์ ๋์ ์๋ ํจ์๋ค์ ํด๋ฆญํ๋ฉด ๊ทธ ํจ์๋ฅผ ์คํํ ๋์ Local ๋ณ์๋ค์ด ๋์จ๋ค.
๋ฏธ๋ ๋คํ๊ฐ ์๋ ๊ฒฝ์ฐ Local ๋ณ์์ ๋จ์ ์๋ ๊ฐ์ ๋ณด๊ณ ์ด๋ค ๊ฐ์ผ๋ก ์ธํด ๋คํ๊ฐ ๋ฐ์ํ๋์ง ํ์ธ์ด ๊ฐ๋ฅ ํ๋ค.
์คํ ํ์ผ์ ์ฝ๋๋ฅผ ์ฐ๊ฒฐํด๋์๋ค๋ฉด, call stack์ ๋๋ธํด๋ฆญ ํ์ ๋ ์์ค์ฝ๋๋ก ์ฐ๊ฒฐ์ด ๋๋ค.
memory์ registers view๋ฅผ ํตํด ์ํ๋ ์ฃผ์๋ฅผ ๊ฒ์ํ๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ๋ ์ง์คํฐ๋ฅผ ํ์ธํ ์ ์๋ค.
ํ๋ก์ธ์ค์ ์ค๋ ํธ view์ ํ์ฌ ํ๋ก์ธ์ค์ ๋ชจ๋ ์ค๋ ๋๋ฅผ ๋ณด์ฌ์ค๋ค. ์ค๋ ๋ ๋ชฉ๋ก ์ค ๋ค๋ฅธ ์ค๋ ๋๋ฅผ ๋๋ธํด๋ฆญํ๋ฉด windbg๋ ํด๋น ์ค๋ ๋์ ๋ ์ง์คํฐ ์ปจํ ์คํธ๋ก ๋ณ๊ฒฝ๋๋ฉด์ ์ค๋ ๋์ ์ฝ ์คํ์ ๋ณด์ฌ์ค๋ค.
'๐จ๐ปโ๐ป programming > โฝ ํด(tool)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
(VCS) svn ์ฌ์ฉ ๋ฐฉ๋ฒ ์ตํ๊ธฐ! (2) | 2022.12.31 |
---|---|
(Version Control System/VCS) ๋ฒ์ ๊ด๋ฆฌ ์์คํ (0) | 2022.12.29 |
์ ํ๋ ๊ฒ ๋ณด๋ค ๋ซ๊ฒ ์ง
ํฌ์คํ ์ด ์ข์๋ค๋ฉด "์ข์์โค๏ธ" ๋๋ "๊ตฌ๋ ๐๐ป" ํด์ฃผ์ธ์!