1. Python Binding
1.1 ๊ฐ์
Frida๋ JS API๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ์๋๋ ๊ฐ์ฒด๋ฅผ ํธ์ถํ๊ณ , ํํนํ ์ ์์์ต๋๋ค. ์ด ๊ณผ์ ์์ ์ฌ์ฉ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํฐ๋ฏธ๋์์ ํ๋ก์ธ์ค์ Attach ํ์ฌ ๋ช ๋ น์ด ์ํ
- ์คํฌ๋ฆฝํธ๋ฅผ ๋ก๋ํด์ ํํน
์ด๋ฐ ์์
๋ค์ python์ ์ด์ฉํ์ฌ ์๋ํ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์กด์ฌํฉ๋๋ค.
ย
ย
1.2 ์ด์
๋ค์๊ณผ ๊ฐ์ ์ด์ ์ด ์์ต๋๋ค.
- ์๋ํ ๊ฐ๋ฅ
- python์์ ์ง์ํ๋ Frida ์ด์ธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฌ์ฉ ๊ฐ๋ฅ
- Frida process๊ฐ ๋์ํ ๋ ์ด์ธ์ ๊ฒ๋ ์ปจํธ๋กค ํ ์ ์์ต๋๋ค.
ย
ย
ย
2. ์ฌ์ฉ ๋ฐฉ๋ฒ
2.1 ๊ธฐ๋ณธ ํ์
โก๏ธ import
๋ชจ๋์ ์ฌ์ฉํ๊ธฐ ์ํด
import
ํฉ๋๋ค.- sys ๋ชจ๋์ script๊ฐ ๋์ํ๊ธฐ ์ ์ ์ข ๋ฃ๋๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค.
ย
ย
โก๏ธ ๊ธฐ๋ณธ ํ
ย
ย
โก๏ธ Spawn์ ์ด์ฉํ ํ
ย
ย
2.2 ์์
- โ ๏ธ ์ถ๋ ฅ ๊ฐ์ ์ ๋ฌ ๋ฐ์ผ๋ ค๋ฉด js code๋ถ๋ถ์
console.log โ send
๋ก ์์ ํ์ฌ์ผ ํฉ๋๋ค.
- ์ดํ
script.on('message', messageFunction)
์ ์ฌ์ฉํ์ฌ ์ฝ์์ ์ถ๋ ฅํฉ๋๋ค.
- messageFunction์ ์ปค์คํฐ๋ง์ด์ง ํ์ฌ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. (callback ๋งค๊ฐ๋ณ์๋ 2๊ฐ)