Java에서 자신을 호출한 클래스나 함수는 Throwable의 getStackTrace를 이용하여 확인할 수 있습니다
Android에서도 Frida를 이용해 무결성을 훼손하지 않고 호출한 함수를 확인해 보겠습니다
예제로 작성한 APP 소스입니다
package com.example.gnsan.chfrida;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.button).setOnClickListener(Click);
}
Button.OnClickListener Click = new View.OnClickListener(){
public void onClick(View v){
chfrida();
}
};
void chfrida(){
chfrida2();
TextView textview = (TextView)findViewById(R.id.test);
textview.setText("Hello World!!!");
}
void chfrida2(){
}
}
간단하게 버튼을 클릭하여 텍스트를 변경하는 앱입니다. 호출 함수를 확인하기 위해 chfrida / chfrida2를 작성하였습니다
Frida 소스입니다
line:13에서 Throwable를 로드하고 line:16에서 instance 생성 및 line:17에서 getStackTrace를 호출합니다
실행하면 위에서 부터 차례로 호출했던 함수를 출력하네요 :)
'Mobile' 카테고리의 다른 글
Uncrackable3 - frida (0) | 2018.01.30 |
---|---|
Uncrackable1 - frida (4) | 2018.01.30 |
Uncrackable2 - Radare2 (0) | 2018.01.23 |
Android Anti-Debugging (1) | 2018.01.23 |
Instant Run(Split apk) (1) | 2018.01.10 |