ํ๋น์ค ์ฌ๋จผ๋(
LoadLibrary๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ํ๊ณ ๊ธฐ์กด ๊ธฐํธ๋ฅผ ๊ฐ์ ธ์ค๋ ์์ ์ ์ฒ๋ฆฌํ์ฌ Linux ์ ํ๋ฆฌ์ผ์ด์ ์ dlopen ์คํ์ผ API๋ฅผ ์ ๊ณตํฉ๋๋ค. ํ๋ฌ๊ทธ์ธ ์ฝ๋๋ gdb, ASAN ๋ฐ Valgrind๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ฒ๊น ํ ์ ์์ต๋๋ค. Hook์ ์ฐ๊ฒฐํ๊ณ ํจ์น๋ฅผ ์ ์ฉ(๋ฐํ์ ํจ์น)ํ์ฌ ์คํ ์ค์ ์คํ ์ฝ๋๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค. C++์ ๋ํ ์์ธ ์ฒ๋ฆฌ ๋ฐ ํด์ ๋ฅผ ์ง์ํฉ๋๋ค.
์ด ํ๋ก์ ํธ์ ๋ชฉํ๋ Linux ๊ธฐ๋ฐ ํ๊ฒฝ์์ DLL ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ์ฅ ๊ฐ๋ฅํ๊ณ ํจ์จ์ ์ธ ๋ถ์ฐ ํผ์ง ํ ์คํธ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ์ ๋๋ค. Windows์์ ํผ์ง ๋ฐ ์ ์ฉ ๋ฒ์ ํ ์คํธ๋ ๊ทธ๋ค์ง ํจ์จ์ ์ด์ง ์์ผ๋ฉฐ ํนํ ์ปค๋๊ณผ ์ฌ์ฉ์ ๊ณต๊ฐ์ ๊ฑธ์ณ ์๋ ๋ฐ์ด๋ฌ์ค ๋ฐฑ์ ์ํํธ์จ์ด์ ๊ฐ์ ๋ณต์กํ ์ ํ์ ๋ถ์ํ๋ ค๊ณ ํ ๋ ๋ณ๋์ ๊ฐ์ํ๋ Windows ์ธ์คํด์ค๋ฅผ ์คํํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. Google ์ฐ๊ตฌ์๋ค์ LoadLibrary๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋์ค ์ฝ๋ฑ, ๋ฐ์ด๋ฌ์ค ์ค์บ๋, ๋ฐ์ดํฐ ์์ถ ํด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ด๋ฏธ์ง ๋์ฝ๋ ๋ฑ์ ์ทจ์ฝ์ ์ ๊ฒ์ํ๊ณ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, LoadLibrary์ ๋์์ผ๋ก Windows Defender ๋ฐ์ด๋ฌ์ค ๋ฐฑ์ ์์ง์ Linux์์ ์คํ๋๋๋ก ํฌํ
ํ ์ ์์์ต๋๋ค. Windows Defender์ ๊ธฐ๋ฐ์ด ๋๋ mpengine.dll์ ๋ํ ์ฐ๊ตฌ๋ฅผ ํตํด ๋ค์ํ ํ์์ ๋ํ ๋ค์์ ์ ๊ตํ ํ๋ก์ธ์, ํ์ผ ์์คํ
์๋ฎฌ๋ ์ดํฐ ๋ฐ ์ ์ฌ์ ์ผ๋ก ๋ฒกํฐ๋ฅผ ์ ๊ณตํ๋ ์ธ์ด ํด์๊ธฐ๋ฅผ ๋ถ์ํ ์ ์๊ฒ ๋์์ต๋๋ค.
LoadLibrary๋ ์๋ณ์๋ ์ฌ์ฉ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru