自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cp's blog

编程小白成长之路

  • 博客(51)
  • 收藏
  • 关注

原创 某验四代滑块验证

某滑块验证码四代流程分析

2024-02-23 16:21:13 53

原创 某度旋转验证码

某度旋转滑块广泛应用于一些网站,本文主要讲其验证逻辑

2022-12-05 17:43:25 666 3

原创 某车app登录参数分析

某app登录过程分析, 主要验证加密参数

2022-12-01 16:13:36 460

原创 某网站X-Signature签名破解

网站签名机制是很常见的技术手段,本文介绍某网站X-Signature签名破解,js还原

2022-11-22 18:11:12 1729

原创 某sm滑块动态参数获取-(ast方式)

某sm滑块动态参数一般会不定时更新,采取ast方式,以实现参数通用获取

2022-08-29 18:27:51 446 3

转载 JS 跳过 debugger 的几种方法

JS 跳过 debugger 的几种方法

2022-08-10 13:55:00 1477

原创 YRX app第八题 python grpc

python grpc

2022-07-04 16:58:39 262

原创 Android⼿机将已安装的app包导出apk

Android⼿机将已安装的app包导出apk

2022-06-28 11:31:13 1633

原创 wx小程序解包源码获取

pc端wx小程序解包

2022-06-16 16:28:57 2260 2

转载 python 使用execjs执行接js解密时报错execjs UnicodeDecodeError: ‘gbk‘ codec can‘t decode...

python 使用execjs执行接js解密时报错execjs UnicodeDecodeError: 'gbk' codec can't decode...

2022-06-15 18:23:57 593

原创 某m影视apk m3u8地址key值

m3u8地址如下:https://video6.douquwuxian.com/haizeiwang/2/index.m3u8?key=2c3c8e9e5e04b4ffdde0f9a037254927&time=1648027263142apk:com.kumao.yingshi我们先观察一下这个地址,可以推测time为13为时间戳, key大概为MD5加密方式先用jadx反编译一下apk,全局搜索"key",调试发现此处的key很像我们需要的key进入类里面这里有key,有t

2022-03-24 11:14:37 2528

原创 某验三代滑块验证

网站示例: https://www.geetest.com/Sensebot模拟一次完整的滑块拖动触发上述请求, 其中第二步 gettype.php 返回一些js路径,实际调用过程可忽略不计,前面几部都很好分析,我们直接看最后一次请求加密参数为 gt、challenge、w, 其中 gt、challenge 为上个请求返回的,主要参数为w, 下文围绕w展开追述w参数的生成主要在slide.7.8.6.js文件里, 特征值为"\u0077", 我们可以使用工具反混淆一下js文件,以便更清晰的调

2022-03-22 12:12:45 1525

原创 某h x-zse-96还原

某乎请求头参数x-zse-96采用搜索关键词x-zse-96定位,x-zse-96=“2.0_” +y,向前找y,y为m.sign,m.spurce为url参数部分,m.signature即为x-zse-96的值如图11718行的signature打上断点,此处打上断点调试分析可知:s为url参数部分, f()为md5加密, u() 为 __g._encrypt(encodeURIComponent(e))调式逻辑如下:调试完成:算法还原js版实例:// f1 = 63 &am

2022-03-01 16:06:12 344

原创 基于pyqt5的可视化BMI指数计算系统

基于pyqt5的可视化BMI指数计算系统

2022-01-30 11:12:04 427

原创 解决json.decoder.JSONDecodeError: Invalid control character at: line 1 column 4007 (char 4006)问题

原始代码json_load = json.loads(data)错误如图修改原始代码json_load = json.loads(data, strict=False)成功运行!!!!!!

2022-01-25 09:59:53 1237

转载 fiddler/Charles抓包连不上网

抓包提示无网络

2022-01-14 17:03:59 957

原创 解决浏览器进入控制台无限debugger

首先 进入 浏览器的开发者工具(F12),进入后会有个无限debugger,如下图所示过掉无线debugger模式,鼠标右击 选择 never pause here,过掉debugger(其他的方式),然后就可以了

2021-11-17 19:20:14 4558

原创 ida 调试

调试前准备工作:adb push android_x86_server /data/local/tmp/ 模拟器 (android android_server)chmod 777 android_server#运行 ./android_server#在本地执行adb 做端口转发 adb forward tcp:23946 tcp:23946ida调试分为静态调式和动态调式, 下图new为静态调式, go为动态调式(最好用android)ida里 - ctrl+f5 转为C代码 -

2021-11-03 14:50:40 3663

转载 Frida实现的Android端App抓包小工具 okhttp_poker

OkHttpLogger-FridaFrida 实现拦截okhttp的脚本,只针对Android端使用okhttp框架发送http请求的拦截,用途不大,仅学习交流使用!github 链接: https://github.com/siyujie/OkHttpLogger-Frida使用说明① 首先将 okhttpfind.dex 拷贝到 /data/local/tmp/ 目录下。 然后给目标App授予存储权限。执行命令启动frida -U -l okhttp_poker.js -f com.exam

2021-11-01 17:49:30 1299

原创 2021-10-26

腾讯云优惠界面(学生认证)或 25岁以下链接:https://cloud.tencent.com/act/campus?fromSource=gwzcw.2432719.2432719.2432719&utm_medium=cpc&utm_id=gwzcw.2432719.2432719.2432719&bd_vid=6610473435885155771

2021-10-26 10:49:30 82 1

转载 frida 12.x版本

pip install frida12.8.0pip install frida-tools5.3.0pip install objection==1.8.4对应server下载:https://github.com/frida/frida/releases?after=12.8.10注:高版本容易卡住,闪退, windows frida版本应和手机 frida server 版本一致...

2021-10-14 13:43:44 586

转载 MYSQL ERROR 1799 (HY000): Creating index ‘PRIMARY‘ innodb_online_alter_log_max_size

MYSQL线上字段修改表机构,遇到问题。mysql> alter table productinfo.pd_info add is_batch tinyint(1) unsigned not null default 1,add index idx_is_batch (is_batch);ERROR 1799 (HY000): Creating index ‘PRIMARY’ required more than ‘innodb_online_alter_log_max_size’ bytes o

2021-06-24 13:44:03 791

转载 Linux curl get请求参数多个参数被截断的解决方法

使用curl访问一个链接的时候出现了一个很奇怪的现象,请求的url:curl https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardNo=6216665000001788266&cardBinCheck=true打印的内容如下所示:看到这里有点懵了,好好的url被截断了。最后在Google上找到原因:&在shell脚本中有特殊的意义(以daemon运行)所以只要在&

2021-06-23 11:52:51 1191

原创 某zhan sign

本脚本为获取b站sign,仅供参考import hashlibtry: from urllib import urlencodeexcept: from urllib.parse import urlencode# iOS 6680# app_key = '27eb53fc9058f8c3'# app_secret = 'c2ed53a74eeefe3cf99fbd01d8c9c375'# 云视听 TV# app_key = '4409e2ce8ffd12b8'# a

2021-06-18 18:38:51 557 1

原创 反编译获取app源码工具——jadx

下载地址:https://github.com/skylot/jadx/releases/可直接下载 win.exe,jadx 优点如下:图形化的界面。拖拽式的操作。反编译输出 Java 代码。导出 Gradle 工程。其他:可以选择apk、dex、jar、zip、class、aar 文件,可以看到 jadx 支持的格式还是挺多的,基本上编译成 Java 虚拟机能识别的字节码,它都可以进行反编译。除了选择一个文件,还可以直接将 apk 文件,拖拽进去,这一点非常好用。jadx 提供的

2021-02-05 18:51:04 3375 4

原创 scrapy 发送payload方式的post请求

scrapy 发送一般的post请求采用formdata 进行请求,当发送payload方式的post请求时,使用formdata 请求就无法达到我们需要的效果。发现 FromRequest并不支持传request payload解决办法:使用Request,添加body,并注明请求方法为post即可必须要注意的点:1、请求头一定要加上‘Content-Type’: 'application/json’2、body 用json.dumps()转一下代码实现如下:yield scrapy.Requ

2021-01-08 17:32:44 840

原创 记录scrapy爬虫犯的部分数据重复错误

scrapy 爬虫在爬取列表页时,发现有部分数据是重复的,找啊找啊发现,在写for 循环时将item放到了for循环外面,代码如下: def parse_list(self, response): item = DataItem() if response.status != 200: print(response.status) else: datas = json.loads(response.tex

2021-01-07 15:59:58 910

原创 rabbitmq 使用的一些坑

正常情况下rabbitmq服务里面的一些空间信息是这样的,不会堆积大量的数据修改之前查看连接数 rabbitmqctl statusrabbitmq 如果数据量堆积的比较多再去消费的时候,很可能就连接数过多超过 1024 available ,里的1024限制从而宕机,宕机之后再重启数据很可能丢失,所以我们可通过修改最大连接数的形式防止rabbitmq崩溃,具体如下本人是用下面命令来启动rabbitmq服务sytemctl start rabbitmq-server.service因此先找到

2020-12-24 15:54:27 643

原创 某宝h5端sign

因业务需求需破解淘宝sign值,过程如下在控制台搜索sign值:找到后打断点如下:进一步调试得知计算公式为:md5Hex(token&t&appKey&data)其中,token为 cookie里的 _m_h5_tk 下划线前面部分, appkey为固定值 12574478, data为请求参数中的data值python 代码实现如下:import hashlibappKey = '12574478'def get_sign(token, t, data):

2020-11-24 18:57:34 2492 6

原创 python 实现 列表嵌套字典去重、排序

def delrepeat(data,key): # data 列表 key 去重的键 new_data = [] # 用于存储去重后的list values = [] # 用于存储当前已有的值 for d in data: if d[key] not in values: new_data.append(d) values.append(d[key]) print(new_data)if __name__ == '__main__': li

2020-11-19 11:28:36 675

原创 http状态码 30X 获取响应头里的 location

import requestsurl = 'http://xhslink.com/oSVbN'headers = { 'User-Agent': 'Mozilla/5.0'}response = requests.get(url=url, headers=headers, allow_redirects=False) 注:allow_redirects=False 禁止重定向allow_redirects 默认为true, requets库自动处理了重定向请求print(respo

2020-10-26 16:35:36 1496

原创 linux服务器 杀掉运行超过30分钟以上指定服务的进程

需求背景:爬虫中使用chrome浏览器,正常情况下运行几秒钟就会自动结束,但是有时候因为机器资源占用过多、或机器配置太低等原因会导致该进程僵死,过多则会占用过多的服务器资源,所以需要将该服务运行时间超过30分钟的进程杀掉。思路:1.通过ps获取该服务的PID和运行时间;2.判断运行时间是否超过30分钟(这里转换为1800秒了);3.根据判断结果确定是否杀掉进程;4.通过crontab定时执行该脚本;脚本(kill_chrome.sh):#!/bin/bashpro_name=chrome

2020-10-19 13:42:26 1294

转载 python实现B站Bv号转Av号

计算方法及每一步详解源自:https://www.bilibili.com/video/BV1R7411y7kwpython实现import mathdef BvToAv(Bv): # 1.去除Bv号前的"Bv"字符 BvNo1 = Bv[2:] keys = { '1': '13', '2': '12', '3': '46', '4': '31', '5': '43', '6': '18', '7': '40', '8': '28', '9': '5',

2020-10-14 10:32:42 996 1

转载 requests发送post请求的一些疑点

前言在Python爬虫中,使用requests发送请求,访问指定网站,是常见的做法。一般是发送GET请求或者POST请求,对于GET请求没有什么好说的,而发送POST请求,有很多朋友不是很清楚,主要是因为容易混淆POST提交的方式。今天在微信交流群里,就有朋友遇到了这种问题,特地讲解一下。在HTTP协议中,post提交的数据必须放在消息主体中,但是协议中并没有规定必须使用什么编码方式,从而导致了提交方式的不同。服务端根据请求头中的Content-Type字段来获知请求中的消息主体是用何种方式进行编码,再

2020-09-29 10:11:53 607

原创 linux Rabbitmq服务的搭建

1、安装Erlang#yum install erlang2、安装Rabbitmq-server#yum install rabbitmq-server3、配置Rabbitmq-server1)将rabbitmq的rabbitmq.config.example文件内容替换/etc/rabbitmq/rabbitmq.config2)编辑rabbitmq配置文件,开启远程访问 将配置文件中"%% {loopback_users, []},",这一行的逗号去掉3)开启 Web 界面管理#r

2020-08-27 16:18:58 257

转载 RabbitMQ UI界面简单介绍

web管理插件RabbitMQ的插件是由Erlang语言写的,并且和服务器一同运行在同一个Erlang VM中,通过下面的命令启用web管理插件:sudo ./rabbitmq-plugins enable rabbitmq_management启动之后,访问15672端口,可看到Web管理页面主页面:添加用户默认会提供一个默认用户guest,密码也是guest,线上环境需要创建一个新用户,并把guest用户删除。首先切换到Admin标签页,可以查看或添加用户,添加用户时,可指定Tags,相当

2020-07-23 18:28:24 1277

转载 mysql中的隐式转换

如果你在做一些数据处理或者查询的时候发现很慢,那可能是你创建的字段类型与实际的字段类型不匹配。在mysql查询中,当查询条件左右两侧类型不匹配的时候会发生隐式转换,可能导致查询无法使用索引。下面分析两种隐式转换的情况看表结构 phone为 int类型,name为 varcharEXPLAIN select * from user where phone = ‘2’EXPLAIN select * from user where phone = 2两种情况都可以用到索引,这次等号右侧是’2’

2020-07-22 11:12:57 259

转载 python使用遍历在列表(list)中添加字典(dict)

错误示例:nid = "1,2"print(nid.split(','))mydict = {}datas = []for i in nid.split(','): mydict["id"] = str(i) mydict["checked"] = True datas.append(mydict)print(str(datas))运行结果:['1', '2'][{'id': '2', 'checked': True}, {'id': '2', 'checked'

2020-05-27 11:23:12 5174

转载 利用apktool查看apk源代码

一、首先下载反编译工具包 下载地址 链接:https://pan.baidu.com/s/1CEo93BjAKes-xElp47XlHQ 密码:jyia1.apktool:由于直接改apk后缀进行解压的话打开的xml文件会乱码,所以我们使用apktool工具查看apk的xml文件、AndroidManifest.xml和图片等2.dex2jar:classes.dex转换成jar包3.jd-gui:查看jar文件的java源代码二、下载之后,将需要反编译的apk放到apktools同级目录下,并

2020-05-18 20:26:19 3860 5

转载 如何突破网站对selenium的屏蔽

使用selenium模拟浏览器进行数据抓取无疑是当下最通用的数据采集方案,它通吃各种数据加载方式,能够绕过客户JS加密,绕过爬虫检测,绕过签名机制。它的应用,使得许多网站的反采集策略形同虚设。由于selenium不会在HTTP请求数据中留下指纹,因此无法被网站直接识别和拦截。这是不是就意味着selenium真的就无法被网站屏蔽了呢?非也。selenium在运行的时候会暴露出一些预定义的Javascript变量(特征字符串),例如"window.navigator.webdriver",在非selenium

2020-05-09 10:01:11 574

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除