Android 어플리케이션 분석 베이스 1 - 스마트 편 -
6393 단어 JavaDecompilerAndroid
이 글은 eeic Advent Calendar 2016의 2 첫날의 글입니다.
솔직히 eeic 요소는 없지만 같은 학과 여러분께 소절을 전수할 수 있는 기회라고 생각해서 투고했습니다.
안드로이드 앱 개발 과정에서 잘 알려지지 않은 행동과 설치된 앱에서 수상한 행동이 나타났을 때 안드로이드 앱의 해석 기술이 작용할 때도 있다.
분석된 지식은 자신이 안전 응용을 구축하는 중요한 단서가 될 수 있을 뿐만 아니라 자신의 응용 프로그램의 안전을 테스트하는 수단이 될 수 있다.
안드로이드 앱 해석 기반 중 하나로 안드로이드 앱 해석의 간단한 구조와 스마트폰에서 쉽게 해석할 수 있는 편리한 앱을 소개한다.
안드로이드 응용 프로그램 분석의 기초 두 번째는 PC에서 더욱 상세한 분석 방법과 분석에서 나온 방어 방법을 소개한다.
기본이니까 1, 2 다 돼요.
관심 있으시면 꼭 저에게 말을 걸어주시거나 트위터에 답장해 주세요.
언약
본 보도에서 얻은 정보를 절대 남용하지 마세요.
법률이 보호하는 절차에 대해 역공정을 하는 등은 법률에 위반될 수 있다.
Android 애플리케이션의 컨텐츠
우선, 해석을 시작할 때, 프로그램에 어떤 파일이 포함되어 있는지 알아야 한다.
이번에는 안드로이드 스튜디오가 시작할 때 선택할 수 있는 하늘 뷰가 있는 프로그램의 파일 내용을 살펴봅시다.
Android 애플리케이션은 apk 파일로 패키지화됩니다.
이것은 서명한 것입니다. 단지 zip이기 때문에 apk 파일의 이름은 app입니다.apk -> app.zip처럼 이름을 바꾸면 해동할 수 있습니다.신지현:이제 해동됐다며...💦💦)
동결해제된 zip의 내용은 다음과 같습니다.
이 서류들은 각각
우선, 해석을 시작할 때, 프로그램에 어떤 파일이 포함되어 있는지 알아야 한다.
이번에는 안드로이드 스튜디오가 시작할 때 선택할 수 있는 하늘 뷰가 있는 프로그램의 파일 내용을 살펴봅시다.
Android 애플리케이션은 apk 파일로 패키지화됩니다.
이것은 서명한 것입니다. 단지 zip이기 때문에 apk 파일의 이름은 app입니다.apk -> app.zip처럼 이름을 바꾸면 해동할 수 있습니다.신지현:이제 해동됐다며...💦💦)
동결해제된 zip의 내용은 다음과 같습니다.
이 서류들은 각각
실행 파일 컴파일
Android 응용 프로그램은 Java로 기술되어 있습니다.
현재 교실에서 사용하는 C 언어는 컴파일할 때 기계 언어로 컴파일된다.
자바는 컴파일러 언어이지만 기계 언어가 아니라 자바VM에서 이동하는 바이트 코드를 컴파일합니다.
기계 언어에 비해 이런 형식은 사람이 쓴 코드에 가깝고 대략 원본 코드의 형식으로 회복될 수 있다.
이번에는 응용 프로그램을 이용하여 바이트 코드 -> 원본 코드를 간단하게 컴파일합니다.
만약 컴파일을 통해 원본 코드를 얻을 수 있다면, 이후에 원본 코드를 읽기만 하면 응용 프로그램의 전체 내용을 알 수 있다.
Show Java
이번에 소개한 애플리케이션은 Show Java
이 앱은 apk 파일의 해동, 안드로이드 선언의 디코딩, 해독 등을 클릭하는 훌륭한 앱이다.소스의 뷰어도 보기 쉬워 추천해드려요.
이 앱이 있다면 전차를 타는 틈틈이 미소로 쉽게 데이터를 컴파일해 해석할 수 있다!!
분석 대상은 위에 설치된 프로그램에서 선택하거나 SD 카드에서 선택할 수 있습니다.
번역하는 데 시간이 좀 걸린다.또 응용 프로그램에 따라 컴파일에 실패한 경우도 있다.
끝나면 위에서 설명한 대로 출력됩니다.
자바 폴더에는 컴파일된 자바 파일이 있고,res에는 자원 파일이 있습니다.
원본 코드는 위에서 말한 바와 같이 출력됩니다. 이것을 읽으면 응용 프로그램의 논리를 이해할 수 있습니다.
편리한 앱이니까 꼭 사용하세요!
통신 해석
때때로 응용 프로그램은 네트워크를 이용하여 통신을 한다.
이러한 통신을 포획해 보면 응용 프로그램의 행동을 파악하는 데 도움이 된다.
이번에는 앱을 이용해 통신을 포착한다.
사용하는 응용 프로그램은 Android의 VPN 기능을 이용하여 루트화 없이 통신을 포착할 수 있다.
Packet Capture
분석 통신에 편리하다Packet Capture.
이 프로그램은 그룹을 단독으로 캡처해서 내용을 열람할 수 있다.
야후야.이것은 Firefox에서co.jp를 방문했을 때의 로그입니다.
이 중 하나를 클릭하면 아래 화면으로 이동합니다.
실제로 HTTP의 요구 사항과 응답을 확인할 수 있습니다.
이외에도 UDP와 TCP 패킷 등을 확인할 수 있어 SSL을 디코딩할 수 있는 편리한 앱이다.
또 사용 시 통신 속도가 크게 떨어질 수 있어 주의가 필요하다.
tPacketCapture
손쉽게 통신을 분석하기 위해 패킷캡처는 편리하지만 컴퓨터에서 조를 자세히 보려 할 때 불만족스러울 때가 많다.
이럴 때 추천tPacketCapture.
tPacketCapture는 포획된 패킷을 pcap 파일로 출력할 수 있기 때문에 PC로 이전함으로써 우수한 네트워크 분석 소프트웨어인 WireShark에서 분석할 수 있다.
이 프로그램은 그룹을 나누는 뷰어 기능을 첨부하지 않습니다.
캡처하기만 하면 그룹을 캡처할 수 있습니다.
이쪽도 사용할 때 통신 속도가 많이 떨어지니 주의가 필요하다.
PcapReader
언젠가는 스마트폰에서 pcap 파일을 보고 싶을지도 몰라요.
그때를 위해 추천PcapReader.
PCapReader는 tPacketCapture와 PC에 있는 WireShark 등을 통해 포획된 그룹을 찾아볼 수 있다.
이렇게 데이터 패키지를 분석할 수 있다.
이 중 하나를 클릭하면 아래 화면으로 이동합니다.
HTTP 요구 사항이 완전히 지워져서 잘 보입니다.
또 블루투스 패킷 등은 지원되지 않는다는 점도 유의해야 한다.
총결산
편리한 응용 프로그램을 이용하여 쉽게 응용 프로그램을 분석해 보세요.
P.S. 어떤 사람이 나에게 아이폰을 사주었다.
Reference
이 문제에 관하여(Android 어플리케이션 분석 베이스 1 - 스마트 편 -), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/totem/items/e5ad1da5662f06d359ca
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
때때로 응용 프로그램은 네트워크를 이용하여 통신을 한다.
이러한 통신을 포획해 보면 응용 프로그램의 행동을 파악하는 데 도움이 된다.
이번에는 앱을 이용해 통신을 포착한다.
사용하는 응용 프로그램은 Android의 VPN 기능을 이용하여 루트화 없이 통신을 포착할 수 있다.
Packet Capture
분석 통신에 편리하다Packet Capture.
이 프로그램은 그룹을 단독으로 캡처해서 내용을 열람할 수 있다.
야후야.이것은 Firefox에서co.jp를 방문했을 때의 로그입니다.
이 중 하나를 클릭하면 아래 화면으로 이동합니다.
실제로 HTTP의 요구 사항과 응답을 확인할 수 있습니다.
이외에도 UDP와 TCP 패킷 등을 확인할 수 있어 SSL을 디코딩할 수 있는 편리한 앱이다.
또 사용 시 통신 속도가 크게 떨어질 수 있어 주의가 필요하다.
tPacketCapture
손쉽게 통신을 분석하기 위해 패킷캡처는 편리하지만 컴퓨터에서 조를 자세히 보려 할 때 불만족스러울 때가 많다.
이럴 때 추천tPacketCapture.
tPacketCapture는 포획된 패킷을 pcap 파일로 출력할 수 있기 때문에 PC로 이전함으로써 우수한 네트워크 분석 소프트웨어인 WireShark에서 분석할 수 있다.
이 프로그램은 그룹을 나누는 뷰어 기능을 첨부하지 않습니다.
캡처하기만 하면 그룹을 캡처할 수 있습니다.
이쪽도 사용할 때 통신 속도가 많이 떨어지니 주의가 필요하다.
PcapReader
언젠가는 스마트폰에서 pcap 파일을 보고 싶을지도 몰라요.
그때를 위해 추천PcapReader.
PCapReader는 tPacketCapture와 PC에 있는 WireShark 등을 통해 포획된 그룹을 찾아볼 수 있다.
이렇게 데이터 패키지를 분석할 수 있다.
이 중 하나를 클릭하면 아래 화면으로 이동합니다.
HTTP 요구 사항이 완전히 지워져서 잘 보입니다.
또 블루투스 패킷 등은 지원되지 않는다는 점도 유의해야 한다.
총결산
편리한 응용 프로그램을 이용하여 쉽게 응용 프로그램을 분석해 보세요.
P.S. 어떤 사람이 나에게 아이폰을 사주었다.
Reference
이 문제에 관하여(Android 어플리케이션 분석 베이스 1 - 스마트 편 -), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/totem/items/e5ad1da5662f06d359ca
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Android 어플리케이션 분석 베이스 1 - 스마트 편 -), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/totem/items/e5ad1da5662f06d359ca텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)