Android 동적 오점 분석 도구 TaintDroid 배치 안내서 - FloraF
7746 단어 Android 오점 분석
〇 、 준비 작업:
TaintDroid 논문:https://www.usenix.org/legacy/event/osdi10/tech/full_papers/Enck.pdf
TaintDroid 홈 페이지:http://www.appanalysis.org/
TaintDroid 소스 코드:https://github.com/TaintDroid
TaintDroid 설치 안내:http://www.appanalysis.org/download.html
1. 안 드 로 이 드 소스 코드 다운로드
참고 자료:http://www.cnblogs.com/bluestorm/p/4419135.html
1. jdk 설치
Android 4.3 및 이하 버 전 은 자바 SE 6 및 이하 jdk 만 실 행 될 수 있 습 니 다.그래서 자바 홈 페이지 에서 역사 버 전 을 다운로드 합 니 다.http://www.oracle.com/technetwork/java/javase/archive-139210.html
jdk 를 다운로드 하고 압축 을 푼 후 자바 – version 명령 을 통 해 설 치 된 이 버 전의 자바 가 기본 자바 환경 인지 확인 하 십시오. 그렇지 않 으 면 다음 명령 을 입력 하 십시오.
$ sudo update-alternatives –install /usr/bin/java java /bin/java 1000
$ sudo update-alternatives –install /usr/bin/javac javac /bin/javac 1000
$ sudo update-alternatives –install /usr/bin/javah javah /bin/javah 1000
$ sudo update-alternatives –install /usr/bin/javap javap /bin/javap 1000
$ sudo update-alternatives –install /usr/bin/jar jar /bin/jar 1000
1000 은 우선 순위 이 고 우선 순위 가 가장 높 은 것 은 기본 적 으로 사용 하 는 jdk 입 니 다. 이 수 치 는 기계 의 실제 상황 에 따라 설정 할 수 있 습 니 다.
/ etc / profile 파일 끝 에 추가:
export JAVA_HOME=
export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
2. 필요 한 소프트웨어 설치
$ sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa- dri:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 dpkg-dev ccache
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
$ source ~/.bashrc
3. repo 다운로드 및 초기 화
$ mkdir ~/Android
$ mkdir ~/Android/bin
$ mkdir ~/Android/aosp
# repo,
$ git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/
$ cp git-repo/repo ~/Android/bin/
$ gedit ~/Android/bin/repo
# REPO_URL :
REPO_URL = 'git://aosp.tuna.tsinghua.edu.cn/android/git-repo'
$ cd ~/Android/aosp
# repo, android-4.3_r1
$ repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-4.3_r1
# , email , :
$ git config --global user.email "[email protected]"
$ git config --global user.name "Your Name"
4. 원본 다운로드
$ repo sync
5. 소스 코드 컴 파일
필요 한 것 은 아니 지만 원본 코드 를 수정 하지 않 은 상태 에서 환경 설정 이 정확 한 지 확인 하고 즉시 문 제 를 복구 하 는 것 이 좋 습 니 다.
$ . build/envsetup.sh
$ lunch 1 # , , 1
$ make –j4 # -j CPU ,CPU
$ emulator # ,
2. TaintDroid 코드 다운로드
TaintDroid 의 소스 코드 는 완전한 시스템 이 아니 라 Android 소스 코드 와 다른 부분 만 수 록 됩 니 다.따라서 실제로 TaintDroid 에서 수 정 된 디 렉 터 리 가 Android 소스 코드 에 해당 하 는 디 렉 터 리 를 일일이 교체 하도록 하면 된다.
다운로드 하 다.http://appanalysis.org/files/taintdroid_4.3/local_manifest.xml 그리고 이 걸 Android /. repo / local 에 넣 으 세 요.manifests / 디 렉 터 리 아래 또는 아래 코드 를 Android /. repo / local 로 직접 복사 합 니 다.manifests/local_manifest. xml 중.
그리고 TaintDroid 소스 코드 를 다운로드 하고 Android 소스 코드 의 해당 디 렉 터 리 를 교체 합 니 다.
$ cd ~/Android
$ repo sync
$ repo forall dalvik libcore frameworks/base frameworks/native frameworks/opt/telephony system/vold system/core device/samsung/manta device/samsung/tuna \
packages/apps/TaintDroidNotify -c 'git checkout -b taintdroid-4.3_r1 --track github/taintdroid-4.3_r1 && git pull'
3. 일부 장 치 는 추가 파일 을 다운로드 해 야 합 니 다.
넥 서 스 4 등 실제 컴퓨터 를 사용한다 면 드라이버 를 설치 하기 위해 추가 파일 을 다운로드 해 야 한다.자세 한 상황 은 보십시오http://www.appanalysis.org/download.html 의 Step 3.
시 뮬 레이 터 는 추가 파일 을 다운로드 할 필요 가 없다.
4. TaintDroid 컴 파일
우선, TaintDroid 루트 디 렉 터 리 에 buildspec. mk 파일 을 새로 만 들 고 TaintDroid 를 컴 파일 하 는 데 필요 한 인 자 를 기록 해 야 합 니 다.
$ cd ~/Android
$ gedit buildspec.mk #
# Enable core taint tracking logic (always add this)
WITH_TAINT_TRACKING := true
# Enable taint tracking for ODEX files (always add this)
WITH_TAINT_ODEX := true
# Enable taint tracking in the "fast" (aka ASM) interpreter (recommended)
WITH_TAINT_FAST := true
# Enable additional output for tracking JNI usage (not recommended)
#TAINT_JNI_LOG := true
# Enable byte-granularity tracking for IPC parcels
WITH_TAINT_BYTE_PARCEL := true
그리고 Android / build / target / product / core. mk 파일 을 열 고 TaintDroid Notify 를 PRODUCT 에 추가 합 니 다.패키지 중 에
PRODUCT_PACKAGES += \
BasicDreams \
...
voip-common \
TaintDroidNotify
이제 TaintDroid 를 컴 파일 할 수 있 습 니 다.
$ . build/envsetup.sh
$ lunch #
$ make clean
$ make –j4
브러시
시 뮬 레이 터 에서 만 실행 된다 면 브러시 가 필요 없다.만약 실제 기계 에서 운행 한다 면, 브러시 를 진행 해 야 한다.구체 적 인 브러시 프로 세 스 는 휴대 전화 모델 에 따라 자체 적 으로 검색 하 세 요.흔히 볼 수 있 는 브러시 방식 은:
bootloader 모드 에 들 어 갈 때 까지 전원 키 와 음향 효 과 를 길 게 누 르 십시오.USB 로 컴퓨터 에 연결 하 다.
#
$ fastboot oem unlock # locked unlocked
$ cd out/target/product/
$ fastboot flash boot boot.img
$ fastboot flash system system.img
$ fastboot flash userdata userdata.img
볼 륨 키 를 누 르 면 기계 모드 를 조절 하고 시동 키 를 누 르 면 확인 합 니 다. 기계 가 다시 켜 지고 TaintDroid 시스템 브러시 가 완 료 됩 니 다.