zZPiglet
1.04K subscribers
20 photos
6 videos
7 files
78 links
https://github.com/zZPiglet/Task
学习交流 自留地
问题反馈:@zZPiglet_bot
Download Telegram
zZPiglet
#todo_zZPiglet https://static.udache.com/common/pc-login/js/vendor.02bfb8364dab3d61b1d7.js 提炼出滴滴的 wsgsig 算法。
#todo_zZPiglet

下个月重构微博通知中 ParseWeibo 函数以支持更多类型的多媒体显示,有间隔的进行通知避免通知爆炸,且使其便于更改、维护。(如时间允许做一下 uid 缓存和更好的接口返回错误判断)
目前已更新修复被夹微博导致的错误和微博故事显示其封面。(下月重构后会支持显示其内容)
最近状态不太好 抽个奖冲冲

iko - 应用图标替换(iOS 14+,限国区兑换) 抽奖活动已发布
参与关键词:年底了 祝大家 考的全对 蒙的全会 诸事顺利 万事顺心

已抽完。
🐟

几点基础安全相关的想法与可能有用的提示:

1. 使用非自写脚本时请简单浏览检查一下是否有恶意发送「非相关请求」至「不明链接」,特别注意是否非正常使用了自己的身份验证信息,如 cookie、token、password。

2. 基于 1,请不要随意使用不受信任的第三方 API,请勿随意传播、使用相关脚本。若是信任的接口,可查看其说明自行尝试写简单脚本或按其说明使用。

3. 基于 1,请不要使用「任何」需要使用自己身份验证信息的第三方 API,如链接中直接使用自己 cookie、password 的 API(无论加密与否)。若自己非要使用,请使用完全独立的账号密码且此服务应不与任何其他服务链接。

4. 基于 1,请不要使用自己无法简单检查的脚本,如不明 exe 等打包后的软件、被加密混淆且自己无能力研究的脚本等。对于不明打包后的软件,可以尝试先利用常见杀毒软件紧张扫描,在非完全信任的前提下请勿忽略其报毒信息。

5. 基于 4,若自己非要使用第三方、不明打包后的软件,请注意是否使用了自己的身份验证信息。如未使用,可尝试在虚拟机、可抛弃无其他重要服务的云端使用;如其使用了自己的身份验证信息,在不信任的前提下请直接弃用。

https://mp.weixin.qq.com/s/DvHxND_0gSRIPiAMZKQ7iw
zZPiglet
Photo
通知版「豆瓣·电影日历」复活(顺便之前好像更新了自定义跳转),感谢 @Neurogram 大佬 JSBox 小组件脚本 Dougets 提供绕过加密验证的思路。

最初练习写脚本时接到群成员需求觉得有意思就研究了一下,通过重放发现其为“抽查”的形式来验证加密,故删除了相关接口中的加密验证信息(_sig),通过不断重试的方式绕过加密。脚本发出使用一段时间后豆瓣对此接口开始全面验证加密,查找一些信息(Douya _sigDouya FRODO_SECRET)后发现需要在非 nodejs 的环境中实现一个 js 处理这个加密比较麻烦(Quantumult X 1.0.19 (480) 的测试版好像可以有办法处理了?),后因个人时间精力问题搁置了该脚本。近期狗哥发布了模拟豆瓣官方小组件的 JSBox 小组件 Dougets,学习后发现可以写死一组通过验证的加密信息 _sig(签名验证) 和 _ts(时间戳)来绕过加密,其实在对 Douya 项目的学习中就发现只验证了时间戳,但是由于相关接口中还含有 yyyy-MM-dd 形的日期信息,本能以为会通过日期信息同步验证时间戳,没想到当初他们堵住“抽查”验证时依旧没有完成强加密验证。

比较有意思的是,在这一年多学习写脚本的过程中,发现了许多公司在加密验证这个事上的「迷惑行为」,非常常见的有有完整的几套加密体系,却在一些接口不进行验证。这种行为可能有某些解释,但是还有一种是有加密体系,并进行了验证,但这些加密实际上并没有起到作用,如此次的「豆瓣·电影日历」的相关接口。再比如滴滴出行中的「滴滴橙心果园」,抓包分析后可以很容易发现请求体中的信息几乎都被加密了,比较容易从形式上看出其中的 params 参数是 Base64 后的结果,故通过解码可以得到正常信息,但 sign 参数可能为 MD5 加密后的信息,几乎不可通过解密得到正常信息,只能通过一些别的手段去得到如何计算这个 MD5 值。但有意思的是,其中 ts 参数并不是时间戳这种恒变的参数,而是类似于“操作次数”的记录,而“操作次数”在请求了进入这个游戏的初始化接口后会重置。所以很容易可以产生一个思路,在相同的“操作次数”进行相同的操作,是否可以直接利用之前的 sign 参数呢?重放验证后答案是肯定的,这样也就绕过了这个加密。其中迷惑行为一在某些情况写可以理解,而迷惑行为二我个人认为只是他们单纯的没能理解加密或如何加密。

依旧是个人时间精力问题,还是会做一只随缘更新的🐦,最近比较想🐦一期这一年多折腾这些的经验讨论。

附:
Quantumult X 1.0.19 (480) 测试内容:
- Script 类型 HTTP rewrite 支持二进制数据修改,增加类型为 ArrayBuffer 的传入参数 $response.bodyBytes 与 $request.bodyBytes(需 iOS 14.0 及以上)
- 同时 $task.fetch 响应体亦支持类型为 ArrayBuffer 的参数 bodyBytes(需 iOS 14.0 及以上)
- 示例参见 https://raw.githubusercontent.com/crossutility/Quantumult-X/master/sample-bytes-rewrite.js
- 部分界面调整

附 2:
此豆瓣接口签名缺失会返回错误代码 997,签名错误则会返回 996。
1👍1
走路活动已上传,更新 DiDi_new 使用脚本推荐时间即可,限定晚八点 [-10s, +60s] 间(原抢券时间)运行可获得,随机步数,建议关闭 App 或小程序中的从设备或微信同步步数。🐦

仔细看字哦。
👍1
🐟

接狼哥线报,「哇哈哈Tea」小程序签到 7 天 10 分,25 天送买一送一券。

抓包后发现「哇哈哈Tea」小程序使用了和老版本「奈雪点单」小程序一家外包公司,故只需更改现在库中「奈雪点单」小程序中的 appid 为 wx621508020f94679c 即可使用。

注:现在「奈雪点单」换了外包公司,暂不会去更新脚本,有兴趣的小伙伴可以自行学习尝试,提示:https://tm-web-cdn.pin-dao.cn/static/js/1.9ac2abea.chunk.js
“天天步数赛”活动已上传,据投票结果更改为 20:01 后运行脚本执行“走路赚钱”系列任务,不再执行主任务,请修改 cron 后使用。
测试版,如有问题请评论区反馈。

注:默认 cron 为 0 1,20,21 * * *,保留晚八点执行是防止错过滴滴补发晚八点优惠券。
👍1
🐟

京东比价 lite 版适配了京东极速版、京喜、京东健康中的比价,此次更新可按需修改正则:

京东极速版需要在 functionId 后添加 lite_wareBusiness,即:
^https?://api\.m\.jd\.com/client\.action\?functionId=(wareBusiness|serverConfig|basicConfig|lite_wareBusiness)

京喜需要在 functionId 后添加 pingou_item,即:
^https?://api\.m\.jd\.com/client\.action\?functionId=(wareBusiness|serverConfig|basicConfig|pingou_item)

京东健康需要补充一个 api 的path,即:
^https?://api\.m\.jd\.com/(client\.action|api)\?functionId=(wareBusiness|serverConfig|basicConfig)

如需所有都添加可直接修改为:
^https?://api\.m\.jd\.com/(client\.action|api)\?functionId=(wareBusiness|serverConfig|basicConfig|lite_wareBusiness|pingou_item)

其余需求组合可自行搭配。

注:由于 Quantumult X 规定了 $done() 为脚本出口,调用 $done() 后后续程序不会运行,原 lite 脚本无法通知,现 lite 脚本已对其单独处理,但失去以前不卡 app 的优势,且同非 lite 脚本一样,如果比价接口出错或更改,会导致进入商品页面卡死,故如无上述三 app 需求,Quantumult X 用户建议使用非 lite 脚本避免弹窗打扰。
zZPiglet
“天天步数赛”活动已上传,据投票结果更改为 20:01 后运行脚本执行“走路赚钱”系列任务,不再执行主任务,请修改 cron 后使用。 测试版,如有问题请评论区反馈。 注:默认 cron 为 0 1,20,21 * * *,保留晚八点执行是防止错过滴滴补发晚八点优惠券。
步数赛这两日接口不稳定,易报错,脚本忘了做这个处理,建议这两日禁用八点以后步数赛。
现在没电脑,周四有空了再改,做一个异常处理。
接口开始偶尔验证加密,脚本会尽量规避算加密,可能会取消。

已增加异常处理。
滴滴喝水
由于每天需要喝八次水,运行次数较多所以单独出来,活动 cron 请参考:
https://dpubstatic.udache.com/static/dpubimg/2820888c93bcb3a3d07e054b1ca1e35d/index.html
如:40 8,20,9-19/2 * * *

提示没水喝就是不在喝水时间或者相应时间段已经喝过了
滴滴睡觉
由于睡觉和起床时间特殊所以单独出来,活动 cron 请参考:
https://dpubstatic.udache.com/static/dpubimg/aa88e9ba6b8a95abec85ad62661afd98/index.html
如:1 6,22 * * *

睡觉和起床是一个脚本!
Forwarded from Surge & Loon & QX 脚本收集 (Senku)
节假日打扰大家了,没想到会以这样的方式和大家说好久不见。

我是Senku,一枚在TG的签到脚本开发者,ScriptableChavy Scripts 仓库和 BoxJs 项目的协作者之一。

事情发生的很突然,母亲在扁桃体肿大的治疗过程中查出T细胞淋巴瘤/白血病,目前在上海市第一人民医院就医。

我目前大四即将毕业,有一份实习工作,但家庭经济情况一般,在这里恳请TG朋友们能帮助一下,先谢谢大家了,也恳请大家帮忙转发求助!谢谢了🙏

水滴筹:
https://www.shuidichou.com/cf/contribute/1c0a88c5-3232-45f5-aeb6-9b16a6ace386
微信:
https://upload.cc/i1/2021/05/02/ZaADsx.jpeg
支付宝:
https://upload.cc/i1/2021/05/02/VrA7dI.jpeg
或点击链接直达:
https://qr.alipay.com/fkx004562wldy89vqocpl46
⚠️
滴滴走路赚钱模块下所有请求(走路赚钱、步数赛、喝水、早睡早起等)开始强验证 wsgsig,有空会考虑全部移除。按目前发展来看有可能别的活动也会这样。好消息是这部分wsgsig可能没有验证时间戳,可能会考虑以此方式续命。
由于一些原因,不会公开发 wsgsig 算法,有能力者可自行增加使用,在这里不建议传播,以免被滥用。
同时不会考虑增加此算法并加密脚本的做法,脚本开源,可自行修改、检查。
请勿向任何不信任的人泄漏滴滴的 ticket,由于滴滴并不那么在意用户隐私,此 ticket 可获取非常多个人信息,包括且不限于实名、手机号及行程。
🐟

最近比较忙,所以删除了库中一些过期活动,有空了会再补上,有部分可以跑的可以先用缓存或者保存的文件(可在 commit 记录中查找)。
This media is not supported in your browser
VIEW IN TELEGRAM
🐟


之前就有过在微信中直接打开淘宝 / 被封禁的链接的想法,但之前尝试重写 302 后,由于微信是浏览器自己检测,会无限循环跳转,尝试重写页面出现点击跳转按钮后发现微信浏览器直接阉割掉了跳转(这一点后来发现也是微信有自己的封禁名单),于是放弃了。

近期由于政策原因,微信开放部分外链访问,体验后发现存在痛点:
1. 每次都需要手动点击一次;
2. 对白名单外(也许是黑名单内)的依旧封禁了跳转;
3. 只能在私聊中触发,扫码和群聊还是老样子;
4. macOS 中微信好像并没有开放(也许是我的问题)。

但开放访问意味着可以在微信中直接打开,于是之前的想法理论上可以实现了,但被封禁的链接依旧不行,于是退一步考虑使用快照,并提供通知跳转到浏览器访问。

目标:
1. 跳过中间手动点击,显示部分封禁链接的快照;
2. 提供一些通知点击跳转;
3. 在群聊及扫码时也可使用;
4. macOS 可用。

欢迎大家测试、使用、改进、PR:Surge ModuleQuantumult X Rewrite SnippetsLoon PluginJavaScript

其中,不完善的有:
Surge Module 在 iOS 和 macOS 均可使用,macOS 不会弹窗通知(因为弹窗也没法点击跳转),且部分封禁链接跳转 Safari 后缺失微信的 exportKey 参数,无法解析出原始链接,这个暂未解决;
Quantumult X Rewrite Snippets / Loon Plugin 只测试了 iOS 端使用,且 Quantumult X 不知道是否有参数判断 iOS / macOS。

其中,可更改的配置有脚本第 2 行与第 3 行,均默认关闭:
第 2 行为是否在微信中用快照显示被封禁的链接(左下有申诉按钮的),如关闭则依旧显示封禁警告页面,但提供弹窗跳转;
第 3 行为是否在微信中用进行强制重定向,允许的情况下可能出现循环重定向。
这些更改可以下载脚本后修改,也可以使用 BoxJs 修改,对于 Surge 4.11.0(2010)+ 也可直接在配置中使用 argument 参数修改,如 argument=useCache=true&forceRedirect=false。
🐟


之前以为 Surge 「DNS 结果」右上角的按钮是清理缓存,后来发现不是,正好现在 Panel 功能右上角有刷新按钮,于是弄了个 flush DNS。

注:需要 Surge 4.11.0(2009) 信息面板功能。

[Script]
flushDNS = type=generic,timeout=10,script-path=https://raw.githubusercontent.com/zZPiglet/Task/master/asset/flushDNS.js
// flushDNS = type=generic,timeout=10,script-path=https://raw.githubusercontent.com/zZPiglet/Task/master/asset/flushDNS.js,argument=title=DNS FLush&icon=arrow.clockwise&color=#3d3d5b&server=false

[Panel]
flushDNS = script-name=flushDNS,update-interval=600

其中:
title 参数可以自定义显示名称;
icon 参数可以自定义显示图标;
color 参数可以自定义图标颜色;
server 参数为 false 是不显示 server;
且使用了 $trigger 参数(bulid 2015),只有手动点击刷新按钮才会清理 DNS 缓存,故可使用 update-interval 参数使其自动测试延迟。

Surge Module
JavaScript
👍1