0%

不知道从什么时候开始,新写的文章阅读数量一直是1,一直没有去管,今天把问题解决了,记录下希望能帮到有同样问题的人。

问题原因

Next 中内置的leancloud_visitors插件是用leancloud存储功能来实现的,类似一个mongodb,不知道什么时候开始默认把权限变成了只读,所以每次更新统计数的时候都会报403权限问题,通过网络请求可以看到:

阅读全文 »

前言

前一段时间给我的开源下载器 Gopeed 实现了一套扩展系统,相关设计草案可以在这里查看,基于这套扩展系统可以很方便的通过javascript来实现一些定制化的功能,目前已经实现的扩展有:

然后重点是这些扩展也是全平台支持的,这意味着你可以在windowsmaclinuxandroidiosweb平台上安装和使用这些扩展,是不是很酷?接下来就来介绍下我是如何实现这套扩展系统的。

阅读全文 »

前言

经过近三年的迭代,Gopeed 终于迎来了我觉得比较满意的一个版本 v1.4.3,早在 proxyee-down 停更的时候,我就立下了一个flag要用 Golang 来重写一个下载器:

当时刚接触 Golang 就被深深吸引了,它优秀的网络编程、协程和交叉编译等特性,不经感叹这简直就是开发下载器的天选编程语言,于是就有了这个项目,刚开始的时候想着就做一个类似aria2这样的命令行工具,后来flutter异军突起,我就一直在调研用flutter来开发一个支持所有平台的下载器的可行性,一开始flutter desktop还不是很成熟,我甚至有考虑过用electron做桌面端,flutter做移动端,后来flutter 2.0发布之后,flutter desktop也正式发布了,测了下基本没啥大坑,觉得这是一个很好的机会,就开始把命令行工具改造成GUI,更方便用户使用,最终不出所望,通过 Golang + flutter 的组合,实现了一个支持所有平台的下载器。

相关链接:
官网 -> https://gopeed.com
Github -> https://github.com/GopeedLab/gopeed

阅读全文 »

转载申明

文章转载自互联网,如有侵权,请联系删除
本文仅作为学习交流,禁止用于非法用途

0x00 概述

针对某麦网部分演唱会门票仅能在 app 渠道抢票的问题,本文研究了 APK 的抢票接口并编写了抢票工具。本文介绍的顺序为环境搭建、抓包、trace 分析、接口参数获取、rpc 调用实现,以及最终的功能实现。通过阅读本文,你将学到反抓包技术破解、Frida hook、jadx apk 逆向技术,并能对淘系 APP 的运行逻辑有所了解。本文仅用于学习交流,严禁用于非法用途。

阅读全文 »

转载申明

文章转载自互联网,如有侵权,请联系删除
本文仅作为学习交流,禁止用于非法用途

1. 背景

阿里系当前采用的加密版本是 6.3,6.2 版本的大家几乎都解决了,6.3 的网上资料很少,这里讲讲 6.3 的解密过程

  1. 阿里系通用这一套加密算法,主要是 x-sign,x-sgext,x_mini_wua,x_umt 这四个加密参数,解决了其中一个 app,其他的比如淘 X,咸 X 等 app 都相差不大了,改改参数,或者替换不同的方法名称就行;
  2. 使用的是 frida-rpc 主动调用的方法(对加密算法解密的话,难度很高,我没做出来);
  3. 本次做的是阿里系的某生鲜平台 app, 仅作为学习交流,禁止用于商业使用
阅读全文 »

前言

最近想给gopeed的文档网站添加一个统计用户的访问量的功能,所以就想到了 firebase 的 analytics,但是在 vuepress 中整合 firebase 的 analytics 并不是很简单,所以就有了这篇文章。

阅读全文 »

前言

想在 wsl 上安装 flutter 跑一跑我的gopeed项目,在安装完 flutter 并设置好环境变量后,运行flutter doctor提示bash\r: No such file or directory,搜索了一番发现没有找到解决方案,于是自己摸索了一番,记录下来。

阅读全文 »

前言

在 Go 中,可以通过传递指针来改变函数外部变量的值,例如:

1
2
3
4
5
6
7
8
9
10
11
func main() {
var a int = 1
fmt.Println(a) // 1
change(&a,2)
fmt.Println(a) // 2
}

func change(a *int, b int) {
// 通过解引用来改变外部变量的值
*a = b
}

但是在某些情况下,我们可能需要传递interface{}来接收任意的指针变量,这时候就会遇到一个问题,interface{}类型声明的变量是不能直接赋值指针的,例如:

1
2
3
4
5
6
7
8
9
10
11
func main() {
var a int = 1
fmt.Println(a) // 1
change(&a,2)
fmt.Println(a) // 2
}

func change(a interface{},b interface{}) {
// 这一行会报错: invalid operation: cannot indirect a (variable of type interface{})
*a = b
}
阅读全文 »

背景

最近碰到一个神奇的网站,在浏览器可以打开,但是通过 curl 或者 代码访问就直接 403,我估摸着这肯定是做了UA校验,于是请求的时候把浏览器的 UA 给带上,然后访问发现还是 403,不过这也难不倒我,肯定是还有校验其它的请求头,直接浏览器打开 network,把所有的请求头复制过来并且带上,确保我和浏览器在 http 协议层面的请求完全一样,这样不可能会失败了吧,然而运行完发现还是 403。

放个地址: https://pixabay.com

阅读全文 »