[2018 저장판] Mac에서 엔지니어링 안드로이드 응용 프로그램(.apk)

이것은 "체육회 엔지니어 Advent Calendar 2017" 24일째 보도입니다.23일째는 @yuzu_afro 선생의 "Raspberry Pi로 반짝반짝 빛나는 트리 만들기".이다.

다른 사람의 앱에서 뭘 엿보고 싶은 게 하렌치인가요?


이번
제가 Google Play에서 발표한 프로그램의 원본 코드를 잃어버렸어요.
사회는 분명히 크리스마스 분위기에 완전히 젖어 있다
비참한 사태에 고립무원지면하다
다 긴 꼬리예요.
내일은 그리스도의 탄생제이다
이것은
자신의 응용 프로그램은 역방향 프로젝트(앞으로 리버풀)
앱의 부활절입니다.

하고 싶은 게 세 가지 정도 있을 것 같아요.


[1] Java(Kotlin)의 소스 코드를 보려면


[2] xml 코드 보고 싶어요.


【3】 응용 프로그램에 사용되는 이미지 파일을 보려면


우선, 어떤 일을 하든지 준비가 필요하다
다시 가입하고 싶은 apk를 준비하세요.
부터

스마트폰에서 다시 가입하고 싶은 앱의 apk 파일 뽑기


(이미.apk에 다시 가입하고 싶은 프로그램을 가지고 있다면 이 절차는 필요 없습니다.)
명령으로 하는 방법도 있어요.
GooglePlay에 나타나는 apk 추출 어플리케이션을 사용하면 매우 빠릅니다.
예를 들면 이런 응용 프로그램.
https://play.google.com/store/apps/details?id=com.pandaz.apkextraction
스마트폰에 설치하고 시동을 걸면

너의 핸드폰 안의 응용 프로그램은 일렬로 배열되어 있다
눈의 응용 프로그램에 검사를 추가하고 apk Extraction을 누르십시오
그리고 공유 단추로 구글 드라이브에 갖다 놓으면 자신의 것으로 만들 수 있다
그럼 간단한 녀석부터

【2】【3】xml 코드와 응용 프로그램에 사용되는 이미지 파일을 보고 싶습니다.


두루뭉술하게 말하다
AndroidStudio에 apk를 삽입하면 둘 다 볼 수 있습니다.
네, 그렇습니다.
우선
아까 받은 apk를 컴퓨터 어딘가에 미리 놓고 왔어요.
그리고
AndroidStudio에서 File → New → New Project
프로젝트 이름을 적절하게 정하고 Next → Next...에서 항목 만들기
작업 공간의 가장자리에서
Build→Analyze APK

파일 선택 대화 상자 표시
컴퓨터에 미리 놓은 아까 apk를 선택하세요.
그리고 이런 화면이 켜져요. (이번에는 샘플-앱이라는 앱의 apk를 사용했어요.)

쉬워 보여요.
보고 싶은 xml 파일 클릭
그래서

다음 부분은 xml의 내용을 표시합니다
그림의 파일은 보통 평소drawable에 넣는다
너도 한 번 클릭할 수 있어.
【2】【3】이상

[1] Java(Kotlin)의 소스 코드를 보려면


[2][3]에 비하면 할 일이 많아요.

1.apk를 zip으로 배치


apk를 zip으로 만들려면 간단히
apk의 파일 이름을 XXX로 바꾸다.apk에서 XXX까지.제가 zip으로 바꿔드릴게요.
보통 이걸 두 번 클릭하면 펴져요.
이번 zip을 두 번 클릭하면...
하나하나 zip의 친척을 낳았는데, 전개될 기미가 보이지 않는다
이런 미친 사태에 직면했을 때
The Unarchiver
https://itunes.apple.com/jp/app/the-unarchiver/id425424353?mt=12
이걸 Mac에 설치하세요.
아까 zip을 오른쪽 단추로 눌러서 이 프로그램을 선택하면 펼칠 수 있습니다.
(비슷한 응용 프로그램도 기질이 되기 때문에 좋은 것을 실었다)

2.dex2jarclasses를 사용합니다.dex 파일에서jar 파일 생성하기


자세한 내용을 확인한 후
classes.dex
파일에서jar 파일 생성하기
방법
dex2jar
https://sourceforge.net/projects/dex2jar/
다운로드(dex2jar-2.0.zip)
응용 프로그램을 확장하는 폴더에 배치된 폴더와 동일한 폴더로 확장
(이쪽 zip은 두 번 클릭해도 기질이 되지 않고 정상적으로 펼쳐진다)
이번 롱테일은 일을 위해 리버풀이라는 폴더를 만들었어요.
리버풀 폴더에 응용 프로그램이 확장된 폴더와 dex2jar-2.0 폴더가 설치되어 있습니다
그렇습니다.

리본에서 를 클릭합니다.$ cd リバエン(디렉터리 다시 수정으로 이동)
다음 명령을 클릭합니다.
$ cd dex2jar-2.0/
$ chmod +x *
$ cd ..
$ dex2jar-2.0/d2j-dex2jar.sh sample-app/classes.dex
나니를 했다고 하더라고요.
첫 번째 줄 dex2jar-2.0 폴더로 이동
두 번째 줄 dex2jar-2.0 폴더의 실행 파일에 실행 권한 부여
세 번째 줄로 돌아가서 폴더 다시 가져오기
네 번째 줄 d2j-dex2jar.sh라는 케이스classes를 사용합니다.dex에서jar 파일 생성
네, 그렇습니다.
여기까지만 하면 리버풀 폴더에 있어요.

classes-dex2jar.jar
의jar 파일이 만들어졌습니다!

3.JD_GUI를 사용하여 jar 파일 내용 보기(Java 코드)


가자!
여기 와서.
JD-GUI
http://jd.benow.ca/
이러한 어플리케이션을 Mac에 설치
방금 만든jar 파일을 오른쪽 단추로 눌러서 이 프로그램으로 열면
드디어 자바의 소스 코드를 볼 수 있을 거예요!

4.[부고] JD-GUI에서jar를 열면 붕괴될 수 있습니다.


(2018/7/17 현재 HighSierra 붕괴)
아까니까 잘 보이는 사람이 끝났으면 좋겠어요.
이 붕괴는 시에라 & 하이시에라에서 일어난 것 같아요.
솔직히 말해서, 나는 시합이 여기서 끝난 줄 알았다
class 파일의 디코더 프로그램
JD-GUI 외에는 발견되지 않았습니다(T_T)
하지만 이번에는
말하자면 왜 롱테일이 리버풀을 했을까요?
Google Play에 게시된 응용 프로그램의 중요한 소스 코드를 잃어버렸기 때문입니다.
그래서
끝난 이유
어쨌든 방법을 강구할 수밖에 없다
해결 방법을 찾는 페이지에서
스스로 Github의 JD-GUI를 만들면 인기가 많아요!
그렇습니다.
한번 해볼게요.
너는 어떤 목록하에서도 할 수 있다
당분간 이해하기 쉬운 곳에서$ cd リバエン동적 입력 프롬프트에서 클릭
자체 JD-GUI 구축을 위한 명령
$ git clone https://github.com/java-decompiler/jd-gui.git
$ cd jd-gui
$ ./gradlew installOsxDist
나니를 했다고 하더라고요.
첫 번째 줄 JD-GUI의 원본 코드를 github에서 clone
두 번째 줄 clone의 jd-gui로 이동합니다.
세 번째 줄은gradle에서 응용 프로그램을 구축합니다
네, 그렇습니다.
이거 하면...
리버풀→jd-gui→build→install→jd-gui-osx
가운데

JD-GUI.앱이 완성되었습니다!
clone이 구축되기 1분도 안 됐어요.
그럼!
드디어 방금 만든jar 파일을 우클릭으로 계속 눌렀어요.

봤어!
(참고로 여기는 원래 Kotlin으로 쓴 원본 코드였다.)
【1】이상
수고하셨습니다!!

결론


응용 프로그램의 원본 코드를 잃어버리지 않도록 주의하십시오
내일은 드디어 크리스마스!"체육회 엔지니어 Advent Calendar 2017"의 마지막 장식은 @Nkzn 씨!

좋은 웹페이지 즐겨찾기