jshook 中文文档 下载 App

VS Code Copilot + JsHook MCP——AI 辅助写 Hook 脚本

工作方式

VS Code Copilot 是 AI 代码助手,JsHook MCP 让它能直接操作手机上的 JsHook。两者配合的典型工作流:

你: "帮我找到 com.example.app 里处理购买的方法,生成 Hook 代码"
Copilot: 调用 MCP 工具搜索 → 找到 Shop.purchase(String, int) → 生成 Java.use 代码 → 写入 test.js
你: 推到手机 → 重启目标应用 → 看效果

Copilot 能做什么

自动查找类和方法

你不用手动枚举加载的类再 grep 搜索。直接跟 Copilot 说你想 Hook 什么功能,它会帮你搜、生成 Java.use 和方法名。

生成完整脚本

给 Copilot 一个明确的需求,它会生成完整可运行的脚本:

帮我写一个 JsHook 脚本,Hook com.game 包下所有 Activity 的 onCreate 方法,在每次调用时打印 Activity 名称和 savedInstanceState 的内容

Copilot 会生成:

Java.perform(function () {
    Java.enumerateLoadedClasses({
        onMatch: function (name) {
            if (name.startsWith('com.game') && name.endsWith('Activity')) {
                try {
                    var Activity = Java.use(name);
                    Activity.onCreate.overload('android.os.Bundle').implementation = function (bundle) {
                        console.log('[+] ' + name + '.onCreate called');
                        console.log('    savedInstanceState: ' + bundle);
                        this.onCreate(bundle);
                    };
                } catch (e) {
                    // 可能没有这个方法或被混淆了
                }
            }
        },
        onComplete: function () {}
    });
});

内核模式代码

Copilot 知道内核模式下 Java.use() 不可用,会自动生成 runtime.isKernel 判断分支和 kernel.getModuleBase / kernel.readFloat 等 API 的正确用法。

使用建议

给清楚需求

Copilot 的输出质量高度依赖你的描述。说清楚:

生成后要检查

AI 生成的代码可能有问题:

让 AI 当起草者,你做最终审核。

先跑空脚本再开 AI 生成的脚本

AI 生成的 Hook 也可能让目标应用闪退。按 脚本调试 的流程,先确认注入本身没问题,再加 AI 生成的脚本。