自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

风中的承诺

叶底藏花一度,梦里踏雪几回。

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

原创 aosp集成frida-gadget

编译环境:ubuntu 16.04.7 + nexus 6P1. 首先编译aosp,并能成功刷机。2. 配置frida-gadget到编译成功的源码路径下去github下载两个版本的frida-gadget.so下载完成后解压,并改名。注意文件名必须以lib开头。mv frida-gadget-15.1.16-android-arm.so libfg15116arm.somv frida-gadget-15.1.16-android-arm64.so libfg15116arm64.so

2022-02-24 16:34:09 4339

原创 ida调试app找不到so

在ida中动态调试找不到so.去/data/app/包/lib下查看是否有相应so。若无则需要,则需要看下apk的AndroidManifest.xml中的android:extractNativeLibs是否为true。如果是false。则它从自身的base.apk加载so。所以在ida中调试不会出现你想要的so。对它进行反编译,把这个值改为true即可。重新打包安装即可。参考文章:https://www.cnblogs.com/xiaxveliang/p/14583802.html..

2021-04-23 17:21:26 1179 2

原创 Mac 修改Jeb内存大小

以下是相对目录。 进到jeb目录下cd ./bin/jeb.app/Contents/Java/下面有个jeb.cfg, 在JVMOptions下添加-Xmx8192m即可修改

2020-09-17 16:13:01 1135

原创 抓包+逆向app分析protobuf

首先明确我们的目标。我们的最终目标是还原proto文件。并用python成功解析数据。1.抓包分析拿到一款app,首先抓包如果协议头是application/x-protobuf,那么charles可以大致解析出来响应的文本。可以看到甚至连序号以及类型。注意这个前面的1,2,3不是charles自动给我们标的序号,而是message里面,定义的字段编号。我换了编号,请求响应如下:基本上我们根据抓包结果就可以编写proto配置文件了。但是现在大多数app,一般用了protobuf协议,基本上都是

2020-06-20 10:20:35 4249 2

原创 Android实现protobuf客户端

环境配置1. 在项目根目录build.gradle下面添加protobuf-gradle-plugin插件classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.8'2. 在Module下 的build.gradle添加以下配置apply plugin: 'com.google.protobuf'protobuf { //配置protoc编译器 protoc { artifact = 'com.goo

2020-06-20 10:20:21 1334

原创 Protobuf后台python实现

这里web框架选择flask。原因是简单,可快速编写demo。pc环境: windows1. 环境配置1.1 安装python31.2 使用pip安装flask和protocbufpip install flaskpip install protobuf1.3 配置protoc去github下载对应和你PC对应版本的protoc。1.4 pycharm安装protobuf插件在plugins->Marketplace 搜索并安装这两款插件2. .proto配置文件编写简

2020-06-20 10:20:01 546

原创 Android+Python实现protobuf通信系列

学习protobuf正向开发和逆向分析学习成果记录一下,避免遗忘protobuf简单介绍python Flask实现protobuf后台Android实现protobuf客户端逆向app分析proto数据结构还原proto数据结构。使用python模拟发送请求第一篇(protobuf简单介绍)protobuf(全称:Protocol Buffers)是Google开发的一种轻便高效的结构化数据格式。常常用于数据结构的序列化。以下是protobuf目前支持的语言和平台:优点:1.

2020-06-20 10:19:41 351

原创 某app内容协议分析

qq阅读文章内容加密分析首先,拿到一款app,二话不说,抓包。这个就是它的文章详情的包。可以看到部分解码正常,部分乱码。这些它自定义的协议格式。乱码部分为文章内容。看一下它的响应格式 使用了字节流传输。接下来使用jadx打开它的app,分析一下。这里采用逆向分析。一般根据这些阅读类的app,喜欢在本地写一些缓存文件,用来提升用户体验。我们去文件目录下找找看下有没有这些我们比较敏感...

2020-04-04 16:25:17 1230

原创 java字节码与python字节码互转

def pb2jb(byte_arr): """ python字节码转java字节码 :param byte_arr: :return: """ return [int(i) - 256 if int(i) > 127 else int(i) for i in byte_arr]def jb2pb(byte_arr): """ ...

2020-03-26 23:25:46 1521

原创 某讯滑块协议分析

腾讯滑动验证码协议分析一如既往的先抓包。这是其登录接口,登录接口中的这个值通过搜索可以发现,它是滑块认证成功后才返回的。所以,今天主要就是分析这个接口。这个接口的参数多达39个。以下是此接口部分截图虽然参数很多,但是大部分都是无用参数,可固定,有些参数在其它接口也能直接找到。真正需要分析,需要计算的,也就只有5个左右。其中 acaecd 这个参数跟滑动轨迹有关。 这个key的名...

2020-02-19 22:45:21 3567 2

原创 网易滑块协议分析(二)

这篇文章主要分析网易的滑块轨迹算法。也就是data是怎么生成的我们全局搜索data,出现的地方很太多。我这里是直接搜m:""其中只涉及到3个js文件.这里我们优先选择带版本号的js文件,可以看到这个版本号跟验证滑块接口中的版本号是一致的。点进去直接继续搜索整个js中就只有这一处。我们直接断点打在data身上。其中的d是滑块轨迹,p和ext分别是两个加密参数。这里先分析d的值。p函...

2020-01-11 11:37:09 1716

原创 网易滑块协议分析(一)

破解网易滑块如图所示,再登录之前,需要先破解它的滑块,拿到它的关键参数1. 抓包首先打开抓包工具或者f12控制台,然后手动滑动,观察请求包的信息。我们发现这是个get请求,下面具体看下它的请求参数其中响应里的validate就是我们后面处理登录,需要用到的参数。只有滑动成功,才会返回值。我们看下请求参数中,其中大多数参数可以固定不变。只有4个参数需要我们破解。分别是id,toke...

2020-01-11 11:36:23 3512 13

原创 js混淆与反混淆

介绍几种js混淆方式

2019-12-26 23:24:51 7252 1

原创 js调试小技巧

1. 使用Object.defineProperty监控对象值的变化在一些js的加密中,我们往往不知道

2019-12-24 14:28:35 255

原创 识别滑块缺口位置

引言目前互联网上很多网站都有滑块验证码验证。今天我要做的就是识别大部分滑块的缺口位置。开始现在的滑块缺口基本分为两种,一种是极验系的,提供原图和带缺口的背景图,另一种就是只有滑块图片和带缺口的背景图,网易系。先感受一下它们的图片风格极验系:带缺口的背景图完整背景图网易系带缺口的背景图滑块图片---------------------------------------...

2019-08-30 01:15:24 4885 4

原创 破解58同城字体反爬

1. 前言最近接了一个私活,破解58同城的css反爬。现在决定把它开源出来,以便大家参考学习。2. 主题首先,打开页面,了解到这部分信息是有字体加密的。如下图:这部分信息包含 性别 年龄 学历 还有工作经验。 这部分信息需要经过转换,才能达到我们想要的数据。可以看到它数据加密部分,都引用了一个叫stonefont的class,我们观察一下这个class经过观察发现 这里引用了wo...

2019-08-14 18:59:01 5775 4

原创 反爬之字体图片反爬

在前端中,字体图标具有 轻量,灵活,兼容性好等优点,但是没想到有公司拿他做反爬手段。例如抖音。下面看下他怎么做的。我们直接打开页面,在我划箭头的数字地方,抖音都应用了字体图标反爬。接下来打开调试控制台,找到相应的css。 点击最右侧的css样式链接。“@font-face” 是前端中定义字体图标的固定写法。 我们直接找到后缀为.svg的url链接,下载下来 svg文件下载下来,用no...

2019-07-03 11:58:24 765

原创 opencv截帧后获取图片流

使用opencv截帧后。 拿到ndarray的frame对象直接frame.tobytes()是不行的,直接写入文件或上传到其它地方打不开。需要赋予原始frame一种格式才行。# frame 是ndarray对象,这里是把原始ndarray转成jpg的字节流,转成其它格式直接替换jpg即可data = cv2.imencode(".jpg", frame)[1].tobytes()转换后的...

2019-06-13 21:46:12 1211

原创 doc批量转成docx(doc batch convert docx)

随便新建个word打开.使用Alt+F11打开内置vba点击上方插入—> 模块在新窗口中粘贴复制如下代码Sub ConvertDocToDocx()'Updated by ExtendOffice 20181128 Dim xDlg As FileDialog Dim xFolder As Variant Dim xFileName As Strin...

2019-05-24 17:52:15 6410 1

原创 逆向js之解析响应加密信息

       前些时候,看到有人在群里发了一个网站,说是返回的data参数是加密信息, 无法解析data保存相关信息。 想到好久没写文章了,于是乎就去看了一下, 准备那这个当素材。       首先打开网站是这样的(网站地址: http://yc.wswj.net/ahsxx/LOL/public/public.ht...

2019-05-14 11:29:24 1271

原创 爬虫应对反爬之css反爬

最近看到一个网站有css反爬,感觉比较有意思,这里就顺手破解一下,纯做技术分享首先打开它的站点,感觉是个很low又没有任何反爬的站点,它长这样:很单纯的列表页,此页面无任何反爬,直接分析拿到详情页的地址即可。有意思的来了…任意打开一篇详情页文章可以看到它是一个字一个字的显示的,而有的字是不显示的,通过css障眼法隐掉不显示的字,剩下的就是完整的内容啦。可以看到这些字只有一个class...

2019-01-18 11:24:23 4122

原创 html文本保存为chm文档,并建立索引

上节讲解了如何抓取微信公众号文章,这节就来搞搞怎样保存,方便自己以后查阅。 这里我选择了chm。有三个原因:    1.chm可以建立索引,查阅文章比较方便    2. chm暂时没发现有啥存储问题,例如图片不显示    3. 管理方便,一个公众号一个chm那么接着上回...

2019-01-10 22:34:36 2980

原创 Python爬取微信公众号文章

本篇文章使用到的技术: mitmdump + 电脑版微信先分析打开可视化抓包工具, 勾选https代理。然后打开电脑版微信任意点击一个公众号,再点击查看历史消息打开后这样向下滑动右侧的滚动条,同时观察抓包软件,有新的数据加载即可停止滑动,仔细分析抓包软件的数据呐,接口已经找到了。 下面来分析它的请求参数上面这些参数我们后面通过mitmdump抓到就可以使用,关键点在于如何构...

2019-01-09 19:46:45 5986 2

原创 美拍小视频去水印

分享一下逆向js的经验进入美拍任意一个视频页面,通过F12控制台通过点击顺序到js中,全局搜索mp4,可以找到一下代码这里发现比较可疑,打个断点,重新刷新页面,断点到此处,然后点击下一步断点来到6114行,把鼠标放到a上,可以发现,就是页面传过来的data-video这个属性的值。可以发现,a这个变量经过了什么步骤,相应的函数在上方也有。至于有些里面有些 h,k是啥,在上面也有...

2018-12-13 21:36:21 2975 8

原创 airflow 修改中国时区(改airflow源码)

airflow默认使用utc时间,在中国时区需要用+8小时就是本地时间,下面把airflow全面修改为中国时区,带大家改airflow源码博主使用airflow版本是1.10.0,其它版本大同小异,参照修改即可1. 先讲使用 pip安装apache-airflow 的修改方式在airflow家目录下修改airflow.cfg,设置 default_timezone = Asia/...

2018-11-03 17:30:47 14038 22

原创 centos7 大数据任务调度系统airflow的安装(单机或分布式)

airflow的安装步骤1. 设置airflow的家目录位置2. 安装airflow3. 初始化airflow4. 修改mysql服务器的配置文件 my.cnf5. airflow建议两种运行方案 LocalExecutor或者CeleryExecutor6. 再次初始化数据库7. 启动web服务和调度服务即可本文使用的安装环境是python3, 建议单独设置虚拟环境进行安装。airflow s...

2018-10-26 09:52:16 1905

原创 pandas处理mongodb数据

使用pandas处理mongodb数据,转储为csvimport pymongoimport pandas as pdclient = pymongo.MongoClient('192.168.116.215')cur = client["库名"]["集合"]data = pd.DataFrame(list(cur.find()))del data["_id"]# 存储的时...

2018-03-27 10:35:13 1323 1

原创 opencv实现视频抽帧,作为其视频封面(python)

  在使用爬虫的过程中,爬到的视频没有视频封面,这时就需要我们手动给他添加一个视频封面,那么opencv就登场了,我们可以使用它抽取视频中的任意一帧保存下来,作为其视频封面import cv2def get_video_pic(name): cap = cv2.VideoCapture(name) cap.set(1, int(cap.get(7)/2)) # 取它的中间帧...

2018-03-12 20:56:20 4976 2

原创 windows部署SpiderKeeper(爬虫监控)

博主部署SpiderKeeper环境是windows, 相信用Linux的同学部署起来也没有任何问题.第一步:   mkvirtualenv 创建虚拟环境   Linux虚拟环境配置   Windows虚拟环境配置第二步:workon spiderkeeper (本人创建的虚拟环境spiderkeeper)pip install spiderkeeperpip instal

2018-02-07 05:05:33 6772 18

原创 centos 安装twisted 报错error: command 'gcc' failed with exit status 1

我的环境是 centos + python3.4 安装twisted报错,error: command ‘gcc’ failed with exit status 1 解决办法: yum install python34-devel安装完了就好了,针对这个问题,网上的版本太多,但是好像只有这个适合我

2018-01-30 17:03:22 855

原创 python虚拟环境配置

为了使开发环境互不影响,我们应该使用虚拟环境帮助我们去进行开发。 第一步:安装virtualenv     直接pip install virtualenv即可 第二步:使用virtualenvwrapper管理工具来管理我们的虚拟环境      pip install virtualenvwrapper 第三步: 编辑家目录下的 .bashrc # 虚拟环境存放位置expo

2018-01-28 13:57:57 623

原创 爬虫常用的小工具(谷歌插件)

为了方便爬虫代码的快速编写,及业务功能实现,现分享三个我常用的谷歌插件。 1. xpath,全名XPath Helper 在QUERY里可直接写XPATH规则,获取想要的数据 2. JSON-handle 此工具可把通过ajax请求网页的返回数据直接转换成比较好看的json格式,方便我们分析数据。 3.User-Agent Swicher 这个工具可直接修改

2018-01-18 19:57:49 17534

原创 安装Twisted报错:Microsoft Visual C++ 14.0 is required

安装Twisted报错如下: 解决方法:   1.进入http://landinghub.visualstudio.com/visual-cpp-build-tools页面    2.点击下载即可  3.一路next安装就可以啦! ps: 百度云下载:https://pan.baidu.com/s/1OZUrLvFSIXKkhRF7DOsvPA 密码:14js...

2018-01-16 11:38:20 1666

原创 快速解决No module named 'win32api'

启动scrapy的时候报这个错误,可使用pip install pypiwin32,是不是很方便呢

2018-01-16 10:48:39 3565 1

原创 json数据键值对两端没有引号怎么转字典

最近碰到一个网站,返回的数据巨恶心,如果用正则或者其它的方法一个一个找规则替换,非常麻烦。直接使用json.loads肯定是会报错的。   返回数据如下,具体多恶心,自己试一试就知道了!{ serverSeconds : 1515659363, last_time : 1515659104, path : [{title : "全部", id : "89", cType : "c

2018-01-13 20:08:42 3324

原创 针对文章内容进行去重

最近公司项目抓取新闻板块内容,但是多个网站之间,重复新闻的概率很高(因为大多数新闻网站的内容都是互相爬取的),所以我自己想了一个针对内容的去重方法。   大概思路是: 取文章当中最长的3句话(当然这个值可以自己随意指定),默认只接收列表,然后进行hash,把hash值存储在redis中,因为相同的内容生成hash值是一样,其实去重原理就跟scrapy-redis很类似…   具体实现代

2018-01-13 19:23:15 2455

空空如也

空空如也

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

TA关注的人

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