attached to post

# APK 변조 APK 파일을 변조하는 과정은 아래와 같습니다. 1. 사이닝 키 생성 (alias 에 "app" 말고 다른 값을 넣어도 됩니다) ``` keytool -genkey -v -keystore my.keystore -keyalg RSA -keysize 2048 -validity 10000 -alias app ``` 2. APK Tool 다운로드 (최신 버전 apktool_2.9.1.jar 다운) https://github.com/iBotPeaches/Apktool?tab=readme-ov-file 3. APK Tool로 apk extract ``` java -jar apktool_2.9.1.jar d 앱이름.apk -o extracted_apk ``` 4. 파일 수정 5. APK Tool로 다시 apk 생성 ``` java -jar apktool_2.9.1.jar b extracted_apk -o 변경앱이름.apk ``` 6. zipalign 을 통해 apk 파일 정렬 (android tool에 위치) ``` ./zipalign -p 4 변경앱이름.apk 정렬변경앱.apk ``` 7. APK 새로만든 키로 사이닝 (android tool에 위치) ``` ./apksigner sign --ks-key-alias app --ks my.keystore 정렬변경앱.apk ``` 이와 같은 방법으로 악의적으로 APK 파일을 조작하여 배포를 할 수 있습니다. ## 앱 변조 방지 및 예방 방법 <개발자> 1. 앱 시그니처 및 해시 값 검증 - 앱이 실행될 때 앱의 디지털 서명을 검증하고, 앱 파일의 해시 값을 계산하여 무결성을 확인합니다. 2. 루팅 및 디바이스 상태 확인 - 앱이 루팅된 기기에서 실행되는지 여부를 확인합니다. 3. 보안 라이브러리 사용 - 서드파티 보안 라이브러리를 사용하여 앱의 보안 강화합니다. <사용자> 1. 공식 스토어 앱 다운 - 공식 스토어에서 받은 앱 파일이 아닌경우 실행하지 않는게 좋습니다. 2. 루팅 디바이스 사용 금지 ## 참고 https://gist.github.com/avoidik/a34e7864d6a267102acf6111b66b213c https://stackoverflow.com/questions/10930331/how-to-sign-an-already-compiled-apk

콘텐츠를 더 읽고 싶다면?
원티드에 가입해 주세요.
로그인 후 모든 글을 볼 수 있습니다.
댓글 5