우선 로컬에서 ndk설치

https://developer.android.com/ndk/downloads/index.html



4.9일경우 gdb도 따로 설치

https://github.com/SaberMod/android_prebuilts_gcc_linux-x86_arm_sabermod-arm-linux-androideabi-4.9/blob/master/bin/arm-linux-androideabi-gdb


~/android-ndk-r15b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi- gdb

여기다 설치


adb shell pull로 android libc랑 app_process 를 가져온다

adb pull /system/bin/app_process

libc는 tar -cvzf /sdcard/so.tar.gz /system/lib 로 압축해서 pull

그다음 ndk에 있는 gdbserver를  push 로 android device에 넣어줌 (/system/bin폴더 등)

ps로 pid확인한다음 

gdbserver :(port) - -attach (pid)


이제 android들어가서 아까 위의 gdb를 실행 symbolic link로 글자수 줄여서 편하게 쓰면 좋음

나는 armgdb로 symbolic link


adb로 포트포워딩해줌

adb forward tcp:(port) tcp:(port)


이제 gdb에서 어태치하면 끝


armgdb app_process

set solib-search-path ~/android-ndk-r15b/systemb/lib

target remote :(port)


+ Recent posts