posted by 블르샤이닝 2018. 11. 6. 23:06
728x90

최근 2020. 3. 14. 

apk분석을 위해 안드로이드 스튜디오와 ida 원격 분석방법을 진행하려고 환경구성을 해보았는데

안드로이드 스튜디오는 구성되었으나 보기가 너무 힘들어서 ida 원격 안드로이드 서버 파일을 업로드 하여 동적분석하는걸로 하려하였으나 64비트 운영체제로 문제인건지 32비트는 실행이 될수 없다는 에러가 발생하였다. (ida 7.0 부터 64비트 서버파일 제공) 


그래서 현재 ida 7.2 버젼으로 테스트를 다시 해보려고 구상중이구...지금까지는 실패인 상태이다

어느 블로그 분한테 ida 오류부분을 문의하니 한글로 하면안된다고 한다...오호~~~해봐야겠따

ida 분석 소개글 

https://blog.naver.com/android_signal/221823397648

-------------------------------------------------------

apk 파일 분석할때 기본적으로 dex2jar을 쓰는데 


http://teamcrak.tistory.com/403 여기에 나와있는 자동화 툴을 설치해볼까한다. 세상이 좋아졌네.....


우선 APK는 구식 방법인 DEX2JAR을 통해 JAVA DECOMPILE을 하려고 한다. \


오랜만이라 시스템 새로 구성


필요한 사이트

APK 파일을 JAVA로 변환 : https://sourceforge.net/projects/dex2jar/

자바 디컴파일러 툴 : http://jd.benow.ca/


1.온라인 툴 사용

http://www.javadecompilers.com/apk 에서 apk파일을 업로드하면 자동으로 소스코드를 추출해준다. 단, 완벽하게 만들어진 apk 파일만 가능하고 xcz와 같은 워게임에서 문제풀이용으로 대충 파일만 몇 개 있고 확장자만 apk인 파일은 분석되지 않는다.

2. dex2jar 툴 사용

Step 0:

사용하는 PC에 자바가 설치되어 있어야 한다.

Step 1:

새로운 폴더를 하나 만들고 디코딩하고 싶은 apk파일을 폴더 안으로 복사한다.

복사한 apk파일의 확장자를 zip으로 바꾸고 압축을 푼다.

파일은 준비되었으나 아직 읽을 수 없는 상태이다.

Step 2:

dex2jar파일을 다운받고 압축을 푼다. 1.9, 2.0. 2.x 버전이 있고 개발자의 깃허브에 방문하면 2.x 버전이 있는데 아직 미완성인 듯 하다. 구글에서 1.9나 2.0 버전을 검색하면 쉽게 다운받을 수 있다.

분석할 *.dex 파일을 압축을 푼 dex2jar 폴더로 복사한다.

cmd를 열고 복사한 파일이 있는 경로로 이동한다.

d2j-dex2jar *.dex를 입력.(리눅스에서는 ./d2j-dex2jar.sh classes.dex입력).

과정이 진행되고 폴더에 classes.dex.dex2jar파일이 생성된다.

구글에 검색해서 jd-gui.exe를 다운받고 변환된 *-dex2jar.jar 파일을 연다. 이제 java 소스파일을 얻었다.

그러나 xml파일은 여전히 읽을 수 없는 상태다.

Step 3:

새로운 폴더를 만들고, apk파일을 폴더에 복사.

apktool 와 apktool install window 버전을 다운받고 같은 폴더에 넣는다.

cmd를 실행하고 경로로 이동하여 apktool d *.apk 명령 입력

이제 폴더에 새로운 폴더가 생성되고 apk파일의 xml파일들을 읽을 수 있다.

Step 4:

생성된 2개의 폴더(class / xml)를 하나의 폴더에 복사한다.

--------------------------------------------------------------------

위에 자바티컴파일러와 안드로이드 studio 를 같이쓰면 좋다는걸 알았다. 예전에 개발할때는 수동으로 해야하는데 지금은 많이 바뀌었네(많이 좋아졌다)


https://developer.android.com/studio/


안드로이드 스튜디오의 장점은 굳이 변환을 할필요없이 apk 자체를 바로 볼수있다는 것이다. 물론 dex2jar로 보는게 코드는 좀더 정확히 볼수있긴하던데 간단한 문자열(url)등 확인할때는 이걸로 바로 보는게 좋을것같다

아 그리고 이걸로 가상화환경을 구축하여 동적분석도 가능할것으로 보인다. 


-----------------

최근 APK 파일 분석

URL부분 난독화함....ㅡㅡ 개새X들....정적분석부분에서 BASIC_URL 코드 부분을 난독화하는 함수로 빼서 쓰는것을 확인....기존 코드는 동일함. 난독화 복호화 코드 부분은 찾았으나 코딩을해야함....난 코딩을 못함...그냥 동적분석으로 확인하려함


안드로이드 스튜디오 설치하고 넥서스 6 버젼의 AVD인가 가상 에뮬 설치하고 디버깅 하면 동적 분석 가능. 그리하여 접속되는 URL 확인함. 

분석방법은 나중에 공유할것이며, 지금 실패한 IDA 동적 분석에 대해서 다시 해볼생각임....IDA 설정에서 왜 오류나는지 모르겠음..여튼 안드로이드 스튜디오 짱짱






728x90

'포렌식 > 스마트폰' 카테고리의 다른 글

dm 확장자 파일  (0) 2021.03.12
apk 전화번호 발수신 변작 내용 참조  (0) 2020.03.24
apk 디버깅 하기 좋은 사례  (0) 2020.03.06
안드로이드 studio sdk 설치 방법  (0) 2020.01.16
FRP HiJacker By Hagard  (0) 2019.05.21