native method란?
C/C++의 code를 Java에서 이용할수 있는 방법
- dex 파일 (java로 작성됨) 내 native method a 가 있으면 이는 .so 파일(c++) 내 method a로 정의되어있다. (안에 내용이업슴)
- 따라서 이를 로드하기 위해서는 loadlibrary로 로드해올 것이다라는 것을 추측할 수 있다
- so -> so 호출 하기도 하는데 이는 동적 라이브러리(dynamic library)라고 한다.
Native method 후킹 TIP
- Native method 는 앱실행과 동시에 라이브러리 파일을 메모리에 적재하는 경우는 드물다. 보통 사용시에 메모리에 올림.
- 곧, Native method 후킹 시에는, 라이브러리가 메모리에 올라가는 포인트를 잡아서 후킹을 진행해야함.
- 하지만 어떤 모듈에서 선언하는지 모르기 때문에 파일이 호출되는 순서를 파악한 후에 후킹을 수행해야함.