[안드로이드] ARM 후킹 기법
Android/Tech
2019. 9. 9.
이번편에는 안드로이드 후킹 기술에 대하여 살펴보려고 합니다. "Hook"이라는 단어만 들었을때에는 갈고리가 먼저 생각이 나는데, 단어 그대로 갈고리로 낚아채는 방법이라고 생각하시면 이해가 쉽습니다. 갈고리 처럼 특정 함수 코드를 가로채서 원하는 행위를 한 뒤 원래의 코드로 돌려주는 기법이 후킹입니다. 예를 하나 들어보겠습니다. 윈도우에서 통신 라이브러리인 "ws2_32.dll"의 함수인 send()를 후킹하면 패킷을 가로채서 인자값을 확인 또는 변조, 전송등을 자기가 하고 싶은 행위들로 직접 조작할 수 있습니다. 또한 send() 함수를 호출되는 코드를 역으로 따라가다보면 암/복호화 로직도 발견할 수 있으며, 패킷을 전송하는 실제 코드까지도 발견할 수 있습니다. 이렇듯 후킹은 다양한 변조가 가능하기 때문..