ํ์ผ์ด ์จ๊ฒจ์ ธ ์์ด์ ๊ฒ์ํด์ ์ฐพ์๋ด์ผํจ.
์์ค์ฝ๋๋ฅผ ์ดํด๋ณด๋ฉด, ํด๋น ๋ฉ์๋๋ ๋ฐฐ์ด์ ๋ด๊ณ ์์ ->์ด์ 1๋ฒ์งธ ๋ฐฐ์ด ๊ฐ์ 1๋ก ๋ง์ถฐ์ฃผ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ ๊ฒ ๊ฐ์
์ผ๋จ ์คํํฑ ๋ฉ์๋๊ฐ ์๋(static method(x))
instance method ์
์ ์ธํด์ค ๋ static ์ด ๋ค์ด์์ผ๋ฉด ์คํํฑ ๋ฉ์๋๋ผ ํ ์ ์๊ณ ์๋ค๋ฉด ์ธ์คํด์ค ๋ฉ์๋๋ผ ํจ -> ์ธ์คํดํธํ ๋ ๊ฐ์ฒด๋ฅผ ์ฐพ์์ผํจ.
java.use ?? ? - >x
java.choose -> ok
setImmediate(function(){
Java.perform(function(){
//Challenge 02
Java.choose("uk.rossmarks.fridalab.MainActivity",{
onMatch : function(chall_02){
chall_02.chall02();
},
onComplete : function(){
console.log("Solved Challenge 02");
}
})
})
})
ํด๋น ์ฝ๋ ์คํ ์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋จ
frida -U -l chall2.js uk.rossmarks.fridalab
์ ๋ช
๋ น์ด ์คํ ์ ์ฝ๋ ์คํ๋จ
๋ฉ์๋ ํธ์ถ ๋ฐฉ๋ฒ์ 2๊ฐ์ง๊ฐ ์์
static method -> java.use
instance method -> java.choose
๋ง์ฝ static ์ด ์๋๋ฐ, use๋ฅผ ์ฌ์ฉํด์ ํธ์ถํ๋ฉด ํธ์ถ์ด ์๋จ
๋ฌธ์ ๋ฅผ ๋ค์ ํ์ด๋ณด๊ณ ์ถ์๋ฐ ์ด๋ฏธ ์ฒดํฌ๊ฐ ๋์ด ๋ฒ๋ ค์ ๋๋ฆด ์ ์๋ค๋ฉด Kill ๋ช
๋ น์ด๋ฅผ ์จ์ฃผ๋ฉด ๋จ.
frida-kill -U 3951[ps ๋ฒํธ] -> ์
๋ ฅ ์ ํ๋ฆฌ๋ค ์ข
๋ฃ --> ๋ค์ ์ฒ์์ผ๋ก ๋์๊ฐ