반응형

최근에 다시 APK파일을 좀 만져볼 일이 있어서 APK easy tool을 통해 decompile을 수행해보려했으나,

자꾸 무슨 parse flag fail...?뭐 이상한 에러가 발생하였여서 본 글을 작성하게 되었다.

 

본격적으로 들어가기 앞서 본인은  apk extractor를 이 툴로 사용해왔다.

 

하지만 어느순간부터 split 파일로 생성되고, 해당 파일로 deompile및 recompile을 하는데에 에러가 발생했다.

우선적으로 split파일은 말그대로어떠한 package의 리소스나 코드들을 여러 apk파일에 분산시켜 만들어지는 파일이다.

아래와 같이 생성된다. 

 

해당 split파일을 통째로 apk easy tool을 활용하여 decompile할 수 없기에 통합하는 과정이 필요한데 이에 사용되는 두가지 방법은 아래의 블로그에 잘 정리되어 있으며 필자는 두번째 방법은 SAP를 활용한 방법으로 수행하였다.

https://secuworm.tistory.com/7

 

분할 APK(Split APKs) 병합

일반적으로 APK 파일 내부에 lib 폴더를 보면 호환성을 위해 ABI 별로 동적 라이브러리 파일이 각각 생성되어 있는 것을 볼 수 있다. 하지만 이 뚱뚱한 라이브러리들을 본인이 쓰지도 않을 버전까

secuworm.tistory.com

 

SAP툴을 사용하면 아래와 같은 폴더가 생성되며, 폴더 내에 병합된 APK파일이 존재한다.

이후에 병합된 APK 파일을 apkeasytool을 사용하여 decompile및 recompile을 수행해보자.

상기의 오류가 발생하기에 apkeasytool내부의 jar파일 버전을 수정해주었다.

(여러 개의 버전을 준비하여 안될때 바꿔 끼우는 방식을 이용하면 좋다)

방법은 아래와 같다.

 

해당 폴더에 들어가 존재하는 jar파일 대신 다른 버전을 추가해주면 된다.

이후에 apk easy tool을 재실행해본다.

빨간박스 내에 version도 바뀌어있고, 정상적으로 decompile이 수행된 모습을 볼 수 있다.

이후에 recompile은 상기에 사진에 보이는 compile을 수행하면 되며, 서명 역시 함께 해준다.

 

이후에 apk파일을 단말기로 옮겨 설치하려보니 앱 설치가 전혀되지 않았다.

(증적 어따 팔아먹었지...)

 

서명 문제가 전혀 발생할리가 없는데...

 

그리하여 방법을 좀 찾아보다가 혹시나 싶어 "google play 앱 내의 캐시나 데이터에 의해 충돌되는 것이 아닐까?" 하는 생각이 문득 들어 캐시와 데이터를 모두 삭제해보았다.

설정 > 애플리케이션 >  google play store > 저장공간 (경로는 다를 수 있다.)

이후에 재설치를 수행해보면 잘 설치 된다!

반응형

'Web Hacking' 카테고리의 다른 글

node-serialize  (0) 2024.05.29
file storage  (0) 2024.05.29
그냥 써두는 팁  (0) 2023.09.11
webhacking.kr - 46  (0) 2023.08.23
webhacking.kr 39  (0) 2023.08.20

+ Recent posts