dex

DEX Loading

2024년 3월 24일
android, dex

참조 # 악성 APK을 이용한 Dynamic Dex Loading 분석 3가지 DexLoading 분석 BaseDexClassLoader # DexClassLoader # PathClassLoader # InMemoryDexClassLoader # android.support.multidex.MultiDex # dalvik.system.DexFile # DelegateLastClassLoader # 서드파티 라이브러리 # 메모리에 로드할 때 사용되는 Android 코드 정리 메모리에서 사용하는 방식? apk 파일일때 메모리에 로드되는 구조 (특정 타겟 버전만) 지금 테스트할때 보이는 방향으로는 메모리에 로드될때 r–p 에서만 덱스가 보이는데, 왜 그러는지? aab 파일일 때 메모리에 로드되는 구조 이녀석은 메모리에 dex 이름으로 로드되지 않음 만약 로드하는 방식에 따라 달라지면 로드하는 방식별로 정리 AOS 버전에 따라 달라질 가능성도 있음 (깊게는 ㄴㄴ ) ...

DEX File format

2024년 3월 21일
android, dex

참조 # https://www.bugsnag.com/blog/dex-and-d8/ classes.dex 파일 포맷 (Header, String IDs) official dex format DEX (Dalvik EXecutable) Format # Android 런타임에 최종적으로 실행되는 코드가 포함된 파일이며, 덱스파일 헤더와 실제 데이터를 담는 본문으로 구분된다. Dex 헤더 (dex\n035\0) # Magic [0x00-0x07] # dex\n035\0 형식으로 되어있는데, 각 버전마다 특징이 조금씩 다르고, 손상된 경우 설치가 거절된다. Checksum [0x08-0x0b] (adler-32) # 0x0c(시그니쳐) 부터 EOF 까지 바이트에 대한 체크섬이며, 설치할때 체크섬 검사를 해서 손상된 경우 설치가 거절된다. 파일 손상을 검증하는데 사용하는 값 ...