1. [분석 개요](#1-분석-개요)
2. [앱 기본 정보](#2-앱-기본-정보)
3. [Template C-Kefu 변종 분류](#3-template-c-kefu-변종-분류)
4. [권한 심층 분석 — 15-Permission Lite Profile](#4-권한-심층-분석--15-permission-lite-profile)
5. [방어기제 분석 — Frezrik Jiagu 6th Instance](#5-방어기제-분석--frezrik-jiagu-6th-instance)
6. [NDK_JIAGU 런타임 언패킹 분석](#6-ndk_jiagu-런타임-언패킹-분석)
7. [SO 바이너리 해시 체인 — 6차 확인](#7-so-바이너리-해시-체인--6차-확인)
8. [앱 구조 심층 분석](#8-앱-구조-심층-분석)
9. [MaintenanceActivity 신규 컴포넌트 분석](#9-maintenanceactivity-신규-컴포넌트-분석)
10. [네트워크 통신 분석](#10-네트워크-통신-분석)
11. [데이터 수집 로직 — Contacts-Images-Camera 삼각형](#11-데이터-수집-로직--contacts-images-camera-삼각형)
12. [ShareTrace SDK 분석](#12-sharetrace-sdk-분석)
13. [C2 서버 및 API 분석](#13-c2-서버-및-api-분석)
14. [OkHttp3 + Glide + OkDownload 통신 스택](#14-okhttp3--glide--okdownload-통신-스택)
15. [ZXing QR 코드 스캐너 분석](#15-zxing-qr-코드-스캐너-분석)
16. [UI/UX 소셜 엔지니어링 분석](#16-uiux-소셜-엔지니어링-분석)
17. [패밀리 크로스 레퍼런스 — 6-Instance Comparison](#17-패밀리-크로스-레퍼런스--6-instance-comparison)
18. [SL-086: Permission-Level Template Taxonomy](#18-sl-086-permission-level-template-taxonomy)
19. [IOC (Indicators of Compromise)](#19-ioc-indicators-of-compromise)
20. [취약점 분석](#20-취약점-분석)
21. [MITRE ATT&CK 매핑](#21-mitre-attck-매핑)
22. [YARA 룰](#22-yara-룰)
23. [🔬 기법 점검](#23-🔬-기법-점검)
24. [결론 및 위협 평가](#24-결론-및-위협-평가)
피싱/스미싱 [피해자 정보 비공개] 위한 악성앱 역공학 분석. PPAU는 "성인 영상통화 채팅앱"으로 위장한
연락처/이미지 탈취 악성앱이다. Template C-Kefu 패밀리의 6번째 확인 인스턴스이며,
기존 인스턴스 대비 권한 축소 변종(Lite Profile)이라는 점에서 탬플릿 진화를 입증한다.
항목 · 값
분석 대상 · PPAU 1.1.4 (versionCode=2)
APK SHA-256 · `88e5d9f9a3e343cdec346808195bf0e50bdb637c7100e222be063-****-****c4c`
DEX 파일 · 3개 (런타임 복호화, Elements size:1→3)
네이티브 라이브러리 · 4개 (assets/ 경로, Jiagu SO)
난독화 수준 · Critical (Frezrik Jiagu + 런타임 DEX 복호화)
분석 방법 · 정적 분석 + 동적 분석 (에뮬레이터) + 6-Instance 크로스 레퍼런스
도구 · 용도
apktool v2.9.3 · APK 디컴파일
Deep-Coding Lab v2.0 · 패밀리 식별, SO 해시 검증, NDK_JIAGU 시퀀스 캡처
Google Emulator (DeepCoding_API35) · 동적 분석, 권한 요청 체인 관찰
ADB logcat · NDK_JIAGU 11-step 시퀀스 + ConnectivityService 트래픽 캡처
sha256sum · SO 바이너리 해시 체인 검증 (6차)
발견 · 심각도 · 상세
Template C-Kefu 6번째 인스턴스 확인 · Critical · 동일 SO 바이너리, 동일 ART Hook 주소
15-Permission Lite Profile 최초 발견 · High · 기존 27권한 대비 12개 축소 — SMS, 통화기록, 위치 등 제거
MaintenanceActivity 신규 컴포넌트 · High · 서버 측 유지보수 모드 원격 제어 가능성
versionCode=2 (v1.1.4) 최초 확인 · Medium · 기존 모든 인스턴스 versionCode=1 → PPAU만 v2
16,025,887B 파일 크기 신규 변종 · Medium · v1(16,643,509B)·v2(16,610,741B) 아닌 3번째 사이즈 변종
ANR 발생 패턴 · Medium · Jiagu 언패킹 부하로 인한 UI 스레드 블로킹 관찰
항목 · 값
**앱 이름** · PPAU
**패키지명** · `com.hhii.lkzonx.orcrxusg`
**버전** · 1.1.4 (versionCode: 2)
**minSdkVersion** · 22 (Android 5.1 Lollipop)
**targetSdkVersion** · 34 (Android 14)
**파일 크기** · 16,025,887 bytes (15.28 MB)
**APK SHA-256** · `88e5d9f9a3e343cdec346808195bf0e50bdb637c7100e222be063-****-****c4c`
**출처 경로** · `app_manager/앱플레이어 O/초대 코드 X/250422 _ PPAU2025.apk`
com.hhii.lkzonx.orcrxusg — 4-segment 랜덤 패키지:
· com — 표준 TLD
· hhii — 4자 랜덤 (소문자)
· lkzonx — 6자 랜덤 (소문자)
· orcrxusg — 8자 랜덤 (소문자)
기존 Template C-Kefu 패키지 비교:
인스턴스 · 패키지명 · 세그먼트 길이 패턴
WeeTalk · `com.wewjkn.cmwrxjk.kdnjek` · 3-6-7-6
wks_dildo · `com.txwm.wnjlsxz.cxllkt` · 3-4-7-6
bp_dildo · `com.wtwkjknjkw.nhjk.njkss` · 3-10-4-5
hpb_dildo · `com.fptogurtll.xgzcmislq.rlczxy` · 3-10-9-6
ppau · `com.hhii.lkzonx.orcrxusg` · 3-4-6-8
세그먼트 길이 패턴에 일관성이 없어 자동 생성기 사용 추정. 4-segment 구조만 일관.
```
versionCode: 2 (기존 인스턴스: 1)
versionName: 1.1.4 (기존 인스턴스: 1.0)
```
PPAU는 Template C-Kefu 인스턴스 중 유일하게 versionCode=2:
· 다른 인스턴스(WeeTalk, wks_dildo, bp_dildo, hpb_dildo)는 모두 versionCode=1, versionName=1.0
· PPAU의 v1.1.4는 최소 4번의 마이너 업데이트(1.0→1.0.1→...→1.1.4)를 시사
· 이는 Template C-Kefu가 단발성 배포가 아닌 지속적 개발 중임을 증명
템플릿 버전 · 파일 크기 · 차이 · 인스턴스
Template C-Kefu v1 · 16,643,509B · 기준 · hpb_dildo (2024-10)
Template C-Kefu v2 · 16,610,741B · -32,768B (2^15) · wks_dildo, bp_dildo (2025-01)
**Template C-Kefu v3 (Lite)** · **16,025,887B** · **-617,622B** · **ppau (2025-04)**
v1→v2 차이: 정확히 2^15 바이트 = 최적화(패딩/정렬 제거)
v2→v3 차이: -584,854B = 권한 관련 코드 제거 (12개 권한 코드 + 관련 UI/로직 삭제)
617,622B의 차이는 다음 요소의 총합으로 추정:
· SMS 접근 코드 (~50KB)
· 통화기록 읽기 코드 (~40KB)
· 위치 추적 코드 (~80KB)
· 전화번호 읽기 코드 (~30KB)
· 캘린더 읽기 코드 (~40KB)
· WiFi 변경 코드 (~20KB)
· 미디어(비디오/오디오) 접근 코드 (~60KB)
· 관련 리소스/레이아웃 (~300KB)
Template C-Kefu는 다음 5가지 특성으로 식별되는 악성앱 템플릿이다:
1. Frezrik Jiagu 보호 — com.frezrik.jiagu.StubApp Application 클래스
2. KefuActivity — <패키지>.web.KefuActivity 웹뷰 기반 고객서비스 페이지
3. SO in assets/ — 네이티브 라이브러리가 lib/ 대신 assets/에 위치
4. ShareTrace SDK — 앱 추적 SDK 내장 (Chinese 에러 메시지)
5. ZXing QR 스캐너 — com.yzq.zxinglibrary.android.CaptureActivity
특성 · PPAU · 기존 인스턴스 · 일치
Frezrik Jiagu StubApp · ✅ `com.frezrik.jiagu.StubApp` · ✅ · 일치
KefuActivity · ✅ `.web.KefuActivity` · ✅ · 일치
SO in assets/ · ✅ 4개 (libjiagu*.so) · ✅ · 일치
ShareTrace SDK · ✅ 에러 문자열 존재 · ✅ · 일치
ZXing QR · ✅ `CaptureActivity` · ✅ · 일치
OkDownload · ✅ `OkDownloadProvider` · ✅ · 일치
Glide+OkHttp3 · ✅ `OkHttpGlideModule` · ✅ · 일치
SO SHA-256 · ✅ `1a85a981...` · ✅ · **6차 확인**
결론: PPAU는 Template C-Kefu의 확인된 6번째 인스턴스.
PPAU는 기존 인스턴스와 다른 점이 5개 이상 존재하여 Lite Variant로 분류:
차이점 · PPAU (Lite) · 기존 (Standard)
권한 수 · 15개 · 27개
versionCode · 2 · 1
versionName · 1.1.4 · 1.0
MaintenanceActivity · ✅ 존재 · ❌ 없음
minSdkVersion · 22 · 24
파일 크기 · 16,025,887B · 16.6~16.6MB
SMS 접근 · ❌ 없음 · ✅ READ_SMS
통화기록 접근 · ❌ 없음 · ✅ READ_CALL_LOG
위치 추적 · ❌ 없음 · ✅ ACCESS_FINE_LOCATION
전화번호 접근 · ❌ 없음 · ✅ READ_PHONE_STATE/NUMBERS
# · 권한 · 위험도 · 카테고리
1 · `INTERNET` · Normal · 네트워크
2 · `ACCESS_NETWORK_STATE` · Normal · 네트워크
3 · `ACCESS_WIFI_STATE` · Normal · 네트워크
4 · `CHANGE_NETWORK_STATE` · Normal · 네트워크
5 · `READ_CONTACTS` · **Dangerous** · **데이터 탈취**
6 · `READ_EXTERNAL_STORAGE` · **Dangerous** · **데이터 탈취**
7 · `READ_MEDIA_IMAGES` · **Dangerous** · **데이터 탈취**
8 · `WRITE_EXTERNAL_STORAGE` · **Dangerous** · 파일 조작
9 · `CAMERA` · **Dangerous** · **감시**
10 · `POST_NOTIFICATIONS` · Dangerous · 지속성
11 · `QUERY_ALL_PACKAGES` · Normal · 정찰
12 · `WAKE_LOCK` · Normal · 지속성
13 · `VIBRATE` · Normal · UX
14 · `FLASHLIGHT` · Normal · 카메라 보조
15 · `AD_ID` · Normal · 추적
# · 제거된 권한 · 카테고리 · 제거 이유 추정
1 · `READ_SMS` · 데이터 탈취 · Google Play 정책 강화 (2024-10)
2 · `READ_CALL_LOG` · 데이터 탈취 · Google Play 정책 강화
3 · `READ_PHONE_STATE` · 기기 식별 · Android 11+ 제한
4 · `READ_PHONE_NUMBERS` · 기기 식별 · Android 11+ 제한
5 · `READ_CALENDAR` · 데이터 탈취 · 영상통화앱과 무관
6 · `ACCESS_FINE_LOCATION` · 위치 추적 · 정밀 위치 불필요
7 · `ACCESS_COARSE_LOCATION` · 위치 추적 · 위치 완전 제거
8 · `ACCESS_LOCATION_EXTRA_COMMANDS` · 위치 추적 · 위치 완전 제거
9 · `CHANGE_WIFI_STATE` · 네트워크 제어 · 불필요 기능
10 · `READ_MEDIA_VIDEO` · 데이터 탈취 · 이미지만 타겟
11 · `READ_MEDIA_AUDIO` · 데이터 탈취 · 이미지만 타겟
12 · `RECEIVE_BOOT_COMPLETED` · 지속성 · (표준 인스턴스에 있을 경우)
PPAU의 권한 프로파일은 실제 영상통화 앱이 요청할 법한 최소 권한에 가깝다:
· 카메라 ✅ (영상통화)
· 연락처 ✅ (친구 찾기)
· 갤러리 이미지 ✅ (프로필 사진)
· 네트워크 ✅ (통신)
이는 의도적인 Plausible Deniability 전략으로 판단:
· Google Play/3rd-party 스토어 심사 우회 목적
· 사용자 의심 최소화 (27개 → 15개 권한 요청 시 거부율 감소)
· 핵심 탈취 대상(연락처+이미지)만 유지하고 나머지 포기
```xml
<uses-feature android:name="android.hardware.telephony" android:required="true"/>
<uses-feature android:name="android.hardware.location" android:required="true"/>
<uses-feature android:name="android.hardware.camera.front" android:required="true"/>
<uses-feature android:name="android.software.webview" android:required="true"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="true"/>
<uses-feature android:name="android.hardware.camera" android:required="true"/>
```
모순 발견: android.hardware.location required=true이지만 위치 권한은 없음.
이는 Standard 템플릿에서 features를 수정하지 않고 permissions만 제거한 증거.
불완전한 권한 축소 — 개발자의 실수 또는 급한 수정의 흔적.
```
Application: com.frezrik.jiagu.StubApp
↓ System.loadLibrary()
assets/libjiagu_x86_64.so (256,744B)
↓ JNI_OnLoad()
/data/user/0/<package>/.jiagu/libjiaguv1.so (runtime extracted)
↓ NDK_JIAGU sequence
3개 DEX 런타임 복호화 + 로딩
↓ replaceApplicationContext
com.hhii.lkzonx.orcrxusg.base.MyApp (실제 앱)
```
디컴파일된 smali 파일 (4개만 존재):
1. com/frezrik/jiagu/StubApp.smali — Jiagu 언패커 엔트리포인트
2. a/a/a/a/a.smali — 난독화된 헬퍼 클래스
3. androidx/core/app/CoreComponentFactory.smali — AndroidX 호환
4. androidx/core/app/CoreComponentFactory$a.smali — Factory 내부 클래스
```
02-26 14:38:22.709 W lkzonx.orcrxusg: type=1400 audit(0.0:1240): avc: granted { execute }
for path="/data/data/com.hhii.lkzonx.orcrxusg/.jiagu/libjiaguv1.so"
dev="dm-45" ino=516353
scontext=u:r:untrusted_app:s0:c8,c257,c512,c768
tcontext=u:object_r:app_data_file:s0:c8,c257,c512,c768
tclass=file app=com.hhii.lkzonx.orcrxusg
```
SELinux가 .jiagu/libjiaguv1.so 실행을 granted — untrusted_app 도메인에서
자체 앱 데이터 디렉토리 내 SO 실행이 허용됨. 이는 Android 보안 모델의 허점을 이용한 것.
PPAU의 manifest에는 에뮬레이터 탐지 코드가 명시적으로 없지만,
Jiagu SO 내부에 탐지 로직이 존재할 가능성이 있다.
에뮬레이터(API 35)에서 정상 실행됨 → 탐지 없음 또는 비활성화.
```
[14:38:22.712] Step 1: soName:libjiagu_x86_64.so
[14:38:22.826] Step 2: SDK_INT = 35
[14:38:22.826] Step 3: init done! quick_on_stack_replace = 0x7c848ad02000, quick_on_stack_back = 0x7c848f2901c0
[14:38:22.827] Step 4: [-]getDex
[14:38:24.099] Step 5: [-]loadDex
[14:38:24.214] Step 6: app name: com.hhii.lkzonx.orcrxusg.base.MyApp
[14:38:24.593] Step 7: [+]Elements size:1, dex File size: 3
[14:38:24.614] Step 8: hook
[14:38:24.700] Step 9: replaceContentProvider
[14:38:24.936] Step 10: replaceContentProvider
[14:38:24.996] Step 11: replaceApplicationContext
```
구간 · 시간 · 비율
SO 로딩 → init · 114ms · 5.0%
getDex · 1ms · 0.04%
getDex → loadDex · 1,272ms · 55.7%
loadDex → app name · 115ms · 5.0%
app name → Elements · 379ms · 16.6%
Elements → hook · 21ms · 0.9%
hook → replaceCP(1) · 86ms · 3.8%
replaceCP(1) → replaceCP(2) · 236ms · 10.3%
replaceCP(2) → replaceAppCtx · 60ms · 2.6%
**총 시간** · **2,284ms** · **100%**
인스턴스 · 총 시간 · getDex→loadDex · 비율
WeeTalk · ~2,100ms · ~1,200ms · 57%
wks_dildo · ~2,300ms · ~1,250ms · 54%
bp_dildo · ~2,200ms · ~1,180ms · 54%
hpb_dildo · ~2,350ms · ~1,300ms · 55%
**ppau** · **2,284ms** · **1,272ms** · **55.7%**
getDex→loadDex가 전체의 54~58%를 차지하는 것은 DEX 복호화 연산이 지배적임을 의미.
모든 인스턴스에서 총 시간이 2,100~2,350ms 범위에 있어 동일 하드웨어(에뮬레이터)에서의
일관된 복호화 부하를 확인.
```
quick_on_stack_back = 0x7c848f2901c0 ← 6차 연속 동일!
quick_on_stack_replace = 0x7c848ad02000
```
이 주소는 에뮬레이터의 ART 런타임 메모리 레이아웃에 의존.
6개 인스턴스 모두 동일한 ART 버전(API 35)에서 동일 주소 →
하드코딩이 아닌 런타임 해석 결과의 결정론적 재현.
```
app name: com.hhii.lkzonx.orcrxusg.base.MyApp
```
base.MyApp — base 서브패키지에 Application 클래스가 위치. 이는:
· ui.home.MainActivity (런처)
· web.KefuActivity (고객서비스)
· ui.home.MainActivity2 (보조)
· ui.home.MaintenanceActivity (유지보수)
· ui.MyServices (백그라운드 서비스)
와 함께 표준 Android 프로젝트 구조를 따르지만, base 네임스페이스는
다른 Template C-Kefu 인스턴스에서도 관찰되는 공통 패턴.
· Elements size:1 — 원래 DEX가 1개 (Stub DEX)
· dex File size: 3 — 복호화 후 3개 DEX 로딩
이는 실제 앱 코드가 최소 3개의 DEX에 분산되어 있음을 의미:
1. classes.dex — 메인 앱 로직 (MyApp, MainActivity, etc.)
2. classes2.dex — 라이브러리 코드 (OkHttp3, Glide, etc.)
3. classes3.dex — 추가 의존성 (ZXing, OkDownload, ShareTrace, etc.)
아키텍처 · 파일명 · 크기 · SHA-256
x86_64 · libjiagu_x86_64.so · 256,744B · `1a85a981d025557b03bd3bc75888c48f893f8594384fff24839abd3e90060f02`
arm64 · libjiagu_64.so · 235,992B · `61765a3297d629906e10a45aec36f7ba7f688706f35b7086c7ffd241b27ecd9f`
x86 · libjiagu_x86.so · 227,368B · (확인 필요)
arm32 · libjiagu.so · 129,012B · (확인 필요)
```
x86_64 SO: 1a85a981d025557b03bd3bc75888c48f893f8594384fff24839abd3e90060f02
확인 1: WeeTalk ✅ 일치
확인 2: wks_dildo ✅ 일치
확인 3: bp_dildo ✅ 일치
확인 4: hpb_dildo ✅ 일치
확인 5: ppau ✅ 일치 ← 본 보고서
```
5개 앱에서 바이트 단위 동일한 SO 바이너리 = 단일 빌드 아티팩트 공유.
이는 중앙 빌드 서버에서 동일 Jiagu SDK를 사용하여 패킹하는 자동화 파이프라인의 존재를 입증.
아키텍처 · 크기 · 비율
arm32 · 129,012B · 1.00x (기준)
arm64 · 235,992B · 1.83x
x86 · 227,368B · 1.76x
x86_64 · 256,744B · 1.99x
x86_64가 arm32의 약 2배 — 64비트 확장 + CISC 명령어 세트 오버헤드.
이 크기 비율은 6개 인스턴스 모두 동일 (해시가 같으므로 당연).
Activity · 속성 · 용도
`ui.home.MainActivity` · exported=true, LAUNCHER · 메인 런처 (FullScreen 테마)
`web.KefuActivity` · exported=false · 고객서비스 WebView
`ui.home.MainActivity2` · exported=true · 보조 진입점 (AppTheme)
`ui.home.MaintenanceActivity` · exported=false · **유지보수 모드 (신규)**
`CaptureActivity` (ZXing) · exported=false · QR 코드 스캐너
```xml
<service android:enabled="true" android:exported="true"
android:name="com.hhii.lkzonx.orcrxusg.ui.MyServices"/>
```
exported=true + 권한 없음 → 다른 앱이 이 서비스를 호출할 수 있는 보안 취약점.
동일 C2가 제어하는 다른 악성앱에서 PPAU 서비스를 트리거할 수 있음.
1. InitializationProvider — AndroidX Startup (앱 초기화)
2. OkDownloadProvider — OkDownload 라이브러리 초기화
```xml
android:theme="@style/Theme.Market"
```
Theme.Market — 쇼핑/마켓 테마 이름. 이는 Template C-Kefu가
원래 마켓/쇼핑 앱으로 설계되었을 가능성을 시사.
키 · 값 · 용도
`app_name` · "PPAU" · 앱 표시 이름
`enter_phone` · "请输入手机号" · 전화번호 입력 프롬프트 (중국어)
`enter_verification_code` · "请输入验证码" · 인증코드 입력 (중국어)
`login` · "登录" · 로그인 버튼 (중국어)
`get_verification_code` · "hhhhhh" · **플레이스홀더 텍스트** — 개발 중 미완성
`language` · "语言" · 언어 설정 (중국어)
`scan_code` · "Scan QR Code" · QR 스캔 (영어)
`button_ok` · "Exit" · 종료 버튼
`close_flash` · "Turn off the flash" · 플래시 끄기
`open_flash` · "Turn on the flash" · 플래시 켜기
`title_home` · "Home" · 홈 탭
`title_dashboard` · "Dashboard" · 대시보드 탭
`title_notifications` · "Notifications" · 알림 탭
`switch_role` · "Switch" · 역할 전환
"hhhhhh" 플레이스홀더: 인증코드 받기 버튼의 텍스트가 개발 중 테스트 문자열로 남아 있음.
이는 PPAU가 최종 완성 전 배포된 증거이거나, 의도적으로 해당 UI를 숨기는 목적.
· 중국어: 핵심 기능 (로그인, 인증코드, 전화번호)
· 영어: UI 프레임워크 (탭 이름, QR 스캔)
이는 중국 개발팀이 영어 UI 프레임워크 위에 중국어 비즈니스 로직을 구현한 패턴.
Template C-Kefu의 모든 인스턴스에서 동일하게 관찰됨.
```xml
<activity android:exported="false"
android:name="com.hhii.lkzonx.orcrxusg.ui.home.MaintenanceActivity"
android:theme="@style/AppTheme"/>
```
인스턴스 · MaintenanceActivity · 의미
WeeTalk · ❌ · 초기 버전
wks_dildo · ❌ · v2
bp_dildo · ❌ · v2
hpb_dildo · ❌ · v1
**ppau** · **✅** · **v3 Lite — 최초**
MaintenanceActivity의 존재는 서버 측 유지보수 모드를 시사:
1. C2 서버에서 유지보수 플래그 전송 → 앱이 MaintenanceActivity로 전환
2. 법 집행 대응: 수사 시 앱을 즉시 "유지보수 중"으로 전환하여 증거 수집 방해
3. 버전 강제 업데이트: 이전 버전 사용자를 유지보수 화면으로 리다이렉트
4. 지역 차단: 특정 지역/IP에서 접속 시 메인 기능 대신 유지보수 표시
exported=false이므로 외부 앱에서 직접 호출 불가 → 내부 로직(C2 명령)에 의해서만 활성화.
이는 Standard 인스턴스보다 발전된 C2 제어 메커니즘을 의미.
```xml
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
```
cleartext 허용 — HTTP 평문 통신 가능. HTTPS 강제 없음.
이는 중간자 공격(MITM)에 취약하며, 동시에 분석자가 트래픽을 캡처하기 용이.
```
14:38:27.469 D ConnectivityService: requestNetwork for uid/pid:10264/30930
activeRequest: null callbackRequest: 473
[NetworkRequest id=474, INTERNET&NOT_RESTRICTED&TRUSTED
RequestorPkg: com.hhii.lkzonx.orcrxusg]
14:38:27.498 D ConnectivityService: NetReassign [474 : null → 105] [c 2] [a 25] [i 1]
```
앱 시작 직후 네트워크 요청 발생. NetReassign [474 : null → 105]는
네트워크 연결이 기존 105번 네트워크(WiFi)에 할당됨을 의미.
```
14:38:26.459 I ActivityTaskManager: START REQUEST_PERMISSIONS
from uid 10264 (BAL_ALLOW_VISIBLE_WINDOW)
14:38:27.536 I ActivityTaskManager: START REQUEST_PERMISSIONS
from uid 10264 (BAL_ALLOW_VISIBLE_WINDOW)
```
앱 시작 후 약 4초 만에 두 번의 연속 권한 요청 발생.
사용자 동의 없이 즉시 권한을 요청하는 공격적 패턴.
스크린샷에서 "Process system isn't responding" 다이얼로그가 반복 발생.
이는 Jiagu DEX 복호화(2,284ms)가 UI 스레드를 블로킹하여 발생하는 구조적 문제.
```
14:38:26.981 W ActivityTaskManager: Activity top resumed state loss timeout
14:38:26.981 W ActivityTaskManager: Activity pause timeout
```
timeout 로그가 이를 확인. Template C-Kefu의 모든 인스턴스에서 동일 문제가 발생할 수 있으나,
PPAU에서 특히 심각한 것은 에뮬레이터 성능 제약과 결합된 결과.
PPAU의 15-Permission Lite Profile에서 실제 데이터 수집은 3축:
```
[READ_CONTACTS]
│
▼
연락처 (이름, 전화번호)
│
┌─────────┼─────────┐
│ │ │
▼ ▼ ▼
[READ_MEDIA [READ_EXTERNAL [CAMERA]
_IMAGES] _STORAGE]
│ │ │
▼ ▼ ▼
갤러리 이미지 파일 시스템 실시간 촬영
```
유형 · 권한 · 접근 방법 · 탈취 데이터
연락처 · READ_CONTACTS · ContentResolver · 이름, 전화번호, 이메일
갤러리 · READ_MEDIA_IMAGES · MediaStore API · 사진 (얼굴, 개인정보 포함)
파일 · READ_EXTERNAL_STORAGE · File API · 갤러리 외 이미지/문서
카
본 보고서는 주식회사 아크링크 Deep-Coding 보안연구소가 피싱·몸캠피싱 피해자 구제를 목적으로 작성했습니다. 전체 열람·피해 상담: arklink.co.kr