您现在的位置是:首页 >其他 >安卓逆向frida如何主动调用安卓toast函数网站首页其他

安卓逆向frida如何主动调用安卓toast函数

qq495688244 2025-04-14 12:01:04
简介安卓逆向frida如何主动调用安卓toast函数
function showToast(message) {
    Java.perform(function () {
        // 获取应用的 Context
        var Toast = Java.use('android.widget.Toast');
        var currentApplication = Java.use('android.app.ActivityThread').currentApplication();
        var context = currentApplication.getApplicationContext();
        // 获取主线程 Looper
        var looperClazz = Java.use("android.os.Looper");
        var mainLooper = looperClazz.getMainLooper();
        // 使用 Handler 来执行主线程任务
        var Handler = Java.use('android.os.Handler');
        var handler = Handler.$new(mainLooper);
        // 创建 Runnable 的实例,封装显示 Toast 的操作
        var Runnable = Java.use('java.lang.Runnable');
        var runnable = Java.registerClass({
            name: 'com.example.FridaRunnable',  // 动态类的名称
            implements: [Runnable],  // 实现 Runnable 接口
            methods: {
                run: function () {
                    var String = Java.use("java.lang.String");
                    var hookContent = String.$new(message);  // 使用传入的消息
                    Toast.makeText(context, hookContent, Toast.LENGTH_LONG.value).show();
                }
            }
        });
        // 创建新的 Runnable 实例并通过 handler.post 执行
        handler.post(runnable.$new());
    });
}

参考文章:安卓逆向frida如何主动调用安卓toast函数_frida toast-CSDN博客

参考文章里面的代码在执行的过程中会卡柱,结合gpt解决了,为了方便调用,直接封装成了方法方便外部调用

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。