ํด๋ ๊ตฌ์กฐ
- app
- manifest: ๋ณด์ ์ต์
, ์๋๋ก์ด๋ ์ดํ๋ฆฌ์ผ์ด์
์ด ๊ตฌ๋ํ๋๋ฐ ํ์ํ ์ค์ ๊ฐ์ ๊ด๋ฆฌํด์ค. ์ปจํธ๋กค ํ์๋ผ๊ณ ์ดํดํ๋ฉด ๋๋ค.
- java : ํด๋์ค๋ฅผ ๊ด๋ฆฌํ๋ ํด๋์ด๋ค.
- res : Resource ํด๋๋ก UI์ ๊ด๋ จ๋ ํ์ผ๊ณผ ๋์์ธ ๋ฆฌ์์ค, ๋ฌธ์์ด ๋ฆฌ์์ค๋ฅผ ๋ด๊ณ ์๋ ํด๋์ด๋ค.
- Gradle
- ๋น๋ ๋ฐฐํฌ ๋๊ตฌ(build tool)
- ์๋๋ก์ด๋๋ ์คํ๋์ค(IDE)์ ๋น๋ ์์คํ
์ด ์๋ก ๋
๋ฆฝ์ ์ด๊ธฐ ๋๋ฌธ
- ์๋๋ก์ด๋ ์คํ๋์ค๋ ์ฝ๋์ ํธ์ง๋ง์ ๋ด๋นํ ๋ฟ, ๋น๋๋ Gradle์ ํตํด ๋ชจ๋ ์ํ๋๋ค.
- ์๋๋ก์ด๋ ์คํ๋์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋๋
ํ๋ฅผ ์ง์ํจ.
- build.gradle(project Test) -> ์ ์ฒด ์์คํ
์ ๊ด๋ จ๋ ๊ฒ (๊ฐ์ฅ ์์์ ์กด์ฌ)
- build.gradle(Module:app) -> class์ ๊ด๋ จ๋ ๊ฒ
์ ์ & ๋์ ๋ถ์
- ์ ์ ๋ถ์ :
- ์์ค๋ฅผ ๋๋ ค์ Javaํ์ผ์ ๋ณด๋ฉฐ ๋ถ์.(tool ์ ๊น๊ณ ์คํํจ) ->apk๋ถ์
- ๋์ ๋ถ์ :
- ์ค์๊ฐ ๋๋ฒ๊น
์ ํ๋ฉด์ (์คํํ๋ฉด์) ๋ถ์.(๊ธฐ๊ธฐ๋ ์ ๋ฎฌ๋ ์ดํฐ๊ฐ ์์ด์ผ ํจ) -> ํ๋๋ถ์(๋ฐ์ดํฐ ์
์ถ๋ ฅ), ๋คํธ์ํฌ ๋ฐ์ดํฐ ๋ถ์.
์๋ฎฌ๋ ์ด์
& ์๋ฎฌ๋ ์ด์
์๋ฎฌ๋ ์ด์
-> ์ฝ๊ฐ ๋ชจ์? ์ ๋๋ (๊ฐ์์ผ๋ก ์คํ์ ํด๋ณด์๋๊ฐ?) : ๊ธฐ๋ฅ์ ๊ฐ์ง๋ง ๋ค๋ฆ.(ex:๋นํ๊ธฐ ์๋ฎฌ๋ ์ดํฐ)
์๋ฎฌ๋ ์ด์
-> ๊ธฐ๋ฅ์ ๋์นญ์์ผ์ค. (ex:๊ฐ์๋จธ์ , nox)
ko.wikipedia.org/wiki/%EC%97%90%EB%AE%AC%EB%A0%88%EC%9D%B4%ED%84%B0 ์๋ ์ฐธ๊ณ ํ๊ธฐ!
์ฌ์ปดํ์ผ ๋ฐฉ๋ฒ ->ex ์
์ฑ์ฝ๋ ๋ง๋ค๊ณ ์ฌ ์ปดํ์ผ ํ๋ ๊ฒฝ์ฐ
- ์์ค ์์ฒด๋ฅผ ์ฌ ์ปดํ์ผ ํ๋ ๋ฒ (๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ด์ผ ์ปดํ์ผ์ด ๋ ์ ์์)
- smali : ์ปดํ์ผ์ด ํ์ x (c๋ก ์น๋ฉด ์ด์
๋ธ๋ฆฌ)
jd-gui: jar ํ์ผ ๋ณด๋ ์ฉ๋
bytecodeViewer : dex -> smali, jar ๋ก ๋ณผ ์ ์์
apktools : ๋์ปดํ์ผ ํ ๋๋ ์