Loading...

Win32 API์˜ ์ž๋ฃŒํ˜•

์ด์ œ๋ถ€ํ„ฐ ์šฐ๋ฆฌ๋Š” Windows API๋ฅผ Win32 API๋ผ๊ณ  ์ •์˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“œ๋Š” ํ”„๋กœ๊ทธ๋žจ์€ x86์ธ 32๋น„ํŠธ ๊ธฐ๋ฐ˜์˜ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์ด์šฉํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์„ ๋นŒ๋“œํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. Win32์™€ Win64์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์ฐจํ›„์— ๋ณ„๋„์˜ ํฌ์ŠคํŒ…์„ ํ†ตํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. #include ์šฐ๋ฆฌ๋Š” Windows API๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์œ„ ํ—ค๋” ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๊ณ  ์žˆ์ฃ , ์ด ํ—ค๋” ํŒŒ์ผ์„ ์ด์šฉํ•ด์„œ ๊ฐ„๋‹จํ•œ ๋ฉ”์‹œ์ง€ ์ฐฝ์„ ๋งŒ๋“ค์–ด๋ณด๊ธฐ๋„ ํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ MessageBox์˜ ์ธ์ž ๊ฐ’์—์„œ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ž๋ฃŒํ˜•๋“ค์ด ๋‚˜์™”๋Š”๋ฐ์š”. MessageBoxA(_In_opt_ HWND hWnd, _In_opt_ LPCSTR lpText, _In_opt_ LPCSTR lpCaption, _In_ UINT uType); ์ž ..

2016. 6. 12. 20:45

Windows API ์™€์˜ ๋งŒ๋‚จ

์˜ค๋Š˜์€ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ, Windows API์— ๋Œ€ํ•œ ํฌ์ŠคํŒ…์„ ํ•˜๊ณ ์žํ•ฉ๋‹ˆ๋‹ค. ์—ฌํƒœ๊นŒ์ง€ ์ €๋Š” Linux์™€ ์นœ์ˆ™ํ•ด์˜ค๋ฉด์„œ, Windows๋ฅผ ์ž˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์žˆ๋Š” ํŽธ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ํ•™๊ต ๊ณผ์ œ๋‚˜ ์ผ๋ฐ˜์ ์ธ ์—…๋ฌด ๋“ฑ์„ ๋ณด๋‹ค๋ณด๋ฉด, Windows๋Š” ํ”ผํ•  ์ˆ˜ ์—†๋Š” ์กด์žฌ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ž์ฃผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ณด๋‹ˆ Windows Kernel ์ชฝ์—๋„ ๊ด€์‹ฌ์„ ๊ฐ–๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Windows API๋Š” ์ œ๊ฐ€ C ์–ธ์–ด๋ฅผ ๋ฐฐ์› ์„ ๋•Œ๋งŒํ•ด๋„ ์•„์ง ํ•œ์ฐฝ ๋ชฐ๋ž๋˜ ์‹œ์Šคํ…œ์ด์˜€์Šต๋‹ˆ๋‹ค. ์ด Windows API๋ฅผ ์•Œ๊ฒŒ ๋œ ๊ฒƒ์€ GDB๋ฅผ ์‚ฌ์šฉํ•˜๋˜ Linux์˜ ๋””๋ฒ„๊ฑฐ๊ฐ€ Windows์—์„œ๋Š” OllyDbg๋‚˜ Immunity Debugger๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ๋ถ€ํ„ฐ Unix๋‚˜ Linux์™€ ๋‹ฌ๋ฆฌ Windows ์—๋Š” ํŠน๋ณ„ํ•œ API ๋ชจ๋“ˆ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค..