sekiro-js-rpc逆向方案
客户端安装https://oss.iinti.cn/sekiro/sekiro-demo,直接运行 bat 文件(需要Java环境)
浏览器注入参考:https://sekiro.iinti.cn/sekiro-doc/01_manual/1.quickstart.html#%E6%B5%8F%E8%A7%88%E5%99%A8js%E7%8E%AF%E5%A2%83
12345678910111213141516171819202122232425262728293031323334353637383940function SekiroClient(e){if(this.wsURL=e,this.handlers={},this.socket={},!e)throw new Error("wsURL can not be empty!!");this.webSocketFactory=this.resolveWebSocketFactory(),this.connect()}SekiroClient.p ...
DrissionPage自动化
官网:https://drissionpage.cn/文档:https://drissionpage.cn/get_start/installation开启新浏览器1234from DrissionPage import ChromiumPage, ChromiumOptionsco = ChromiumOptions().auto_port(True) # 自动分配端口和缓存,启动一个新浏览器page = ChromiumPage(co)
设置cookie12cookies = "Z7XZP0H=GS1.1.1711853565.1.1.1711853728.39.0.0; path=/; domain=.shopee.sg;"page.set.cookies(cookies)
设置代理
账密通过插件实现:https://developer.aliyun.com/article/1010749
12co.set_proxy("http://123.56.205")co.add_extension()
python编程技巧五
读取 jsonline文件12345678910"""大概长这样{}{}{}"""with open("spus.jsonl", encoding="utf8") as fp: for item in jsonlines.Reader(fp): print(item)
openpyxl读取表格1234567workbook = load_workbook(file_path)sheet = workbook.active # 获取当前工作簿的活动工作表for row in sheet.iter_rows( values_only=True, # 只返回每行的值 min_row=2 # 从第二行开始读,跳过标题): data.append(row)
写入表格12345workbook = Workbook()sheet = workbook.activefor row in data: ...
小肩膀js补环境课程
原型链操作:判断对象的类型:Object.prototype.toString.call()
hook函数,防检测:
123Function.prototype.toString = function () { return `function ${this.name}() { [native code] }`;}
函数native化123456789101112131415161718192021!function (){ const $toString = Function.prototype.toString; const symbol = Symbol(); // 独一无二的属性 const myToString = function (){ return typeof this === 'function' && this[symbol] || $toString.call(this); } func ...
docker学习笔记
CentOS安装docker安装Docker依赖项:Docker需要一些依赖项来运行。运行以下命令来安装这些依赖项:
1sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加Docker官方仓库:Docker官方提供了用于安装Docker的仓库。运行以下命令来添加Docker官方仓库:
1sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装Docker引擎:运行以下命令来安装Docker引擎:
1sudo yum install -y docker-ce docker-ce-cli containerd.io
启动Docker服务:安装完成后,启动Docker服务并设置为开机自启:
12sudo systemctl start dockersudo systemctl enable docker
验证安装:运行以下命令来验证Docker是否安装成功:
1sudo do ...
海外数据采集汇总
AppStore采集方案:win10旧版itunes,需要苹果账号(淘宝买)
评论
1https://itunes.apple.com/WebObjects/MZStore.woa/wa/userReviewsRow
Facebook暂无较大风控
评论
1https://www.facebook.com/api/graphql/
主页
1https://www.facebook.com/
帖子
1https://www.facebook.com/story.php
Reddit暂无较大风控
评论
1https://old.reddit.com/api/morechildren
帖子
1https://old.reddit.com/r/all/top/?sort=top&t=day
Tiktok采集方案:jsRpc
评论
1https://www.tiktok.com/api/comment/list
主页
1https://www.tiktok.com/@cxs
视频列表
1https://www.tiktok.c ...
python编程技巧(四)
循环列表123import itertoolsl = itertools.cycle([1,])
ddddocr的使用目标检测12345ocr = ddddocr.DdddOcr(det=True, show_ad=False)image_file = "big.png"with open(image_file, "rb") as f: image = f.read()poses = ocr.detection(image)
画框12345im = cv2.imread(image_file)for box in poses: x1, y1, x2, y2 = box im = cv2.rectangle(im, (x1, y1), (x2, y2), color=(0, 0, 255), thickness=2)cv2.imwrite("result_" + image_file, im)
裁剪1234img = Image.open("big.png")for num, box ...
猿人学第二届web对抗赛
第一题 魔改算法把整个match1.js文件扣下来,放到vscode运行
第一步 过掉i函数这里会报错,看到前面有检测了 window self 这些属性
对比一下浏览器 i() 函数的返回结果,删掉无关的代码,过掉检测
删掉检测后的代码段如下,前面h的大段代码也可以去掉,因为h只在i函数里面有用到
1var i = function () {return 0xbb76994f;}
第二步 删除ajax请求在node里面执行不了ajax,所以也要去掉
第三步 导出cyrpto-js自执行的代码我们调用不了,为了方便调用,修改一下call函数
第四步 编写调用函数 get_token打印出结果,这里虽然能正常运行了,但是和浏览器的token计算值还是不一样,因为还有一些环境没补
第五步 补环境
window
delete window 在浏览器执行,肯定是失败的,但在node可以执行成功,这里需要改成 true
1x > 0x6 && B % x == 0x4 && (u = true ? i[u >&g ...
一些爬虫tricks
请求的时候去掉header1234"Host": "teslamotorsclub.com","Connection": "keep-alive","Pragma": "no-cache","Cache-Control": "no-cache",
chrome 元素断点当元素发生变化时,断住
fiddler 导出 curl
fiddler 抓包 tls
原型链
原型链继承12345function Student() { }cxs.propotype = new Student()
箭头函数12345678910111213fn => x * x// 等价于function (x) { return x * x}// 定义匿名函数obj = { name: "cxs", fun: () => { ...