datadome的粗略分析

闲来无事了看了下之前搞得datadome,更新频率很快,废话不多说,直接撸。 先ast还原一版本,跟调用栈找到函数入口,箭头所指就是captchaEncodePayload生成的地方。 继续a函数往上跟跳到这个位置,发现这个a函数在_a函数的返回数组里,我们直接把他全干下来。 var _a = fu


python实现随机iv的AES,CBC模式

在js逆向遇到AES,CBC模式加密并没有带iv而是每次随机生成的iv,python带的库没有相关实现,不能实现解密,故记录一下python相关实现: import os from Crypto.Cipher import AES import base64 import hashlib de


ios使用frida-rpc

ios应用使用frida实现rpc,server端: const express = require('express'); const frida = require('frida'); const app = express(); const port = 3000; // 使用 bodyPa


百度地图坐标转换

百度地图API返回的坐标和gps坐标不一样的,需要转换,百度api返回的坐标如下:转换代码如下: var Ob = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; function Pb(a) { v


滴滴打车参数wsgsig

wsgsig是由sig通过自定义base64_map的编码得到,sig是通过url提交的参数和一个固定字符MD5得到,不啰嗦直接放代码: import hashlib import time from urllib.parse import urlparse, unquote import exe


web端小红书

web端小红书请求头x-s x-t x-s-common和旋转验证码,vmp关键位置插桩就行,加密用的是原生DES,,所有算法已经开源发在下面了,此文章只是用来学习,如涉及相关利益请联系我删除。 源码:xhs.7z


mitmproxy配合ast以及hook实现简单化js

因为在处理反爬的过程中遇到了一些动态JS,但是由于服务端会返回一些参数参与本地加密,不能用固定的JS进行AST还原替换调试。所以才有了这个思路,本文只讲思路不涉及具体网站处理。 先记录下mitmproxy基本的api: 针对http,常用的API http.HTTPFlow 实例 flow flo


babel插件手册

Babel 插件手册 这篇文档涵盖了如何创建 Babel 插件等方面的内容。. 这本手册提供了多种语言的版本,查看


拼接的拖动验证码距离识别

最近遇到一个图片切割后拼接的滑动验证码,拖动把图片位置还原,要识别他的滑动距离,看起来也不复杂,想着没必要用宰牛刀(机器学习),简单记录一下识别的两种方法: 原理是通过计算像素的欧氏距离来确定上半部分第一张图的长度,像素欧氏距离越小,越趋近同一块位置,说明那个位置是分割点。代码如下: class C


吉祥航空同盾无感

1.开门见山,机票数据都需要一个blackbox的数据,这个就是由无感相关生成的。直接搜索Blackbox就可以找到最后赋值的地方,然后下断点刷新,往上跟调用栈就可以找到回调函数 //oooooQ()函数生成的值就是blackbox function OOO0OO() { if (O0QQ0