[Android] 분할 APK 설치 방법
·
Hacking/Mobile
상용 중인 APK 파일이어서, 모자이크 처리하여 진행함을 알려드립니다.Play 스토어에서 APK를 받아서 추출 후 단말기에 설치를 하게 되면 에러가 발생되는 경우가 있는데, 그 이유가 Play 스토어에 파일을 업로드 시 용량이 큰 APK 파일은 용량을 줄이기 위해 분할(Split APK)되어 설치되는 것으로 추정됩니다. (작성자 추정이에요)Split APK 확인 방법Split APK 파일은 "/data/app/경로" 접근하게 되면 아래와 같이 base.apk를 제외한 다른 APK 파일이 존재하는 것을 확인할 수 있어요. 이러한 경우 해당 APK는 Split 된 것으로 알 수 있습니다.(APK 종류: split_config.x86.apk, split_config.xhdpi.apk split_countryc..
[Android] 프로그램 무결성 검증 (API 28 이상 버전)
·
Hacking/Mobile
프로그램 무결성 검증이란?안드로이드에서 프로그램 무결성 검증이란 앱 위ㆍ변조 여부를 확인하는 항목 Signing Key 검증 소스코드 (API 28 버전)API 28 버전 이상부터는 서명을 하여도 재 서명이 가능하여, 앱 해쉬 값 검증, Signing Key 검증 등을 통해 무결성 검증을 진행할 필요가 있음public class MainActivity extends AppCompatActivity { // 검증할 앱의 서명 값 (SHA-256 값) private static final String APP_SIGNATURE = "[Hash 값]"; @Override protected void onCreate(Bundle savedInstanceState) { super.o..
[Android] Activity 화면 강제 호출 취약점
·
Hacking/Mobile
Activity란?안드로이드 4대 컴포넌트(Activity, Service, BroadCast Receiver, Content Provider) 중 하나로 사용자와 상호작용을 하는 UI를 제공하는 역할을 합니다. (안드로이드 폰에서 특정 애플리케이션을 실행하면 보이는 화면) 테스트 환경(소스코드)모바일 앱 취약점 진단 시 Activity를 통해 루팅 탐지 우회, 인증 우회 등의 취약점이 발생되게 되는데, 주로 해당 취약점의 대응 방안은 “Android.Mainfest.xml” 파일에서 “Activty”를 외부에서 호출할 수 없게 “android:exported=”true” 설정을 하라고 나오지만, 찾아보니 일반 사용자의 호출은 막을 수 있지만, 루팅 된 단말기에서의 호출은 막지 못하는 것으로 추정됨. ..