天天看點

Frida調用系統的類和函數

如果要打開一個Activity,可以用系統自帶的​

​startActivity​

​​。具體如何調用,可以去​

​http://aospxref.com/​

​檢視具體的Android源碼。

package com.github.androiddemo.Activity;

import android.content.Intent;

public class FridaActivity7 extends BaseFridaActivity {
    private boolean next;

    @Override // com.github.androiddemo.Activity.BaseFridaActivity
    public String getNextCheckTitle() {
        return "目前第7關";
    }

    public FridaActivity7() {
        this.next = true;
        this.next = false;
    }

    @Override // com.github.androiddemo.Activity.BaseFridaActivity
    public void onCheck() {
        if (this.next) {
            CheckSuccess();
            startActivity(new Intent(this, FridaActivity8.class));
            finishActivity(0);
            return;
        }
        super.CheckFailed();
    }
}      
function call_startActivity() {
    Java.perform(function() {
        //調用系統的類和函數
        var ActivityThread = Java.use("android.app.ActivityThread");    
        var application = ActivityThread.currentApplication();
        var context = application.getApplicationContext();
        console.log(context);
        var FridaActivity7 = Java.use("com.github.androiddemo.Activity.FridaActivity7");

        var Intent = Java.use("android.content.Intent");
        Java.scheduleOnMainThread(function() {
            var intent = Intent.$new(context, FridaActivity7.$new().getClass());
            intent.setFlags(0x10000000);
            console.log(intent);
            context.startActivity(intent);
        })
 
        // 
    });
    
}