JJANG-JOON
반응형
article thumbnail
[Android] apk 파일 구조에 대하여
모바일/Android 2023. 11. 14. 13:32

APK 파일의 구조 APK 파일은 ZIP 형식으로 압축되어 있으며, 내부에는 여러 가지 디렉토리와 파일이 포함되어 있다. apk 파일의 구조는 다음과 같다. APK 파일 │ ├── META-INF/ │ ├── MANIFEST.MF │ ├── CERT.SF │ └── CERT.RSA │ ├── AndroidManifest.xml │ ├── res/ │ ├── drawable/ │ ├── layout/ │ ├── values/ │ └── ... │ ├── assets/ │ ├── fonts/ │ ├── sounds/ │ └── ... │ ├── lib/ │ ├── arm64-v8a/ │ ├── armeabi-v7a/ │ ├── x86/ │ └── ... │ ├── classes.dex │ └── resour..

article thumbnail
[Android] 안드로이드 구조와 부팅 과정
모바일/Android 2023. 11. 13. 13:14

안드로이드 구조 는 크게 5개의 계층으로 구성되어 있다. 리눅스 커널 계층 리눅스 커널은 안드로이드의 가장 기본적인 계층으로, 하드웨어와 소프트웨어의 중간 역할을 한다. 프로세스 관리, 메모리 관리, 파일 시스템 관리, 네트워크 관리 등의 기능을 제공한다. 리눅스 커널은 안드로이드 기기의 하드웨어를 관리하고, 안드로이드 프레임워크 및 애플리케이션이 실행되기 위한 기본적인 환경을 제공한다. 하드웨어 추상화 계층(HAL) HAL은 하드웨어와 소프트웨어의 차이를 추상화하여, 하드웨어에 대한 접근을 단순화한다. 예를 들어, 카메라, 화면, 오디오 등 다양한 하드웨어 장치에 대한 접근을 HAL을 통해 제공한다. HAL은 안드로이드 프레임워크 및 애플리케이션이 하드웨어에 직접 접근하지 않고도 하드웨어를 사용할 수 ..

article thumbnail
[Android] 메모리 덤프 내 중요정보 노출 대응 방안
모바일/Android 2023. 9. 11. 15:00

안드로이드 메모리 덤프 내 중요정보 노출 대응방안 의 개요를 간단히 하면 이렇다. 0. 웹뷰 버전 확인 및 업데이트, 웹뷰 설정 점검 ( 웹뷰 사용 시 ) 1. 메모리(변수)에 중요 정보를 저장 할 때에는 반드시 암호화 해서 저장 2. androidmanifest.xml 파일에 있는 android:debugable 속성을 false로 지정 3. 중요 정보가 사용된 직후 배열을 초기화해서 비워줘야 한다. 웹뷰 버전 확인 및 업데이트, 웹뷰 설정 점검 알려진 보안 취약점을 해결하려면 WebView 구성 요소를 정기적으로 업데이트하는 것이 중요하기에 WebView 업데이트를 확인하고 앱을 최신 버전으로 유지해야한다. 많은 담당자들이 놓치고 있는 부분이다. 메모리(변수)에 중요 정보를 저장 할 때에는 반드시 암..

article thumbnail
[Android] adb ? 알아볼게요 ( with. code )
모바일/Android 2023. 8. 28. 13:32

adb❓ ADB(Andriod Debug Bridge)는 안드로이드 디바이스와 컴퓨터 간의 통신을 지원하는 커맨드 라인 도구이다. ADB를 사용하면 안드로이드 디바이스를 관리하고 디버깅, 설치, 파일 전송, 로그 분석, 포트 포워딩 및 다양한 디바이스 관련 작업을 수행할 수 있다. ADB는 안드로이드 애플리케이션 개발 및 디바이스 관리에 필수적인 도구 중 하나이다. adb 주요 기능 애플리케이션 설치 및 제거: ADB를 사용하여 안드로이드 애플리케이션(APK 파일)을 설치하거나 제거할 수 있다. 애플리케이션 디버깅: ADB를 통해 안드로이드 디바이스에서 애플리케이션을 디버깅하고 로그를 확인할 수 있다. 파일 관리: 파일을 디바이스로 복사하거나 디바이스에서 파일을 가져올 수 있다. 스크린샷 및 화면 녹화:..

article thumbnail
[Android] 메모리 덤프 ? 4가지 알아볼게요
모바일/Android 2023. 8. 28. 11:32

메모리 덤프❓ 메모리 덤프(Memory Dump)는 컴퓨터 시스템의 현재 메모리 상태를 파일로 저장하는 프로세스나 결과물을 가리키는 용어이다. 디버깅(Debugging): 프로그램이 충돌하거나 예상치 못한 오류가 발생할 때, 메모리 덤프를 생성하여 오류 발생 시점의 메모리 상태를 분석할 수 있다. 이를 통해 오류 원인을 식별하고 수정할 수 있다. 보안 분석(Security Analysis): 해킹 공격이나 악성 코드 분석을 위해 시스템의 메모리 덤프를 생성한다. 이를 통해 공격자의 활동을 추적하거나 악성 코드의 작동 방식을 이해할 수 있다. 성능 분석(Performance Analysis): 프로그램이나 시스템의 성능 문제를 해결하기 위해 메모리 덤프를 생성하여 메모리 누수나 자원 소비에 대한 정보를 얻..

article thumbnail
[Android] 소스코드 난독화
모바일/Android 2023. 8. 2. 17:37

ios의 경우앱 스토어에서 자체 난독화 등의 기능이 있다 Android 소스 코드 난독화는 안드로이드 앱의 소스 코드를 변환하여 읽기 어렵게 만드는 기술이다. 이를 통해 앱의 보안을 향상시키고, 앱의 로직과 알고리즘을 보호하는데 도움이 된다. 안드로이드 소스 코드 난독화는 주로 앱의 디컴파일, 역공학, 코드 추출 등을 어렵게 하여 악성 사용자로부터 앱을 보호하는데 사용된다. 안드로이드 소스 코드 난독화에는 다양한 방법이 있지만 일반적으로 다음과 같은 것들이 있다. ProGuard: ProGuard는 안드로이드 빌드 도구에 포함된 최적화 및 난독화 도구로, 클래스, 메서드, 필드 이름을 압축하고 난독화하여 앱의 크기를 줄이고 보안을 향상시킨다. DexGuard: DexGuard는 ProGuard의 기능을 ..

article thumbnail
[Android] 디버깅 탐지 기능 취약점 + 우회 방안
모바일/Android 2023. 8. 1. 18:24

개요 **대응방법** 0. AndroidManifest.xml 의 부분에 android:debuggable 값을 true/false로 설정 1. 디버깅 비활성화 2. 디버깅 시 사용되는 ptrace 선점 안티디버깅 3. 디버깅 시 발생되는 SIGTRAP 시그널 무시 4. ppid를 확인하여 앱을 실행 시킨 프로세스가 디버깅툴(GDB or LLDB)인지 확인 5."/proc/self/status" 파일 내용 중 TracerPid 값 확인 **우회** 디버깅 탐지 기능 취약점은 앱이 동작할 때 동적 디버깅 도구로 디버깅 가능 여부에 따라 취약한지 결정되는데 LLDB나 GDB, IDA와 같은 동적 디버깅 도구로 앱에 attach을 때 디버깅이 가능하면 취약한 것이다. 공격자는 애플리케이션 동적 디버깅을 통하여..

article thumbnail
[Android] 동적 디버깅 탐지
모바일/Android 2023. 7. 13. 14:24

서버 옮기기 Ida 설치 경로에 dbgsrv 디렉터리 안헤 사진과 같이 여러 서버 파일들이 있을 것이다. ( C:\Program Files\IDA 7.0\dbgsrv) 아키텍쳐에 맞는 것을 단말기에 넣어준다. adb shell getprop ro.product.cpu.abi // 아키텍쳐 확인 adb push android_x86_server /data/local/tmp su 로 root 권한으로 실행시키기 위해 파일 권한 변경 포트 포워딩 adb foward 명령어로 안드로이드 서버와 ida 서버를 포워딩 시킨다. adb forward tcp:23946 tcp:23946 //로컬과 단말기간의 포트 포워딩 설정 Ida를 통해 attach 기기의 경우에는 ARMLinux/Android 에뮬레이터면 Linu..

article thumbnail
[Android] Magisk 헬조선을 이용한 루팅-2
모바일/Android 2023. 7. 12. 17:08

패치한 파일 적용 후 메지스크 재설치 기기를 다운로드 모드로 진입시켜 아까 다운로드 메지스크를 통해 패치한 파일을 기기에 적용시킨다. ( 로컬로 옮겨 놔야 한다. 경로: phone-download) 다운로드 모드에 들어가기 위해서는 핸드폰을 끔과 동시에 볼륨 상하 버튼을 동시에 누르면 된다. 전에 확인했더 조건들이 맞아야 다음으로 진행 가능하다. 오딘을 통해 기기에 패치한 파일을 넣어준다. 이후에 핸드폰이 재부팅 되면 바로 전원 버튼과 볼륨 상 버튼을 눌러 리커버리 모드에 들어가 공장 초기화를 진행하고 리부트를 진행한다. 이제 폰을 켤 때 루팅된 펌웨어로 진입하기 위해 볼륨 상과 전원버튼을 화면이 깜빡일 때 까지 눌러주면 된다. 메지스크를 재설치하고 버전을 확인한다. 헬조선 및 21 버전 메지스크 다운로..

article thumbnail
[Anodroid] Magisk 헬조선을 이용한 루팅
모바일/Android 2023. 7. 12. 16:54

개요 기기 정보: A30 루팅: 루팅(Rooting)은 안드로이드 기반 장치에서 시스템 레벨의 권한을 얻는 것을 의미한다. 메지스크: Magisk는 안드로이드 장치에서 루팅을 수행하고 시스템 수정을 관리하기 위한 오픈 소스 프레임워크이다. Magisk는 시스템의 루팅을 숨기고, 앱 및 서비스에서 루팅 감지를 우회하는 기능을 제공한다. 이를 통해 루팅된 장치에서도 일부 앱이 정상적으로 작동하도록 할 수 있다. https://github.com/topjohnwu/Magisk/releases Releases · topjohnwu/Magisk The Magic Mask for Android. Contribute to topjohnwu/Magisk development by creating an account o..

728x90
반응형
profile on loading

Loading...