안드로이드 난독화 (코드 보호 기법)
난독화 솔루션의 종류 1. 에러기반 난독화 - 리패키징 방지 기능 - smali 코드에서 자바 코드로 변환할 때 사용되는 dex2jar 도구의 에러를 유발 - 오픈소스 APKProtect가 존재 (취약점이 발견되어 개발 중단) 2. 소스코드기반 난독화 - 자바 코드의 클래스, 메소드명, 필드명, 변수명 등을 임의의 문자(a, b, c)로 치환 - 오픈소스 Proguard가 존재 3. 문자열기반 난독화 - 중요 정보를 다루는 평문의 문자열을 암호화하여 숨김 (대칭키) - 꼭 필요한 구간에 난독화를 적용해야 하며, 모든 곳에 적용하면 앱 설치 및 기능이 정상적으로 동작하지 않음 - 상용 존재 4. 멀티덱스기반 난독화 - 실질적인 앱을 구동하기 위한 코드, 원본 코드가 존재 - 원본 코드는 리소스 파일에 암호..