[mobile]frida script file load 방법(1)
프리다 CLI 환경을 통해 후킹을 진행하다보면
오타가 날 경우 긴 코드를 타이핑해야하는 난감한 경우가 발생하곤 한다.
이에 따라, js 코드로 저장하여 사용이 가능하다.
js 스크립트 파일을 로드하여 후킹을 진행하면, 후킹 코드에 대한 유지보수가 용이해지고,
후킹할 스크립트가 메인 쓰레드가 실행되기 전에 삽입도 가능하게된다.
1.
실행된 앱의 classname을 출력하는 간단한 js 후킹 코드를 작성해보자.
(class_print.js)
간단하게 크롬 앱을 실행한 후, frida -U -l class_print.js com.android.chrome 명령어를 실행하여
자바스크립트 코드를 삽입해보자.
명령어를 실행하는 즉시 자바 스크립트 내 작성된 코드에 따라
해당 앱에 존재하는 classname을 CLI 화면에 출력해준다.
2.
안드로이드 생명주기를 보면 아래와 같다.
onResume() 함수가 실행될 때마다 해당 여부를 출력해주는 js 코드를 만들어보자.
// onResume() 함수는 앱이 시작될 때도 발생하고,
홈 화면으로 이동 후 다시 접근할 경우에도 발생하게 된다.
아래와 같이 구글에 검색하게 되면, 안드로이드 개발자 사이트를 통해 어떤 클래스를 사용하는지 확인이 가능하다.
android.app.Activity
(onresume_chrome.js)
// console.log만 사용하는 경우 본래의 함수 기능을 동작하지 못해 에러가 나게된다.
따라서, 원하는 동작(로그찍기) 이 후, 해당 클래스의 onResume() 함수를 재호출하여 에러가 나지 않도록 해준다.
이 또한, frida를 통해 크롬 실행 후 해당 js 코드를 이용해 후킹해보자.
frida -U -l onresume_chrome.js com.android.chrome
이 후, 백그라운드 화면으로 이동 후 크롬 앱 재접근 시
후킹한 코드대로 onResume() 함수의 호출 여부가 로그로 찍히게 된다.
[mobile] frida 파이썬 바인딩 (0) | 2019.12.27 |
---|---|
[mobile]frida script file load 방법(2) (0) | 2019.12.27 |
[mobile]frida CLI 스크립트 사용방법(2) (0) | 2019.12.27 |
[mobile]frida script 기본설명(3) : overload (0) | 2019.12.27 |
[mobile]frida script 기본설명(2) : frida API (0) | 2019.12.27 |