๋์
๋์ ์ ํ๋ฆฌ์ผ์ด์
์ถ์ ๋ฐ ๋ถ์ ํ๋ซํผ ์ถ์ ๊ธ 12.10, ์ด๋ ๊ธฐ๋ณธ ํ๋ก๊ทธ๋จ์ฉ Greasemonkey์ ์ ์ฌํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ ์ ์์ผ๋ฉฐ, Greasemonkey๊ฐ ์น ํ์ด์ง ์ฒ๋ฆฌ๋ฅผ ์ ์ดํ ์ ์๋ ๊ฒ๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก ์คํ ์ค์ ํ๋ก๊ทธ๋จ ์๋์ ์ ์ดํ ์ ์์ต๋๋ค. ํ๋ก๊ทธ๋จ ์ถ์ ์ Linux, Windows, macOS, Android, iOS ๋ฐ QNX ํ๋ซํผ์์ ์ง์๋ฉ๋๋ค. ๋ชจ๋ ํ๋ก์ ํธ ๊ตฌ์ฑ์์์ ์์ค ํ
์คํธ ํ์ฐ ๋ฌด๋ฃ ๋ผ์ด์ผ์คํ์ wxWindows ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ผ์ด์ผ์ค (ํ์ ์ ์๋ฌผ์ ๋ฐ์ด๋๋ฆฌ ์ด์
๋ธ๋ฆฌ ๋ฐฐํฌ ์กฐ๊ฑด์ ์ ํ์ ๋์ง ์๋ LGPL์ ๋ณํ)
ํด๊ฒฐํ๋ ์์
์ธก๋ฉด์์ Frida๋ ์ฌ์ฉ์ ๊ณต๊ฐ์์ DTrace์ ์ ์ฌํ์ง๋ง JavaScript๋ ์ ํ๋ฆฌ์ผ์ด์
์คํ ํต๊ณ๋ฅผ ์ถ์ ํ๊ณ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ํธ๋ค๋ฌ๋ ํ๋ก์ธ์ค ๋ฉ๋ชจ๋ฆฌ์ ๋ํ ์ ์ฒด ์ก์ธ์ค ๊ถํ์ ๊ฐ์ง๋ฉฐ ํจ์ ํธ์ถ์ ๊ฐ๋ก์ฑ๊ณ JavaScript ์ฝ๋์์ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌํ๋ ํจ์๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค. Frida์ ํต์ฌ ๊ตฌ์ฑ ์์๋ C ๋ฐ Vala ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑ๋์์ต๋๋ค. V8 ์์ง์ JavaScript๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. Node.js, Python, Swift, .NET, Qt/Qml ๋ฐ C์ฉ Frida API์ ๋ํ ๋ํผ๊ฐ ์์ต๋๋ค.
์ ๋ฆด๋ฆฌ์ค๋ Java ํ๋ก๊ทธ๋จ์ ๋๋ฒ๊น
, ์ถ์ ๋ฐ ๋ฆฌ๋ฒ์ค ์์ง๋์ด๋ง ๊ธฐ๋ฅ์ ๋ชจ๋๋ก ํฌ๊ฒ ํ์ฅํฉ๋๋ค. ํ๋ฆฌ๋ค-์๋ฐ-๋ธ๋ฆฌ์ง HotSpot JVM์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์ด Android๋ฟ๋ง ์๋๋ผ JDK๋ฅผ ์ฌ์ฉํ๋ ์ผ๋ฐ Java ํ๋ก๊ทธ๋จ์๋ ์ด ๊ณ์ธต์ ์ฌ์ฉํ ์ ์์ต๋๋ค. Java ๋ฉ์๋ ์ถ์ ์ด frida-trace ์ ํธ๋ฆฌํฐ์ ์ถ๊ฐ๋์์ต๋๋ค. ํน์ ๊ธฐ์ค์ ์ถฉ์กฑํ๋ Java ๋ฉ์๋์ ์คํ์ ๊ฒฐ์ ํ๊ธฐ ์ํด ์๋ก์ด API์ธ Java.enumerateMethods(query)๊ฐ ์ ์๋์์ต๋๋ค. ๋ฉ์๋ ์ฐจ๋จ ์์ฒญ์ "class!method" ํ์์ผ๋ก ์ง์ ๋ฉ๋๋ค. ๋นJava ๋ณ๊ฒฝ ์ฌํญ์๋ ์ถ์ ์์ง์ 32๋นํธ ARM ์์คํ
์ ๋ํ ํฅ์๋ ์ง์์ด ํฌํจ๋ฉ๋๋ค. ์คํ ์ปค ๊ทธ๋ฆฌ๊ณ ์ ์ํ ์ต์ ํ ๊ตฌํ์ ํตํด Stalker ์คํ ์๋๋ฅผ ์ต๋ XNUMX๋ฐฐ๊น์ง ๋์ผ ์ ์์์ต๋๋ค.
์ถ์ฒ : opennet.ru