pqt挂机活动收菜脚本
errol发表于2025-06-01 | 分类为 游戏 | 标签为qtshell脚本收菜

策划终于按捺不住,开始疯狂收割起韭菜来了。

为此,现在萌娘qt的游戏界面,几乎满屏都是令人厌烦的小红点,已经把“氪金”二字糊玩家脸上,堪比隔壁韩系滚服游戏。

image

图1-1 满屏红1

甚至一页还放不满。

image

图1-2 满屏红2

其实的话,多开活动本身也没什么不好,特别是qt这种比较简单的游戏,基本上没有“肝”的说法(只有“氪”)。

从玩家角度来看,氪佬可以通过活动快速获取资源、提升战力,与其他人拉开差距,白嫖也多少能从中喝口汤,同时还有点照顾新玩家的意思,指帮助新玩家获取到老活动的资源与奖励;厂商同时“收割”,增加游戏收入,以提升产能,推出更多优质的内容。

二者形成良性循环,妥妥一个双赢局面。

但事实并非如此。

玩家不仅没有体会到策划的“良苦用心”,反而被他突然的决策打了个措手不及,一片哀嚎。

image

图1-3 司马策划1

image

图1-4 司马策划2

image

图1-5 司马策划3

虽然一直都说qt的活动简单,确实,在大多数情况下,这句话是正确的,但即使如qt,也有一些恶心人的活动,我们司马策划给玩家送上的精心制作的屎味巧克力,挂机类活动,就是其中之一。

image

图2-1 挂机活动界面1

呵呵,说起这个挂机活动就离谱了,它需要玩家活动期间全勤才能完成,请注意奥,这里的全勤不是每天登录游戏那么简单,而是指“定时收菜”。

在为期9-13天不等的活动时间内,会有完成活动所必须的材料产出,需要玩家每隔一段时间上线领取,如图2-1左下角的绿瓶,否则就会溢出,最严重会导致无法完成活动。

值得一提的是,活动刚开启时,容器只能存2、3个小时的材料(图2-2);容器可升级,且提升速度,但总体完成活动的周期不变,这是说,如果没能领取所有已产出的材料的话,就会影响到后续,需要花更多的代价找补,尤其恶心。

image

图2-2 挂机活动界面2

为完成活动,玩家可谓是八仙过海各显神通,置闲手机挂机、云手机挂机、安卓模拟器挂机,还有的比较原始,设定闹钟提醒自己...

通常以连点器或按键精灵类软件为基础

不过,即使有这些方案,也仍有不少玩家会因各种各样的问题无法按预期收菜,挂机时间过长,手机发烫、关机、闪退、断网、键位脱靶等等,这也不能怪玩家,本身就是因为活动过于逆天,谁特么有事没事盯着你那逼游戏。

image

图2-3 连点器键位

从活动推出到现在,一直都这样,没有优化,没有减负。

可能官方也多少意识到这些问题吧,于是与玩家之间形成了一种心照不宣的默契,在同一时期内不开启多个挂机活动。

但现在终于还是被打破了...

image

图2-4 第一个挂机活动

image

图2-5 第二个挂机活动

也不知道这逼策划是怎么想的,本来完成一个挂机活动的条件都已经够苛刻的了,竟然还同时开启2个,且还不能保证以后会不会同时开3个、4个。

我猜游戏官方的人从未参与过活动,或者说他们压根就不玩游戏,完全不知道自己设计的活动多么令人恶心,他们才敢这样搞。

确实有点逼氪的意味,只有氪金,才能获取更多的容错时间,才能更好地完成活动。

但即便氪了金,容错有所增加,完成活动所必须的流程也不会因此消失,始终需要玩家定时上线收菜。

考虑到连点器就连完成单个挂机活动都属于比较勉强的情况,我实在无法想象,同时做两个的点位究竟要如何设置,才能满足在不同界面收菜的条件... 即使退一步说,有玩家将点位弄出来了,它能不能稳定运行?活动数量增加时又该怎么拓展?这些都是问题。

越复杂,越容易出错,反之亦然。

也正因此,我早已使用“shell+抓包”的方式来代替连点器:一种几乎完全绕过用户界面的方式。

原理是通过浏览器抓取收菜接口及其参数,以curl或powershell的形式保存于文件中,供shell脚本读取执行,然后通过为脚本设置定时任务来达到自动收菜的效果。

它足够简单,没有什么花里胡哨的东西。

到目前为止,在linux上运行得还不错。

image

图3-1 linux下shell+抓包方式收菜

当然,也考虑到使用windows的人更多,所以也是支持windows的。

image

图3-2 windows下shell+抓包方式收菜

而且这种方式拓展起来也比较方便,无论以后是3开还是4开活动,要做的不过是往存储抓包数据的requests.txt文件里多保存一份数据而已。

requests.txt:

curl 'https://us.nkrpg.com/api/quiz_dating/claim/explore/item' \
  ...
  -H 'x-qookia-build: 26.0.0.807' \
  -H 'x-qookia-device: c4d04f3a-6472-48e2-8224-d93cb8e5e477' \
  -H 'x-qookia-device-type: web' \
  -H 'x-qookia-digest: 61c1434a72001471d468021d250c8d31a515f928' \
  -H 'x-qookia-nkid: 61916215' \
  -H 'x-qookia-pack: 95199d7e0a765a0fcf12cc3ad9486e3ca13a9fa8' \
  -H 'x-qookia-server-prefix: xxx' \
  -H 'x-qookia-time: 1747097634' \
  -H 'x-qookia-user: xxx' \
  --data-raw 'event_id=15'

&&

curl 'https://us.nkrpg.com/api/sexual_dating/claimItemExplore' \
  ...
  -H 'x-qookia-build: 26.0.0.807' \
  -H 'x-qookia-device: c4d04f3a-6472-48e2-8224-d93cb8e5e477' \
  -H 'x-qookia-device-type: web' \
  -H 'x-qookia-digest: 61c1434a72001471d468021d250c8d31a515f928' \
  -H 'x-qookia-nkid: 61916215' \
  -H 'x-qookia-pack: 95199d7e0a765a0fcf12cc3ad9486e3ca13a9fa8' \
  -H 'x-qookia-server-prefix: xxx' \
  -H 'x-qookia-time: 1747097646' \
  -H 'x-qookia-user: xxx' \
  --data-raw 'event_id=21'

&&

第三个请求...

&&

第四个请求...

不过,这种方式也不是没有缺点。重新登录游戏后,抓包数据会失效,想要让脚本再次运行需要重新抓包,也因为这个问题,中间还发生了点小插曲...


“shell+抓包”其实是退而求其次的方式,原本是打算做接口逆向的,但查看源码的时候不淡定了...

除了一些工具、胶水类代码是js外,其他全部是WebAssembly,也称wasm。

WebAssembly is a type of code that can be run in modern web browsers. It is a low-level assembly-like language with a compact binary format that runs with near-native performance and provides languages such as C/C++, C# and Rust with a compilation target so that they can run on the web. It is also designed to run alongside JavaScript, allowing both to work together.

以文档中的simple.wasm为例:

// simple.wat;
// 由wasm转换的wat, 是一种相对来说方便人类阅读的文本格式;
(module
  (type (;0;) (func (param i32)))
  (type (;1;) (func))
  (import "my_namespace" "imported_func" (func (;0;) (type 0)))
  (func (;1;) (type 1)
    i32.const 42
    call 0)
  (export "exported_func" (func 1)))

简单来说,它是一种可以在浏览器运行的类汇编代码,通常是由其他语言编译而来(如C/C++、C#、Rust等),而不是直接书写,虽然效率较高,但也并不是为了取代js,而是作为js的补充。

比方说,js不擅长处理密集型任务,此时交给wasm就很适合。

由于wasm是一种低级语言,格式为紧凑的二进制,因此不便于阅读和调试,尽管可以转为wat,但仍不直观,不熟悉二进制编程的人,基本无法入手。

也正因此,除了有人因为效率使用wasm外,也有人使用wasm来防逆向

也不奇怪,毕竟是个游戏,具体来说是个unityweb项目。

想试着调试,结果一进入wasm文件里,整个界面就卡死;又想着将wasm文件转为c可能会比较容易阅读,结果得到了一个600m+的文件,在编辑器打开都卡得不行;ida也一样,半天都加载不出来。

image

图3-3 wasm相关文件

所以只能到此为止了,拼尽全力依旧无法战胜。


但总的来说,还是比连点器好得多,至少对我本人是这样,既不需要折腾连点器,也不费手机,有网有电基本上就能保证稳定运行。

目前就先这样,至于逆向的话,以后应该还会再尝试,现在的能力确实不足以应付wasm。

按需自取脚本

返回