안드로이드 APK 디컴파일이란? 먼저 디컴파일(Decompile)이란 역컴파일이란 말로써 컴파일의 반대 개념입니다. 안드로이드 APK 파일은 JAVA 기반으로 이루어져 있기 때문에 컴파일 후 코드의 실행 구조를 디컴파일 할 수 있습니다. apk 파일 디컴파일을 할 때 사용되는 프로그램들은 다양하지만 저는 그중에서 제가 가장 좋다고 느끼는 JADX 툴로 설명을 하겠습니다. JADX : https://github.com/skylot/jadx/releases 위 링크에서 JADX를 다운로드 받을 수 있습니다. ※ jadx는 jdk 1.7.0_80 버전이 설치 되어있어야만 실행할 수 있습니다. 1. 디컴파일 할 APK 파일을 다운로드 받는다. 2. jadx-gui.bat을 이용해서 apk 파일의 자바 코드를 분..
먼저 액티비티의 시작부터 종료까지의 과정을 살펴봅시다. 액티비티는 이런 순서로 동작합니다. 그렇다면 액티비티를 사용할때 사용하는 메소드들을 알아봅시다. 하지만 우리는 이런 메소드들을 만든 적이 없을것입니다. 왜냐하면 Android.appcombat.v7.Activity가 위 메소드들을 기본적으로 포함하고 있어서 안드로이 개발 시 필요한 것만 오버라이딩 하여 사용할 수 있게 해주기 때문입니다. Intent란?인텐트란 안드로이드 시스템에서 커뮤니케이션을 담당하는 역할로, 컴포넌트간(Activity, ContentProvider, BroadcastReceiver, Service)의 호출과 메시지 전달에 이용됩니다. EX) 액티비티에서 다른 액티비티로 이동하기 그렇다면 Intent에서 Activity를 어떻게 ..
먼저 안드로이드 구조에 대해 봅시다. 안드로이드의 구조는 위 그림과 같은 요소들로 구성되며 위에서부터 차례대로 애플리케이션, 에플리케이션 프레임워크, 라이브러리, 안드로이드 런타임, 리눅스 커널의 총 5개의 계층으로 분류되어 있습니다. 그렇다면 과연 안드로이드로 어떻게 프로그래밍을 할까요? 안드로이드 애플리케이션에서 레이아웃 같은 리소스를 만드는 데는 XML을, 안드로이드 애플리케이션에서 동적으로 돌아가는 부분을 정의할때는 Java code를 사용합니다. 요즘에는 Kotlin으로 대체되기도 합니다. Activity? Activity란 안드로이드에서 화면을 나타내는 단위이고 Activity 간의 이동을 위해서는 intent라는 것을 사용합니다. 이제 기본 레이아웃에 대해서 알아봅시다. 1. LinearLa..
안드로이드? 현재 우리 주변에서는 안드로이드를 사용한 디바이스들을 많이 볼수있습니다. 대표적인 예로는 삼성과 LG의 스마트폰들입니다. 대부분의 사람들이 안드로이드가 정확하게 무엇인지 모르고 사용하고 있을것입니다. 그렇다면 정확한 '안드로이드'란 무엇일까요? 01 안드로이드란? 안드로이드란 리눅스란 운영체제를 기반으로 만들어진 모바일 디바이스 플랫폼입니다. 안드로이드는 개발자들이 대표적으로는 자바와 코틀린 언어로 응용 프로그램을 작성할 수 있게 하고, 안드로이드 소프트웨어 개발 키트(SDK)를 통해 응용프로그램을 개발하는 데 필요한 도구들과 API를 제공합니다. 안드로이드사를 인수한 구글은 안드로이드의 모든 오픈소스를 무료로 배포하고 있어서 기업이나 사용자는 각자 안드로이드 프로그램을 독자적으로 개발을 해..
- Total
- Today
- Yesterday
- Level 06
- Level 02
- hackerschool
- xcz.kr
- Level 03
- Advance RCE
- CodeEngn
- Level 01
- HackingCamp
- C#
- reversing.kr
- Reversing
- Write-up
- ftz
- c++
- 유니티
- 안드로이드
- 안드로이드 멘토링
- Level 04
- 풀이
- unity2d
- Level 05
- Unity
- Programming
- 17th HackingCamp CTF
- 멘토링
- pwnable
- Android
- wargame
- Basic RCE
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |