네이티브 라이브러리 분석방법

홈 > 커뮤니티 > 질문 게시판
질문 게시판

네이티브 라이브러리 분석방법

9 단향 2 4179
저는 안드로이드 앱같은경우 자바단에서 코드 정적분석하다가 의심가는 부분이 있으면 후킹하고 추적해가는 방법으로 분석을 하는데요.

보안 솔루션이나 악성코드는 암호화된 so파일을 복호화하여 메모리에 올리고 삭제하는 방법을 사용하더라고요.

복호화된 so 파일은 얻었는데 이러한 네이티브 코드는 분석을 어떤식으로 진행해야되는지 난감하더군요.

고수님들은 어떠한 절차(?)로 분석을 하시나요?
2 Comments
M LIN 2019.12.22 00:56  
코드 정적분석하다가 의심가는 부분이 있으면 후킹하고 추적해가는 방법으로 분석
-> 네이티브도 자바랑 동일합니다.
정적 분석하시고 의심가는 부분 있다면 후킹하고 후킹한 함수에서 어떠한 함수가 호출하였는지 체크하고 추적하는 방식으로 하면 됩니다.
린엔진 훅 헬퍼로 분석하시면 언제, 누가 호출하였는지 빠르게 추적이 가능합니다. ( BackTracer 기능 )
심볼에다가 so이름 적고 오프셋에다가 해당 SO파일의 함수 프롤로그 오프셋 주소를 적어주시면 됩니다. (Thumb일 경우에는 +1 추가해서 넣어주시면 됩니다.)
후킹으로 동작흐름을 파악하고 핵심 함수를 찾았다면 IDA붙인 뒤 해당 함수에 bp걸고 차근차근 동적분석 하시면 될것 같습니다.
9 단향 2019.12.22 12:12  
그렇군요! 감사합니다 린님