티스토리 뷰

 

커널 로그


adb shell

dmesg



맨 위에서 리눅스gcc versionUbuntu 에서 컴파일 되어있음을 확인 가능   

 

실제 디바이스에 dmesg보려고 하면 퍼미션이 없음 (루트계정만 볼 수 있음) => 일반 단말기는 루팅 필요

메모리 상태 등을 확인 가능하지만 그정도 수준의 정보만 확인 할 뿐 큰 도움이 되진 않음

 



logcat


ddms라는 툴 띄우면 오른쪽 아래에 로그캣이 뜬다



어플리케이션 이름이나 pid번호로 필터링해서 보기가 가능

로그레벨을 별도로 필터링 해서 보는것도 가능



verbose는 전체 메시지를 뜻함 (일반적)

자바 프로그래밍할 때 log.e 하면 error가 뜨는 것 처럼

 

프린트로 디버깅하지 말고 로그가지고 디버깅해줘야함

 



dumpsys


서비스, 메모리, 시스템 등 다양한 세부 정보 제공 (실행중인 서비스, 각 서비스의 세부 정보, 액티비티 관리자가 명시하는 서비스, 브로드캐스트, 지연 인텐트, 액티비티, 프로세스, 프로세스의 메모리, pid, 데이터베이스 정보…)

adb -e shell dumpsys

엄청나게 하염없이 올라감..! adb -d shell dumpsys 하면 실제 디바이스도 볼 수 있음



txt에 저장해서 보기






와이파이 정보도 확인 가능



dumpstate



앞의 디버그 로그와 시스템 정보를 연결시켜줌



좀 더 깔끔하게 정리되어 있음



실제 디바이스에 netcfg rmnet1 rmnet2…은 뭐고 두개만 아이피 가지고 있는건 뭘까?

==> 실제 아이피를 가지고 있는 rment0 rmnet1 4G와 와이파이

 

실제 디바이스에는 arp가 없지만 가상 디바이스는 있음





bugreport


다 통합해서 한꺼번에 보여줌 ==> 용량이 크다

그래서 정말 분석할때는 logcat과 이것만 씀

dumpstate과 비슷한 형태로 보여준다

 

프로세스 랭킹 : 어떤 프로세스가 가장 많이 쓰이고 있는가 - 안드로이드 외에 무엇인가 엄청 돌아가고 있다고 하면 악성코드로 의심 할 수 있당

 

동적메모리까지 내려가서 볼 정도로 깊게 분석할 앱은 아직 없음

 

시스템로그는 굳이 여기서 보지말고 로그캣에서 보는 것이 좋다

(여기 찍힌 건 현재 시점의 로그캣만 남았기 때문에 의미가 없음)

 

많이 쓰이는건 패일시스템, 패키지 설정

그 패키지를 사용하고 있는 권한들

각각의 패키지들이 쓰고있는 이름 뒤에 슬래시/ 번호

번호의 의미는 uid (안드로이드는 앱을 실행할때마다 계정이 만들어지니까 - 삭제해도 uid는 증가하므로 중간에 숫자가 비어있다면 무엇인가 삭제된것이라 할 수 있다)

각각의 퍼미션들이 어떤 패키지를 사용하고 어디에서 쓰이는지도 확인 가능

provider: 패키지가 다른 패키지에 정보를 제공하는게 있는가 mms, email, contacts(일종에 파일 시스템), download, picasa(구글 사진첩), 등 일반적으로 쓰이는거 거진 다 보인다




패키지에 있는 세부 정보 - 실제 패키지 명, codepath (실제 apk파일이 어디에 위치해있는가), nativeLibrary와 그 Path (lib 안에 있다), timestamp, firstInstalledTime (언제설치됐고),lastUpdateTime(제일 마지막에 업데이트된 시간) ==> 타임스탬프 기준으로 앱이 언제 이상징후를 보였는지 기준을 잡을 수 있다

이 앱이 설치되기 이전과 이후로 분석하기가 중요 (어떤 문자가 왔고 무엇을 다운로드 받았는가)

 

버그리포트를 받고 패키지 정보를 가장 먼저 보자

 

패키지가 지워지면 이 정보는 사라짐

 

동적분석을 할때는 로그캣을 기본적으로 보고 그걸 가지고 분석하기!


'스터디 > 안드로이드 악성코드' 카테고리의 다른 글

140803 7. 안드로이드 해킹 툴  (0) 2016.06.27
140803 6. 로그  (1) 2016.06.27
140720 4. Genymotion  (0) 2016.06.26
140713 3. 안드로이드 AVD  (0) 2016.06.26
Genymotion Emulator 설치  (0) 2016.06.26
140706 2. 안드로이드 플랫폼 분석  (0) 2016.06.26
댓글
댓글쓰기 폼
  • 핸드폰sw전문가 rmnet0는 통상 ims rmnet1은 인터넷으로 씁니다 그반대도 되긴 함 wifi는 wlan0등의 인터페이스를 사용합니다. 참고하세용^^ 2017.01.10 19:40