Frida ๋™์  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ถ”์  ํ”Œ๋žซํผ 12.10 ์ถœ์‹œ

๋„์ž… ๋™์  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ถ”์  ๋ฐ ๋ถ„์„ ํ”Œ๋žซํผ ์ถœ์‹œ ๊ธˆ 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

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€