天天看点

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);
        })
 
        // 
    });
    
}