跳到主要内容

手把手教你注册chatGPT账号

· 阅读需 5 分钟

背景

chatGPT最近非常火,很多人都想拥有一个chatGPT账号。但是chatGPT账号注册有点麻烦,很多人不知道要如何注册,所以本文将手把手教你注册chatGPT账号。

步骤

准备梯子

首先,需要准备梯子,因为大陆用不了chatGPT。另外,香港也用不了chatGPT,因此,建议使用付费的梯子节点相对丰富些。随着chatGPT越来越火,chatGPT对于账号也变得严格了。从最开始的可以邮箱注册,到现在只能使用谷歌账号注册,因此建议直接使用谷歌账号注册。早期批量注册的账号有的遭到封禁,因此建议还是手动注册账号。

另外,在注册过程中,如果梯子使用的是亚洲的节点,在接收海外短信时可能出问题,因此,在注册chatGPT账号时,建议使用美国的节点。不过,使用chatGPT倒未必需要使用美国的节点,建议选择日本、新加坡等地的节点,如果台湾的节点能用的话可以使用台湾的节点。但是,chatGPT对于频繁切换IP的账号可能会实施封禁,因此建议不要频繁切换节点。

至于如何购买梯子,由于很多梯子需要有梯子才能购买,也就是如果要购买梯子需要先有梯子。解决办法就是,找免费的梯子,或者用不需要梯子就能购买的梯子,或者找朋友帮忙买梯子。至于有哪些梯子,可以发动下自己的人脉,或者到GitHub之类的网站上找。另外,如果你能看到本文的后面,也能找到一个还不错的梯子。

注册邮箱账号

在写本文时,只有谷歌账号能注册chatGPT了,因此,建议直接注册gmail邮箱,也就是谷歌账号。注册入口:创建您的 Google 帐号 。推荐注册一个,毕竟谷歌账号很通用,许多网站能使用谷歌账号登录,gmail邮箱也比较好用。注册过程很简单,略过。

在MySQL中使用PreparedStatement

· 阅读需 4 分钟

背景

有个只会SQL的校友在群里问了一个MySQL表达式求值有关的问题,大意是数据库里存储的是表达式,但需要计算表达式的结果进行查询。刚开始我以为MySQL里有类似eval 的函数,后来看了一下并没有,与之类似的是PreparedStatement ,然后结合存储过程,实现了在MySQL中进行表达式求值。这里,我将问题简化下,然后以此为例,介绍MySQL中的PreparedStatement

问题

建表语句:

create table expression_test
(
id bigint auto_increment primary key,
expression varchar(255) default '' not null comment '表达式',
result varchar(64) default '' not null comment '结果'
);

在这个表里,expression 列是一些表达式(算术运算),result 列是计算结果。初始状态下,表里expression 列有一些表达式,result 列为空,现需要计算表达式的值,并将结果填到result 列里。

如果不限制只能使用SQL,那这个问题并不算很困难,可以将表达式查出来,然后计算并写入结果即可,不过其实也可以用PreparedStatement。但如果限制只能使用SQL就有一定难度了,毕竟很少有这样的使用场景。

基于Shamiko的隐藏Root方法

· 阅读需 2 分钟

前言

部分APP会在运行时检测设备是否安全,例如设备是否已Root。当APP检测到系统不安全时,可能会弹窗警告,甚至会直接退出。这使得我们可能无法对APP进行抓包分析等,影响风控对抗的进展。

为此,需要采取一些手段来绕过APP的Root检测。由于定制Android源码成本非常高,所以,尽量使用简单的方法能绕过APP的Root检测即可。基于Magisk的隐藏Root是常见的绕过方式,其操作简单便于使用。

Magisk简介

Magisk(面具)是安卓手机在Root后一般会安装的软件,可以安装一些模块来实现扩展功能。其中最有名的模块是Riru,它可以让其它模块注入Zygote进程。

在Magisk 23及之前版本,可以通过Magisk Hide来进行Root隐藏。不过在Magisk 24之后便移除了该功能,但仍然可以使用Riru-MomoHider来实现Root隐藏。

不过,Riru在今年2月份停止了更新,取而代之的是Zygisk。因此,在安装了Zygisk的情况下无需安装Riru。同时,Riru-MomoHider由于被滥用,开发者转而开发基于Zygisk的Shamiko模块。

Zygisk是Magisk自带的功能,可以启用,如果遵守排除列表,Magisk将会撤销修改,这样虽可以隐藏Root但是会导致LSPosed模块失效,而HTTPS抓包依赖TrustMeAlready模块以解除SSL pinning,可能会导致无法抓包。

要在启用Zygisk的情况下使用Root隐藏,便可以使用Shamiko模块,下面介绍操作方法。

Wireshark数据包分析实战学习笔记一

· 阅读需 13 分钟

捕获过滤器的BPF语法

使用BPF语法创建的过滤器被称为表达式,并且每个表达式包含一个或多个原语。每个原语包含一个或多个限定词,然后跟着一个ID名字或数字

限定词说明例子
类型限定词指出名字或数字所代表的意义host、net、host
传输方向限定词指明传输方向是前往还是来自名字或数字src、dst
协议限定词限定所要匹配的协议ether、ip、tcp、udp、http、ftp

可以使用以下3种逻辑运算符,对原语进行组合,从而创建更高级的表达式

捕获过滤器语法.drawio