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

+ Recent posts