안드로이드 Relocation Table 분석
Android/Tech
2019. 3. 16.
이전에 작성했던 글인 '안드로이드(ARM) 후킹 기술' 본문에 GOT(Global Offset Table)가 어느 시점에 Write 되는지 글로 따로 작성드린다고 말씀 드렸었는데요. 이 부분에 대해서 dlopen 소스코드를 분석하면서 제대로 살펴보려고 합니다. 우선 구글은 AOSP(Android Open Source Project)라고 해서 안드로이드 소스 코드를 오픈 소스로 관리하고 있습니다. 그러다 보니 libc, libdl 등 다양한 라이브러리 코드를 확인할 수 있는데요. 저희는 이 코드를 통해 dlopen() 소스코드를 확인하고 GOT가 어떻게 쓰여지는지 확인해보겠습니다. 다음 URL (https://android.googlesource.com/platform/bionic/+refs)을 통해 각각..