tx H5_1.0.21 web_1.0.6 tx各种算法纯算 补环境

本文详细描述了如何通过逆向工程分析Web和H5应用的充值接口,涉及RSV8和JSV8引擎,以及如何使用开发者工具追踪参数和模块加载过程。最终目标是理解和模仿缺失的环境以解决编码问题。
摘要由CSDN通过智能技术生成

tx充值中心 web 和 h5的 save接口参数逆向;
仅供学习;

本次先学习 web_1.0.6的 

目标网址:aHR0cHM6Ly9wYXkucXEuY29tLw==  | q : NTQ3MzYzMTY2

 web_1.0.6 encrypt_msg  基于 RSV8的补环境; ps:RSV8是 扯淡大佬封装的JS V8引擎!内置大部分浏览器环境!

正序分析:

1:以DNF为例

右键点击 

去除地址中 https前面的字符 访问,在单独的窗口打开,这样方便我们调试;

首先看一下流程:

打开浏览器开发者调试工具 F12  谷歌浏览器 360急速都可以。

切换金额会再次触发请求,在调试工具的网络选项中 我们记录的请求 可以看到 web_save这个请求体;

gameBiz文件是jsvmp 这里我选择堆栈中的buy红圈部分进入查看,因为最开始的 jsvmp之前的栈是分发形式的,很绕;

进去后在此下断:

改变金额触发请求断到此处

t为 buy函数执行时传递的参数 

this.store是jsvmp引出的函数,接下来我们跟栈追踪 this.store是怎么来的!

在堆栈中查看上一步

可以看到是this.buy()调用进去的。鼠标放在this上可以看到他是由构造来的,那么我们在控制台输入 this.constructor 定位构造函数点击进去  实际上就在this.buy上面几行就可以看到构造函数了。

在构造函数下断 刷新页面会断在此处;

可以发现在构造的时候 第一个参数就是我们需要的this.store  参数e 继续向上跟栈查看e的来源

规避作用域问题 在s = this下断并刷新页面 断到此处并继续向上跟栈;

继续在 n = this下断重复操作;

这样就上一个栈就是jsvmp了,继续向上走到非jsvmp的地方

可以看到是 执行了a.init后 a.init callback后执行到的a.render,这时我们需要进入a.init看看干了什么;

下断刷新:

单步进入

经分析 是根据不同类型进入不同分支,我们例子中是 i.GAME分支

t为  webpack加载器 进入t 拷贝 webpack加载器代码 导出加载器 并 如图书写 new o(e) e为构造时传递的参数 在 a.init地方过来的。

删除加载器代码中的 a(0) 的初始调用 并导出加载器

拷贝jsvmp或动态加载jsvmp的js文件 使用自定义的导出函数加载 jsvmp

执行报错 

基本是缺少 webpack所用到的模块 加载了某个模块

在调试工具中 网络选项的js分类中观察 js加载顺序

依次加载

这个可以拷贝到本地后修改代码,用不到可以屏蔽部分代码,或者补齐环境,我这里发现屏蔽也是可以的。

接下来就通过hook 手动补一些RSV8欠缺的环境;

在html的源代码页面中也有部分webpack代码 其中加载器代码也是在这里,拷贝过来放在 加载器所在js文件内的下面即可;搜索webpackJsonp(定位

首页的代码补充


这里的参数 去上面 找

在搜索 xMidasToken的时候发现 

所以我们还需要 找到 initXMidas的来源 并加载执行;

2022是验证码;也代表成功了;完结;如有版权问题私信联系;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值