ν‹°μŠ€ν† λ¦¬ λ·°

κ°œμš”

Apktool μ΄λž€ λ‚œλ…ν™”κ°€ μˆ˜ν–‰λœ Android μ•±μ˜ 개발 μ½”λ“œλ₯Ό 원볡 μˆ˜μ€€ ν˜•νƒœλ‘œ 되돌릴 수 있게 도와주며 앱을 λ‹€μ‹œ μ„€μΉ˜ν•˜μ—¬ μ‹€ν–‰μ‹œν‚¬ 수 있게 λ„μ™€μ£ΌλŠ” "λ¦¬λ²„μŠ€ μ—”μ§€λ‹ˆμ–΄λ§" λ„κ΅¬μž…λ‹ˆλ‹€.  Apktool은 Windows/Linux/MacOS λ“± λ‹€μ–‘ν•œ ν™˜κ²½μ—μ„œ μž‘λ™ν•˜λ©° JAVA 기반(1.8 버전 이상)으둜 μƒμ„±λœ λ„κ΅¬μž…λ‹ˆλ‹€.

 

ibotpeaches.github.io/Apktool/

 

Apktool - A tool for reverse engineering 3rd party, closed, binary Android apps.

A tool for reverse engineering 3rd party, closed, binary Android apps. It can decode resources to nearly original form and rebuild them after making some modifications. It also makes working with an app easier because of the project like file structure and

ibotpeaches.github.io

μƒλ‹¨μ˜ 링크둜 접속해 μ΅œμ‹  버전인 2.5.0을 λ‹€μš΄λ‘œλ“œ ν•΄ apktool.jar νŒŒμΌμ„ ν™•μΈν•΄μ£Όμ‹œλ©΄ λ©λ‹ˆλ‹€.

 

apktool λͺ…령을 CMD ν™˜κ²½μ—μ„œ μ‰½κ²Œ μ‚¬μš©ν•˜κΈ° μœ„ν•΄ apktool.jar νŒŒμΌμ„ C -> Windows κ²½λ‘œμ— λ„£μ–΄μ£Όμ‹œλ©΄ λ©λ‹ˆλ‹€. λ˜ν•œ apktool.bat νŒŒμΌμ€ ν•˜λ‹¨μ˜ μ†ŒμŠ€λ₯Ό 볡사 ν›„ 배치파일둜 μΆ”κ°€ν•΄ μ£Όμ‹œλ©΄ λ©λ‹ˆλ‹€.

* MacOX λ˜λŠ” Linuxν™˜κ²½μΌ 경우 -> /usr/bin λ˜λŠ” /usr/local/bin 에 이동후 κΆŒν•œ chmod 777

github.com/iBotPeaches/Apktool/blob/master/scripts/windows/apktool.bat

 

iBotPeaches/Apktool

A tool for reverse engineering Android apk files. Contribute to iBotPeaches/Apktool development by creating an account on GitHub.

github.com

apktool λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•˜μ—¬ μ—¬λŸ¬ μ˜΅μ…˜λ“€μ΄ λ‚˜νƒ€λ‚˜λ©΄ μ„€μΉ˜κ°€ μ™„λ£Œλœ κ²ƒμž…λ‹ˆλ‹€.

 

λͺ¨λ°”μΌμ—μ„œ μΆ”μΆœν•œ TEST.apk λΌλŠ” μž„μ˜ νŒŒμΌμ„ TEST 폴더λͺ…μœΌλ‘œ λ””μ»΄νŒŒμΌμ„ μˆ˜ν–‰ν•  경우 μƒλ‹¨μ˜ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.

apktool d <AppName> -o <μž„μ˜ 디렉토리 지정>

 

-o μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ§€ μ•Šμ„ 경우 κΈ°μ‘΄ apk 파일λͺ…을 κ·ΈλŒ€λ‘œ λ”°λΌκ°€κ²Œ λ©λ‹ˆλ‹€.

 

λ””μ»΄νŒŒμΌμ„ ν•˜κ²Œλ˜λ©΄ 앱을 μ„€μΉ˜ν•˜κΈ° μœ„ν•΄ "λ¦¬νŒ¨ν‚€μ§•" 과정을 λ‹€μ‹œ 거쳐야 λ©λ‹ˆλ‹€. 정상적인 경우라면 이 λΆ€λΆ„μ—μ„œ λͺ¨λ‘ λ¦¬νŒ¨ν‚€μ§• 과정이 λλ‚˜μ§€λ§Œ 각쒅 μ—λŸ¬κ°€ λ°œμƒν•  경우 밑에 사진듀을 μ°Έκ³ ν•˜μ„Έμš”

apktool b <νŒ¨ν‚€μ§• ν•  폴더λͺ…> -o <apk파일λͺ… 지정>

 

자주 λ°œμƒν•˜λŠ” 였λ₯˜ 2가지

첫 번째둜 λ¦¬νŒ¨ν‚€μ§• κ³Όμ •μ—μ„œ μ—λŸ¬ λ©”μ‹œμ§€κ°€ λ‚˜νƒ€λ‚  κ²½μš°κ°€ μ‘΄μž¬ν•©λ‹ˆλ‹€. μ—λŸ¬ λ©”μ‹œμ§€κ°€ λ‚˜νƒ€λ‚˜λ©΄ μ»€λ§¨λ“œμ— 좜λ ₯된 경둜λ₯Ό κ·ΈλŒ€λ‘œ 타고 λ“€μ–΄κ°€ μ—λŸ¬κ°€ λ°œμƒν•œ νŒŒμΌμ„ μœ μ‹¬νžˆ λ³΄μ‹œλ©΄ 해결이 κ°€λŠ₯ν•©λ‹ˆλ‹€.(보톡 찌꺼기 파일일 κ°€λŠ₯성이 μ‘΄μž¬ν•˜κΈ°μ— μ‚­μ œν•˜κ³  μ§„ν–‰ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.)

 

ν•΄λ‹Ή μ—λŸ¬μ˜ 경우 "AAPT(Android Asset Packaging Tool) κ΄€λ ¨ν•œ μ—λŸ¬μΌ κ°€λŠ₯성이 μ‘΄μž¬ν•©λ‹ˆλ‹€. AAPTλŠ” 디렉토리 λ‚΄λΆ€μ˜ μ΄λ―Έμ§€λ‚˜ λ¬Έμžμ—΄ 등을 효율적으둜 μ»΄νŒŒμΌν•˜κΈ° μœ„ν•œ 도ꡬ라고 λ³΄μ‹œλ©΄ λ©λ‹ˆλ‹€. 이럴 λ•ŒλŠ” ν•˜λ‹¨μ˜ λͺ…λ Ήμ–΄λ₯Ό 톡해 AAPTλ₯Ό κ°•μ œμ μœΌλ‘œ μ‚¬μš©ν•˜μ—¬ λ¦¬νŒ¨ν‚€μ§•ν•΄μ£Όμ‹œλ©΄ λ©λ‹ˆλ‹€.

apktool -f b <νŒ¨ν‚€μ§•ν•  폴더λͺ…> -o <apk파일λͺ… 지정> --use-aapt2

aaptλ₯Ό κ°•μ œμ μœΌλ‘œ μ‚¬μš©ν•¨μœΌλ‘œ 였λ₯˜ 해결이 κ°€λŠ₯ν•©λ‹ˆλ‹€. λ§Œμ•½ μœ„μ˜ λͺ…λ Ήμ–΄λ₯Ό 톡해 진행해도 계속 λ¦¬νŒ¨ν‚€μ§•μ΄ λΆˆκ°€λŠ₯ν•˜λ‹€λ©΄ ν•˜λ‹¨μ˜ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ μ΅œμ΄ˆμ— λ¦¬μ†ŒμŠ€λ₯Ό μ œμ™Έν•˜κ³  λ””μ»΄νŒŒμΌ ν•΄μ£Όμ‹œλ©΄ λ©λ‹ˆλ‹€.

apktool -f d <AppName> -o <폴더λͺ… 지정> -r
λ˜λŠ”
apktool --no-res d <AppName> -o <폴더λͺ… 지정>

 

λ°œμƒν•œ 였λ₯˜λ“€μ„ λͺ¨λ‘ ν•΄κ²°ν•˜μ…¨λ‹€λ©΄ μœ„μ™€ 같이 μ„±κ³΅μ μœΌλ‘œ λ¦¬νŒ¨ν‚€μ§•λœ 것을 ν™•μΈν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€.

 

adb λͺ…령을 톡해 λ‹€μ‹œ 앱을 μ„€μΉ˜ν•˜λŠ” κ³Όμ •μ—μ„œ μƒλ‹¨μ˜ μ—λŸ¬ λ©”μ‹œμ§€κ°€ λ‚˜νƒ€λ‚˜κ±°λ‚˜ μžλ™μœΌλ‘œ install fail이 λ‚˜νƒ€λ‚˜λ©΄ μˆ˜μ •λœ apkνŒŒμΌμ— λŒ€ν•œ μ˜¬λ°”λ₯Έ μ„œλͺ…이 μ‘΄μž¬ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— λ‚˜νƒ€λ‚œ κ²ƒμž…λ‹ˆλ‹€.

*μ„œλͺ… κ΄€λ ¨ ν•˜λ‹¨μ˜ 링크 μ°Έμ‘°

guleum-zone.tistory.com/150

 

[Android] μˆ˜μ • 된 APK파일 μ„œλͺ…

μ•ˆλ“œλ‘œμ΄λ“œ 앱을 μ§„λ‹¨ν•˜λ©΄μ„œ 무결성 검증을 ν™•μΈν•˜κ²Œ λ˜λŠ”λ° μ΄λ•Œ λ³€μ‘°λœ 앱에 μ‹ λ’°ν•  수 μžˆλŠ” μ„œλͺ…이 듀어가지 μ•ŠμœΌλ©΄ μ„€μΉ˜ 쀑간에 "install fail" 같은 μ‹€νŒ¨ 문ꡬ가 λ‚˜νƒ€λ‚˜ 앱이 무결성 검증을 수

guleum-zone.tistory.com

κ³΅μœ ν•˜κΈ° 링크
Comment