
DM
1. 채팅방 당 메시지 개수
경로 : User App Files/com.burbn.instagram/Library/Application Support/DirectSQLiteDatabase/<UID>.db 의 message 테이블
(30876..) - 채팅방 수: 26개, 전체 메시지 수: 357개, 평균 메시지 수: 13.5개, 최대 메시지 수: 21개, 최소 메시지 수: 2개
(63288..) - 채팅방 수: 24개, 전체 메시지 수: 242개, 가장 빈도 높은 메시지 수: 11개(24개 중 16개 채팅방), 최대 메시지 수: 21개, 최소 메시지 수: 1개
2. 메시지 파싱
1) 설치 모듈
pip install biplist : iOS/macOS에서 사용하는 .plist(Binary Property List) 파일 읽기, 쓰기
pip install pytz : 시간대 변환 도구
2) 하나의 plist에 대한 파싱
3) 하나의 디렉터리 내에 여러 plist에 대한 모든 메시지 파싱
follow list
1. shared_bootstraps.plist 분석
plist의 모든 데이터 파싱 후 txt 파일로 저장
파란 부분이 전부 1명에 대한 데이터
컬럼명 | 의미 | 설명 |
username | 인스타그램 ID | → userName 항목에서 UID 인덱스로 매칭 |
full_name | 인스타 프로필 이름 | → fullName 항목 |
profile_pic_url | 프로필 사진 URL | → profilePicUrl 항목 |
pk | 내부 사용자 고유 ID (숫자) | → pk 항목 |
followStatus | 나와 상대의 팔로우 관계 | → followStatus 항목 (0~3) |
followed_by | 상대가 나를 팔로우하는지 여부 | → followed_by 항목 (True/False) |
is_bestie | 친한 친구 여부 | → is_bestie 항목 |
is_business | 비즈니스 계정 여부 | → is_business 항목 |
is_verified | 인증 계정 여부 (파란 체크) | → verified 항목 |
biography | 프로필 자기소개 문구 | → biography 항목 |
externalURL | 프로필 외부 링크 URL | → externalURL 항목 |
friendScore | 나와의 친밀도 점수 | → friendScore 항목 |
category | 계정 카테고리 | → category 항목 (ex: 개인블로그, 작가 등) |
mutualFollowersCount | 서로 맞팔한 친구 수 | → mutualFollowersCount 항목 |
is_private | 비공개 계정 여부 | → (없으면 제외, 추가로 확인) |
media_count | 업로드한 게시물 수 | → media_count 항목 |
2) csv 변환하여 분석
필드명 | 의미 | 상세 설명 |
username | 사용자 이름 (아이디) | 인스타그램 상에서 사용하는 로그인 ID 또는 @아이디 (예: zehiiu) |
full_name | 프로필 이름 | 인스타그램 프로필에 표시되는 사용자 이름 (본명, 별명 등 자유롭게 작성) |
profile_pic_url | 프로필 사진 URL | 사용자의 인스타그램 프로필 이미지 URL (CDN 경로) |
pk | 사용자 고유 ID (Primary Key) | 인스타그램 내부에서 계정을 식별할 때 사용하는 고유 숫자값 (username과 별개로 고정됨) |
followStatus | 나와 상대방의 팔로우 상태 | 관계를 숫자로 표시, 0: 요청 없음, 1: 팔로우 요청 보냄, 2: 내가 팔로우 중, 3: 서로 팔로우(맞팔) |
followed_by | 상대방이 나를 팔로우하는지 여부 | 상대방이 나를 팔로우하고 있다면 True, 아니면 False |
is_bestie | 친한 친구 여부 | 인스타그램 스토리에서 "친한 친구(베스트 프렌드)" 리스트에 추가되어 있는지 여부 (True/False) |
다른 유의미한 데이터는 0, null 등으로 비어있음
3. 일부 UID 디렉터리에는 shared_bootstrap.plist가 없는 이유 (추측)
1) 비행기 모드 → 팔로워, 팔로잉 목록 안보임
2) iTunes 백업은 "앱이 동적으로 생성하는 파일" 은 무조건 다 백업하진 않음. 백업 규칙에 따라 일부 파일이 누락될 수도 있음
3) shared_bootstrap.plist는 앱이 필요할 때만 생성하기 때문에 모든 UID마다 항상 존재하지는 않음.
'study > iOS' 카테고리의 다른 글
06 Instagram Artifact Analysis (1) | 2025.04.10 |
---|---|
05 SQLite (0) | 2025.04.10 |
05 Artifact Analysis of iOS Default Apps (0) | 2025.04.10 |
04 Imaging#3 (1) | 2025.03.25 |
03 Imaging#2 (0) | 2025.03.20 |