2014. 12. 2. 21:01


[ Android 에 lime 로 메모리 덤프 할때 참조한 URL ] 

대상 : Nexus 5  3.4.0 kernel    4.4.2 android kiket



1. https://code.google.com/p/volatility/wiki/AndroidMemoryForensics  //android 에뮬레이터에 lime 올리기

 

2. https://source.android.com/source/building-kernels.html#building  //안드로이드 커널 코드 받는곳

 ( 없으면 gitHub 에서 검색해도 가능  : https://github.com/CyanogenMod/android_device_lge_hammerhead ) 

  -> (gcc 버젼에 민감함... 에러를 뱉어낼때도 있음 필자는 4.6 버젼에서 성공


3. https://developers.google.com/android/nexus/images?hl=ko-KR#hammerheadkot49h  // 안드로이드 관련 커널 이미지 파일  (4번에서쓰임) 

 


4. http://blog.tunz.kr/115  // 안드로이드 custom  커널 이미지 파일 flash rom 에 다시 올리기. (그냥 있는 커널 이미지는 insmod 와 rmmod 가 없음 빌드시 1번 에뮬레이터 올리기 옵션을 .config 에 꼭 추가해서 빌드해줘야함  ) 

 

5. 루팅해도 boot.img 는 그대로 유지됨. 재루팅시켜줘야함. 



트러블 슈팅 : failed ( No such file or directory ) -> dmegs 출력해봄

symbol 없다거나 global_offset_table 이상이 있다고 나올 경우 - -fno-pic 옵션이 빠진거임


< lime 로 덤프한 내용을 tcp 로 바로 전송하기 > 


$ adb push lime.ko /sdcard/lime.ko
$ adb forward tcp:4444 tcp:4444
$ adb shell
$ su
# insmod /sdcard/lime.ko "path=tcp:4444 format=lime"

Now on the host machine, we can establish the connection and acquire memory using netcat

$ nc localhost 4444 > ram.lime

Acquiring to sdcard

# insmod /sdcard/lime.ko "path=/sdcard/ram.lime format=lime"

Posted by k1rha