Mythsman


I wonder how the world builds software.


Spider


  1. 利用 Redsocks 解决透明代理的远程抓包问题

    背景 最近在做一些远程设备的抓包能力建设。具体来说是设备(基于 Docker 的 Redroid 云手机)在服务器上,抓包工具在本地( Mitmproxy , Charles, Fiddler 等类似工具),希望通过某种方法将远程设备上的流量打到本地的抓包工具上,并且流量通过本地的 IP 出到公网。 这样做的目的主要有两个: 1. 可以做到抓包工具和待抓包设备的分离。既能利用上强大的第三方抓包工具,又无需本地部署待抓包的设备。毕竟如果在远程服务器上部署抓包工具,操作起来就不那么方便,甚至可…

    Redroid, Network, Spider, Redsocks阅读全文

  2. 快手抓包问题分析

    背景 不知从什么版本后,对快手进行简单抓包似乎“不可行”了。表现就是使用常规的 HTTP 正向代理抓包工具(charles [https://www.charlesproxy.com/]、mitmproxy [https://mitmproxy.org/]、fiddler [https://www.telerik.com/fiddler] 之类)并且把自签名证书种到系统证书里后,数据依然能刷出来,也能抓到一些零星的报文,但是关键出数据的那些接口报文都没有。 一般来说,常规方法无法抓安卓应用的…

    Spider, Linux, Network阅读全文

  3. 移动爬虫虚拟化自动化方案调研

    背景 目前移动爬虫现有架构运行了大半年了,发现爬虫设备在长时间维护的时候会有很多问题: 1. 移动设备太多、用途不一,管理容易乱,IT审计设备时经常出现丢失的情况。 2. 一直插电导致移动设备的电池容易鼓包,有安全风险,而且使用寿命也较短,经常需要更换。 3. 办公环境经常出现断网检修、断电检修、安全检查等事情,导致服务可用性很低。 4. 设备申请和扩量比较困难,审批、采购、部署、拽线、移动设备初始化、主机申请、主机设备初始化等都很费劲。 5. 账号管理和充值很麻烦,sim卡分散到很…

    Spider, Redroid, Anbox阅读全文

  4. Android系统推送Hook实战

    背景 随着数据生产功能的逐渐稳定,工作重点开始从保证数据总量转移到了保证数据实效性 上来了。传统的定时爬虫能比较轻松的把数据总量做起来,但是对于很多热点数据,却很难做到实时获取。 考虑到大部分产品、尤其是新闻资讯类的产品,都会对热点数据做推送拉活,如果能拦截到这些数据,那么我们就能应当将数据实效性提升一个档次。 这次我们就主要尝试拦截下小米手机的系统通道的推送数据。当然,对于各个 App 自身的通道,也可以用类似的方法做到拦截,不过那就需要对各个 App 再做好保活。 推送流程 以小米官方…

    Android, Spider, Frida阅读全文

  5. Isaac64解密算法JNI的封装

    前言 众所周知,理论上最安全的加密方式是使用一次一密(OTP [https://en.wikipedia.org/wiki/One-time_pad] )。但是传递与明文长度相等的、完全随机的加密面板这件事情并不具有实践意义,因此就诞生了流密码(Stream Cipher [https://en.wikipedia.org/wiki/Stream_cipher] )。流密码将一个密钥作为种子,按照某种伪随机数生成算法生成供OTP使用的加密面板。有了加密面板之后,就可以逐字使用传统的 Vernam…

    Algorithm, Java, Spider, Isaac, Jni阅读全文

  6. Canvas指纹隐藏实战

    前言 前两天和隔壁做风控的同学聊天,据说他们经常使用浏览器指纹来识别和标记爬虫(当然具体的细节是不能透露的),联想到我们最近也经常遇到被风控的情况,于是就花了点时间研究下浏览器指纹相关的知识。 需要明确的是,“隐藏浏览器指纹”和“隐藏Webdriver/Selenium/Puppeteer”、“匿名浏览 ”都不是同一个问题。“隐藏Webdriver/Selenium/Puppeteer”的目的是告诉服务端自己不是自动化爬虫(这个似乎可以尝试用 stealth.min.js [https://…

    Spider, JavaScript, Canvas, Fingerprint阅读全文

  7. 好动校园理论考试破解(2/2)

    现在已经分析清楚了,就这么点玩意,照着之前分析出来的接口用python写个小脚本就行了。 hack.py #coding:utf-8 import urllib2,cookielib,urllib,json,sys,time login_system_url="http://appsrv.ihodoo.com/login" login_exam_url="http://appsrv.ihodoo.com/auth/exam/enterIndex?" get_paper_url="http:…

    Spider, Python阅读全文

  8. 好动校园理论考试破解(1/2)

    背景 不知道从什么时候开始,学校的体育理论考试搞成了下载一个app然后在这上面考。。。本来觉得没什么,然后突然爆出这个app有一坨bug,安卓端多选题只能提交一个答案(后来发现原因是多选题提交答案时的while循环里多写了一个break。。。),导致分数奇低。虽然后来做了一个紧急修复,但从这也能看出开发人员的尿性。。。再后来,有个专门搞app的同学说他能够刷到满分,我稍微想了下,这种考试型app的逻辑能够被破解,无非有两个方法:第一种就是记录所有模拟题库中的题目和答案,然后比对考题进行提交;第二…

    Spider, Python阅读全文

  9. 利用Python脚本爬取字体文件

    为了提高验证码的识别准确率,我们当然要首先得到足够多的测试数据。验证码下载下来容易,但是需要人脑手工识别着实让人受不了,于是我就想了个折衷的办法------自己造验证码。 为了保证多样性,首先当然需要不同的字模了,直接用类似ttf格式的字体文件即可,网上有很多ttf格式的字体包供我们下载。当然,我不会傻到手动下载解压缩,果断要写个爬虫了。 网站一:fontsquirrel.com 这个网站的字体可以免费下载,但是有很多下载点都是外链连接到其他网站的,这部分得忽略掉。 #coding:utf…

    Python, Spider阅读全文

  10. 网页的防采集方式-Token和Referer

    今天在写模拟登陆的时候遇到了一点问题,一个是在post数据中有许多随机串,让人摸不着头脑;另一个问题是明明已经post了正确的数据,然而还是莫名其妙的无法登陆。倒腾了半天终于发现了这原来是很多网站为了防止一些攻击所进行的安全保护措施,分别是token 和 referer防护。 Token Token实际上就是一个随机串,在含有input表单的页面内以一个‘hidden’表单实现。通常是以以下的形式: 这个信息会在post常规数据的时候被连带着post给服务器,服务器会判断token值…

    HTML, Spider, Python阅读全文