[ 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"
'System_Hacking' 카테고리의 다른 글
x86 어셈블리 정리된것 (0) | 2015.02.26 |
---|---|
Android gdbserver 를 이용하여 원격 디버깅 하기 (0) | 2015.01.19 |
strip 된 심볼정보 찾는법 (0) | 2014.11.25 |
Android Hooking Tool (0) | 2014.10.15 |
리버스 쉘 치트 시트 (Reverse Shell Cheat Sheet) (0) | 2014.05.23 |