Skip to content

用于捕获雷霆战机小程序请求、返回数据,修改请求、返回数据,无需关注加解密算法即可对数据进行修改。

Notifications You must be signed in to change notification settings

LauZzL/leitingzhanji-jshookserver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

声明

本项目仅适用于雷霆战机小程序。

本项目仅供学习交流使用,请勿用于商业、非法用途。转载请注明出处。

前言

使用js hook来获取雷霆战机加密前的数据和解密后的数据,简化抓包过程。

同样可以使用js hook来实现对数据的修改,从而达到像SunnyNetToolsHttpCanary等抓包工具的规则替换效果。

使用js hook无需考虑加解密算法,只需关注数据格式即可。

我们提供了两种hook与hook-server的通信方式,分别为httpws

  • http模式:单向通信,仅允许小程序向hook-server发送数据。
  • ws模式:双向通信,允许hook-server和小程序互相发送数据。在ws模式中你可以直接调用小程序的加密解密方法。

如果你没有特殊需求,http模式已经足够了。

使用方法

我们提供了nodejsPythonJavaGolang版本的服务端,请根据需要选择。

  1. 下载对应版本的服务端,解压到非中文目录。
  2. 安装必要的依赖。
  3. 启动服务端。
  4. 下载js-hook.js代码
  5. 使用WeChatOpenDevTools打开对应小程序的控制台
  6. 在控制台输入js-hook.js代码
// 动态开启或关闭数据监听
window.listenData = true || false;

// 动态开启或关闭修改数据
window.modifyData = true || false;

// 动态添加要修改的数据
window.modifyResponseData.push({
        key: "hp",  // json path
        modified: 5000000,  // 修改后数据
        callback: () => true, // 回调函数,对数据的一些逻辑判断等,返回布尔类型
        isRestoreDataInRequest: true,  // 是否在提交时还原数据,避免检测
        restoreKey: "hp", // 还原数据的key,用于还原数据
})

注意

在控制台输入js-hook代码时需将Console的上下文环境切换到gameContext

console

当完成以上步骤后,你可以在对应服务端上看到请求数据,并且你可以修改js hook的一些代码实现对数据修改。

notice

修改数据

开启和关闭修改数据

你可以在控制台中动态修改他。

// 当为true时,则代表开启数据修改功能
window.modifyData = true || false

我们在js hook代码中添加了修改数据的功能,你可以在js hook代码中修改modifyRequestDatamodifyResponseData变量,实现对数据修改。

预览

数据监听

http

数据修改

modify

参考

About

用于捕获雷霆战机小程序请求、返回数据,修改请求、返回数据,无需关注加解密算法即可对数据进行修改。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published