티스토리 뷰
Android 분석 중 java 단에 구현되어 있지 않고, so 라이브러리 안에 구현되어 있는 로직을 분석해야 할 경우가 생긴다.
so 라이브러리 분석 중에 hooking 해보고 싶은 함수가 있을 경우 아래와 같이 코드를 작성할 수 있다.
1. linux에서 function 이름을 확인한다. (IDA로 so 파일을 열어서 확인할 수도 있다.)
nm -- demangle --dynamic "so파일명"
ex) nm --demangle --dynamic test.so | grep test
00000000003ee594 T AKScreen::test(TScriptNativeParam*)
nm -D "so파일명" | grep "찾고자하는 함수키워드"
ex) nm -D test.so | grep test
00000000003ee594 T _ZN8AKScreen9testEP18TScriptNativeParam
2. 찾은 function을 후킹하는 js 코드를 작성한다.
hook.js
var libname = "test.so" // so파일명
var funame = "_ZN8AKScreen9testEP18TScriptNativeParam" // function 이름
Interceptor.attach(Module.getExportByName(libname,funame),{
onEnter: function(args){
send("##########test is hooked#################");
send("##########test value= "+args[1]+"################");
},
onLeave: function(retval){
send("###################Inside onLeave###############");
}
});
'Study > App' 카테고리의 다른 글
[Android&iOS] 메모리 내 파일 복구 (0) | 2020.07.23 |
---|---|
[Android] 앱 Activity명 검색 (0) | 2020.07.22 |
.odex 파일 .dex 파일로 변환 (0) | 2020.05.22 |
[Android] adb를 이용한 메모리 덤프 (0) | 2019.11.21 |
[iOS 분석] 암호화된 실행파일 복호화 (0) | 2019.11.15 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday